How to Configure OSPFv3

Figure 1 shows the reference topology to Configure OSPFv3. Figure 2 shows the commands on how to configure OSPFv3 for IPv6 unicast and link-local addresses on the interfaces of Router1. Assume that the interfaces of Router2, Router3, and Router4 have already been configured with the global IPv6 address and link-local address, as identified in the referenced topology.

In this topology, none of the routers have been configured with dual stacking. A network with router interfaces configured with both IPv4 and IPv6 addresses is called a dual-stacked router. A dual-stacked network can have OSPFv2 and OSPFv3 simultaneously-enabled. Following are the important steps to configure OSPFv3 on the router.

  1. Configure global unicast address using.
  2. Configure link-local addresses. The link-local address is optional.
  3. Enable IPv6 unicast routing using the “ipv6 unicast-routing” command in global configuration mode.
  4. Configure a 32-bit router ID during OSPFv3 configuration on the router configuration mode using the “router-id rid” command.
  5. Adjusting the reference bandwidth is optional.
  6. Configure OSPFv3 interface-specific settings. For example, adjust the interface bandwidth.
  7. Enable IPv6 routing using the “ipv6 ospf area” command.
how to Configure OSPFv3

Enable IPv6 unicast-routing

Cisco routers do not have IPv6 routing enabled by default. IPv6 routing configuration required unicast-routing enabled on Cisco routers. So, to enable IPv6 unicast routing use the following command in global configuration mode.

Router(config)# ipv6 unicast-routing

How to configure OSPFv3 Router ID

We can configure OSPFv3 router ID using the command “ipv6 router ospf process-id” in IPv6 router configuration mode. The prompt for IPv6 router configuration mode is different than the IPv4 router configuration mode. Use the IPv6 router configuration mode to configure global OSPFv3 parameters, such as assigning a 32-bit OSPF router ID and reference bandwidth.

IPv6 routing protocols are enabled in an interface mode, not in router configuration mode, like IPv4. The network command also not exists in IPv6 routing. The process ID value is a decimal number from 1 to 65535 like OSPFv2. Which is only locally important and not have to match other OSPF routers to establish adjacencies with those neighbors?

OSPFv3 requires a 32-bit router ID before enabling OSPF on an interface. An explicitly configured router ID is preferred. If none are configured, then the router uses the highest IPv4 address configured for a loopback interface. If the loopback interface has not configured on the router; then router uses the highest configured IPv4 address of an active interface.

If there are no sources of IPv4 addresses on a router; then the router shows a console message to configure the router ID manually. The figure3 illustrates the process of assigning router ID and adjust the interface bandwidth.

Before entering the IPv6 router process, enable IPv6 unicast-routing, otherwise, it will give an error message “IPv6 routing not enabled “. The first command in figure3 enables IPv6 routing on the router. Then “ipv6 router ospf 10” enters the router OSPFv3 configuration mode.

Notice the prompt, it is different from IPv4 routing. Also, notice the informational console message appeared; when the OSPFv3 configuration mode was accessed. Its asked about the process ID, which is not configured yet.

Now assigns routing ID using the “router-id” command. In the figure, we have assigned the ID 10.10.1.1 to the router. Finally, I adjust the reference bandwidth using the “auto-cost reference-bandwidth 10000” command. Now, we can verify the OSPFv3 configuration using the “show ipv6 protocols” command.

Modifying an OSPFv3 Router ID

We can change the router IDs, such as, if we established a new router ID identification scheme. When OSPFv3 router establishes a router ID; that router ID cannot change until the router reloaded or the OSPF process has cleared. The best practice is to clear the OSPF process. Using the commands shown in figure 4 we can modify and change the IPv6 router ID.

You can see in the Figure that the OSPF routing process has cleared using the “clear ipv6 ospf process”, the privileged EXEC mode command. Doing this forces OSPF on Router1 to renegotiate neighbor adjacencies using the new router ID. We can again verify the modification using “show ipv6 protocols” command that the router ID has changed.

Enabling OSPFv3 on Interfaces

The method to enable OSPFv3 on the router is different. Instead of enabling OSPFv3 on an interface using the “network” command on the router configuration mode command, OSPFv3 is configured directly on the particular interface. Enters into interface configuration mode and uses the command  “ipv6 ospf process-id area area-id”. The process-id value identifies the specific routing process.

The ID must be the same as the process ID used to create the routing process in the “ipv6 router ospf process-id” command. We can select any area for the area ID. We have selected area 0 is the backbone area to which all other areas must attach, as shown in the figure5. Area0 helps in migration to multi-area OSPF if it is needed. We can verify the OSPFv3 configuration using privileged mode command “ show ipv6 ospf interface brief” command.

Verify and troubleshoot OSPFv3

OSPFv3 routing protocol is more complicated than OSPFv2 routing protocols, so verifying OSPFv3 and troubleshooting is not an easy task. There are several commands we can use to verify and troubleshoot an OSPF configuration and operation:-

Verify OSPFv3 Neighbors

We can use “show ipv6 ospf neighbor” command to verify that the router adjacency with its neighboring routers. If the router ID of the neighboring router not listed, or if the state of FULL not showing, the two routers have not formed an OSPFv3 adjacency.

So, if the two routers’ adjacency is not established, link-state information is not exchanged, and Incomplete LSDBs can affect SPF trees and routing tables. Routes to destination networks may not be found. The output parameters of this command are shown below:-

  • Neighbor ID– The unique ID of the neighboring router.
  • Pri– The OSPF priority of the interface. This value is used in the DR and BDR elections.
  • State– This is OSPF state of the interfaces. FULL state means that the router and its neighbor have identical OSPF LSDBs. The dash indicates that no DR or BDR is required because of the network type. On multi-access networks, such as Ethernet, two adjacent routers may have their states displayed as 2WAY. The DR show the adjacent router connected to this interface is DR.
  • Dead Time– The remaining time to receive an OSPF Hello packet from the neighbor before declaring the neighbor down. The value rested when the interface received a Hello packet.
  • Interface ID– The Interface ID or the link ID.
  • Interface– The interface on which this router has formed neighbor adjacency.

Verify OSPFv3 Protocol Settings

We can verify the OSPF protocol settings using the “show ipv6 protocols” to verify important OSPF configuration information. The command displays the OSPF process ID, the router ID, and the enabled interface for OSPFv3The figure-2 Illustrates the output of the “show ipv6 protocols” command. Use the command on other routers to verify the above information.

Verify OSPFv3 Interfaces

We can easily verify the OSPF interface settings using “show ipv6 ospf interface” command. This command provides a detailed list for every OSPF-enabled interface. We can also display the summary of the interfaces using the command “ show ipv6 ospf interface brief”.

Verify the IPv6 Routing Table

We can also check and verify the routing table for IPv6 using the command “show ipv6 route ospf”. The command output provides specifics about OSPF routes in the routing table.