In this post we will see how to configure dynamic routing (OSPF & EIGRP) in IPv6. To start with we will see how static routing configured & then move onto dynamic routing. Here is my topology for this post.
Interface configurations & basic IPv6 configurations of switches are like below.
3750B# ipv6 unicast-routing interface Loopback10 ipv6 address 2002:3750:B:10::2/64 interface Loopback100 ipv6 address 2002:3750:B:100::2/64 interface FastEthernet1/0/9 ipv6 address 2001:308:607C:1234::2/64 ! 3750A# ipv6 unicast-routing interface Loopback9 ipv6 address 2002:3750:A:9::1/64 interface Loopback99 ipv6 address 2002:3750:A:99::1/64 interface FastEthernet1/0/9 ipv6 address 2001:308:607C:1234::1/64
In static configuration of 3750A, you can route Loopback 10 & Loopback 100 network on to fa1/0/9 IP of 3750B. In switch B you can configure similar thing.
3750-a(config)#ipv6 route 2002:3750:b:10::/64 2001:308:607c:1234::2 3750-a(config)#ipv6 route 2002:3750:b:100::/64 2001:308:607c:1234::2 3750-b(config)#ipv6 route 2002:3750:a:9::/64 2001:308:607c:1234::1 3750-b(config)#ipv6 route 2002:3750:a:99::/64 2001:308:607c:1234::1
You can simplify this into single route entry as both Loopback 10 & 100 are in 2002:3750:b::/48 supernet. If required you can simply this further by putting a IPv6 default route ::/0 as there is only single exit path from 3750A.
3750-a(config)#ipv6 route 2002:3750:b::/48 2001:308:607c:1234::2 OR 3750-a(config)#ipv6 route ::/0 2001:308:607c:1234::2
Now you can check the reachability of network by ping from Loopback9 or 99 to Loopback 10 or 100.
3750-a#ping ipv6 2002:3750:b:10::2 source loop9 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2002:3750:B:10::2, timeout is 2 seconds: Packet sent with a source address of 2002:3750:A:9::1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/5/9 ms 3750-a#ping ipv6 2002:3750:b:10::2 source loop99 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2002:3750:B:10::2, timeout is 2 seconds: Packet sent with a source address of 2002:3750:A:99::1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/3/9 ms 3750-b#ping ipv6 2002:3750:a:9::1 source lo10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2002:3750:A:9::1, timeout is 2 seconds: Packet sent with a source address of 2002:3750:B:10::2 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/3/9 ms 3750-b#ping ipv6 2002:3750:a:9::1 source lo100 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2002:3750:A:9::1, timeout is 2 seconds: Packet sent with a source address of 2002:3750:B:100::2 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/3/9 ms
Now let’s move to dynamic routing in IPv6. First with EIGRP. You have to first remove static IPv6 routes. In IPv6 EIGRP few points to remember
1. Router ID still remain 32bits (which mean IPv4 address to be given)
2. Automatic Summarization is disabled by default.
3. Hello messages send to FF02::A (All EIGRP Router) multicast group address.
4. EIGRP Process starts in shutdown mode.
Here is the basic configuration. You have to define EIGRP process with an AS#. Each individual interface need to configure for EIGRP at interface level (not like in IPv4 network statement under EIGRP process). Here is the configuration you required.
3750-a# ipv6 router eigrp 100 eigrp router-id 10.10.10.1 interface Loopback9 ipv6 eigrp 100 interface Loopback99 ipv6 eigrp 100 interface fa1/0/9 ipv6 eigrp 100 3750-b# ipv6 router eigrp 100 eigrp router-id 10.10.10.2 interface Loopback10 ipv6 eigrp 100 interface Loopback100 ipv6 eigrp 100 interface fa1/0/9 ipv6 eigrp 100
Once you configure this you should see EIGRP adjacency established between two switches. Here are some verification commands you can use. You can see from SwitchB, they have learn two Loopbacks of switch A via EIGRP ( represent “D” in show ipv6 route output)
3750-b#sh ipv6 eigrp neighbors EIGRP-IPv6 Neighbors for AS(100) H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 Link-local address: Fa1/0/9 11 00:00:16 12 200 0 3 FE80::212:43FF:FEB6:6AC1 3750-b#sh ipv6 eigrp interfaces EIGRP-IPv6 Interfaces for AS(100) Xmit Queue Mean Pacing Time Multicast Pending Interface Peers Un/Reliable SRTT Un/Reliable Flow Timer Routes Lo10 0 0/0 0 0/1 0 0 Lo100 0 0/0 0 0/1 0 0 Fa1/0/9 1 0/0 12 0/1 56 0 3750-b#sh ipv6 eigrp topology EIGRP-IPv6 Topology Table for AS(100)/ID(10.10.10.2) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P 2001:308:607C:1234::/64, 1 successors, FD is 28160 via Connected, FastEthernet1/0/9 P 2002:3750:B:10::/64, 1 successors, FD is 128256 via Connected, Loopback10 P 2002:3750:A:9::/64, 1 successors, FD is 156160 via FE80::212:43FF:FEB6:6AC1 (156160/128256), FastEthernet1/0/9 P 2002:3750:A:99::/64, 1 successors, FD is 156160 via FE80::212:43FF:FEB6:6AC1 (156160/128256), FastEthernet1/0/9 P 2002:3750:B:100::/64, 1 successors, FD is 128256 via Connected, Loopback100 3750-b#sho ipv6 route IPv6 Routing Table - Default - 9 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, D - EIGRP, EX - EIGRP external ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 C 2001:308:607C:1234::/64 [0/0] via FastEthernet1/0/9, directly connected L 2001:308:607C:1234::2/128 [0/0] via FastEthernet1/0/9, receive D 2002:3750:A:9::/64 [90/156160] via FE80::212:43FF:FEB6:6AC1, FastEthernet1/0/9 D 2002:3750:A:99::/64 [90/156160] via FE80::212:43FF:FEB6:6AC1, FastEthernet1/0/9 C 2002:3750:B:10::/64 [0/0] via Loopback10, directly connected L 2002:3750:B:10::2/128 [0/0] via Loopback10, receive C 2002:3750:B:100::/64 [0/0] via Loopback100, directly connected L 2002:3750:B:100::2/128 [0/0] via Loopback100, receive L FF00::/8 [0/0] via Null0, receive 3750-b#ping 2002:3750:A:9::1 source l100 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2002:3750:A:9::1, timeout is 2 seconds: Packet sent with a source address of 2002:3750:B:100::2 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/5/9 ms
Finally lets look how we configure OSPF in IPv6. Usually this known as OSPFv3. In OSPF there are concept of Area & will put switch interconnection link to backbone area (or Area 0). 3750A loopback will be on Area 9 & 3750B loopback will be on Area 10. Here is the topology diagram with OSPF area.
In OSPFv3 few points to remember.
1. It is based on OSPFv2 (IPv4) with some enhancement
2. Only distribute IPv6 prefixes3. No Protocol Authentication supported.
4. Router ID is 32 bit.
In configuration wise it is very similar to EIGRP, except AREA number to be assigned to each network. Here is the configuration looks like in my example.
3750-a# ipv6 router ospf 1 router-id 10.10.10.1 interface Loopback9 ipv6 ospf 1 area 9 interface Loopback99 ipv6 ospf 1 area 9 interface FastEthernet1/0/9 ipv6 ospf 1 area 0 3750-b# ipv6 router ospf 1 router-id 10.10.10.2 interface Loopback10 ipv6 ospf 1 area 10 interface Loopback100 ipv6 ospf 1 area 10 interface FastEthernet1/0/9 ipv6 ospf 1 area 0
OSPFv3 adjacency should establish between two switches once you configure this. State “FULL” indicate OSPF is operational as normal. But you would noticed OSPF network type is BROADCAST (default behaviour of Ethernet interfaces) due to that it will elect DR/BDR in the OSPF adjacency process.
3750-b#sh ipv6 ospf neighbor Neighbor ID Pri State Dead Time Interface ID Interface 10.10.10.1 1 FULL/DR 00:00:36 1027 FastEthernet1/0/9 3750-b#sh ipv6 ospf interface fa1/0/9 FastEthernet1/0/9 is up, line protocol is up (connected) Link Local Address FE80::223:5FF:FE5F:FFC1, Interface ID 1027 Area 0, Process ID 1, Instance ID 0, Router ID 10.10.10.2 Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 10.10.10.1, local address FE80::212:43FF:FEB6:6AC1 Backup Designated router (ID) 10.10.10.2, local address FE80::223:5FF:FE5F:FFC1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:08 Index 1/1/3, flood queue length 0 Next 0x0(0)/0x0(0)/0x0(0) Last flood scan length is 2, maximum is 2 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 10.10.10.1 (Designated Router) Suppress hello for 0 neighbor(s)
Since inter-switch link is point-to-point you can simply change the dafault behavior by configuring “ipv6 ospf network point-to-point” on fa1/0/9 of both switches. Then no DR/BDR election & establishment of adjacency will be faster.
3750-a(config-if)#do sh ipv6 ospf nei Neighbor ID Pri State Dead Time Interface ID Interface 10.10.10.2 1 FULL/ - 00:00:38 1027 FastEthernet1/0/9 3750-a(config-if)#do sh ipv6 ospf int fa1/0/9 FastEthernet1/0/9 is up, line protocol is up (connected) Link Local Address FE80::212:43FF:FEB6:6AC1, Interface ID 1027 Area 0, Process ID 1, Instance ID 0, Router ID 10.10.10.1 Network Type POINT_TO_POINT, Cost: 1 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:05 Index 1/1/1, flood queue length 0 Next 0x0(0)/0x0(0)/0x0(0) Last flood scan length is 1, maximum is 4 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 10.10.10.2 Suppress hello for 0 neighbor(s)
Here are some more verification commands commonly used in OSPFv3
3750-a#sh ipv6 route ospf IPv6 Routing Table - Default - 9 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, D - EIGRP, EX - EIGRP external ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 OI 2002:3750:B:10::2/128 [110/1] via FE80::223:5FF:FE5F:FFC1, FastEthernet1/0/9 OI 2002:3750:B:100::2/128 [110/1] via FE80::223:5FF:FE5F:FFC1, FastEthernet1/0/9 3750-a#sh ipv6 ospf interface brief Interface PID Area Intf ID Cost State Nbrs F/C Fa1/0/9 1 0 1027 1 P2P 1/1 Lo9 1 9 6164 1 LOOP 0/0 Lo99 1 9 6165 1 LOOP 0/0 3750-a#sh ipv6 ospf database OSPFv3 Router with ID (10.10.10.1) (Process ID 1) Router Link States (Area 0) ADV Router Age Seq# Fragment ID Link count Bits 10.10.10.1 305 0x80000006 0 1 B 10.10.10.2 306 0x80000004 0 1 B Inter Area Prefix Link States (Area 0) ADV Router Age Seq# Prefix 10.10.10.1 1184 0x80000001 2002:3750:A:9::1/128 10.10.10.1 1174 0x80000001 2002:3750:A:99::1/128 10.10.10.2 885 0x80000002 2002:3750:B:10::2/128 10.10.10.2 885 0x80000002 2002:3750:B:100::2/128 Link (Type-8) Link States (Area 0) ADV Router Age Seq# Link ID Interface 10.10.10.1 300 0x80000002 1027 Fa1/0/9 10.10.10.2 357 0x80000002 1027 Fa1/0/9 Intra Area Prefix Link States (Area 0) ADV Router Age Seq# Link ID Ref-lstype Ref-LSID 10.10.10.1 306 0x80000001 0 0x2001 0 10.10.10.2 365 0x80000001 0 0x2001 0 Router Link States (Area 9) ADV Router Age Seq# Fragment ID Link count Bits 10.10.10.1 1182 0x80000002 0 0 B Inter Area Prefix Link States (Area 9) ADV Router Age Seq# Prefix 10.10.10.1 1198 0x80000001 2001:308:607C:1234::/64 10.10.10.1 305 0x80000001 2002:3750:B:100::2/128 10.10.10.1 305 0x80000001 2002:3750:B:10::2/128 Intra Area Prefix Link States (Area 9) ADV Router Age Seq# Link ID Ref-lstype Ref-LSID 10.10.10.1 1182 0x80000002 0 0x2001 0
I think from CCIE Wireless LAB exam perspective this basic configuration would be sufficient. But if you want learn about more advanced features of IPv6 routing configurations you can refer following configuration guides.
IPv6 Implementation Guide, Cisco IOS Release 15.2M&T
Related Posts
1. IPv6 Basics
2. Configuring IPv6 on WLC3.
