One of the obscure facts of IPv6 OSPF (OSPFv3) is that it uses a 32-bit router ID like OSPFv2. It's a reasonable choice, I haven't seen an OSPF network with more than a billion routers yet. However, could you guess how this requirement is implemented in Cisco IOS? OSPFv3 searches for an IPv4 address (effectively the same algorithm used by OSPFv2) to get the router ID for the IPv6 routing process. Neat, isn't it?
You might wonder what happens if you want to configure an IPv6-only router. OSPF won't start unless you configure the router ID manually. And, no, you cannot enter a number (which would be the expected format, as the router ID is just a number in the IPv6 world), you have to enter an IPv4 address. Long live IPv4 :))Here is a sample printout from a router. First, let's check the interface status:
Site-D(config)#do show ip interface briefNo IPv4 running anywhere. Good. Let's continue and configure IPv6:
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 unassigned YES manual up up
FastEthernet0/1 unassigned YES manual up up
Loopback0 unassigned YES manual up up
Site-D(config)#ipv6 unicastOops, IPv6 OSPF won't start if the router doesn't have an IPv4 address. Let's configure the router ID:
Site-D(config)#ipv6 router ospf 1
*Mar 1 01:18:46.423: %OSPFv3-4-NORTRID: OSPFv3 process 1 could not pick a router-id,
please configure manually
A.B.C.D OSPF router-id in IP address format
If you're a Cisco partner, you can run the Configuring OSPFv3 remote lab exercise free-of-charge from Partner Education Connection. Everyone else can get the same exercise as part of the IPv6 remote lab bundle from our learning store, where you can also buy the IPv6 Fundamentals, Design and Deployment (IP6FD) e-course.