First things first: routers using IOS are shipped with only IPv4 routing enabled by default. This means that when you turn on a Cisco router for the first time, you don’t have to type ip routing, but IPv6 is disabled by default, and you need to explicitly enable it with the ipv6 unicast-routing command.

Most of the commands will remain pretty much the same, with the exception that they will be introduced by the ipv6 command instead of the ip command. So for example, these are some IPv6 counterparts of some of the IPv4 commands that we have met in this series already:

  • ipv4 address $address/$netmask_bits
  • show ipv6 interface brief
  • ping ipv6 $address
  • show ipv6 route and ipv6 route
  • ipv6 router

Speaking about the ipv6 router command, here is where Cisco introduced the biggest differences: configuring OSPF in its IPv6 version is quite different but, luckily, easier.

Configuring OSPFv3

OSPFv3 is the IPv6 version of OSPF. There are two main differences between OSPFv2 and OSPFv3 when it comes to configure them on Cisco routers:

  • If your network is using IPv6 only, then OSPF will fail to generate a valid router ID. OSPFv2 does this automatically, selecting the highest IP address available on any IPv4 interface. Since you don’t have any IPv4 addresses to choose from, however, you need to specify a router ID manually
  • The network command and its confusion is gone. Now you enable OSPF directly in interface configuration mode rather than in OSPF configuration mode

These are the steps to configure OSPFv3 on IOS:

ipv6 router ospf $ospf_process_id
router-id A.B.C.D

Now, instead of specifying the network and the wildcard mask like it was necessary on the IPv4 version, you simply assign the interfaces that are going to run OSPF to your OSPF process id:

ipv6 ospf $process_id area $area_number

That’s it, you have now successfully configured OSPF.