Redistribution for IPv6 is pretty similar to IPv4, the same rules and issues apply here. There is however one issue that only applies to IPv6 redistribution which I will show you here. This is the topology I will use:
R1 and R2 are configured to use EIGRP, R2 and R3 use OSPF. R2 is redistributing between the two routing protocols. The problem is that R1 is unable to reach 2001:0DB8:23:23::/64 and R3 is unable to reach 2001:0DB8:12:12::/64. Everything else is reachable…
Let’s check some routing tables, see what we are dealing with:
R1#show ipv6 route eigrp EX 2001:DB8:3:3::3/128 [170/1757696] via FE80::C002:17FF:FE28:0, FastEthernet0/0
R2#show ipv6 route D 2001:DB8:1:1::1/128 [90/409600] via FE80::C001:18FF:FEB0:0, FastEthernet0/0 O 2001:DB8:3:3::3/128 [110/10] via FE80::C003:FFF:FE10:0, FastEthernet0/1
R3#show ipv6 route ospf OE2 2001:DB8:1:1::1/128 [110/20] via FE80::C002:17FF:FE28:1, FastEthernet0/0
Looking at these routing tables, we can see that R1 knows how to reach the loopback of R3 and vice versa. Since we have something in the routing table, we know that the EIGRP and OSPF neighbor adjacencies are working. There are a couple of reasons why we could miss something in the routing table:
- Networks are not configured: Keep in mind that IPv6 routing protocols use their link-local IPv6 addresses for the neighbor adjacency.
- Filtering: Route filtering could filter some of the prefixes.
- Redistribution: Configuration errors with redistribution could cause issues.
Let’s check if those two networks are configured correctly, you could check the addresses or do a quick ping:
R2#show ipv6 interface brief FastEthernet0/0 [up/up] FE80::C002:17FF:FE28:0 2001:DB8:12:12::2 FastEthernet0/1 [up/up] FE80::C002:17FF:FE28:1 2001:DB8:23:23::2
R2#ping 2001:0DB8:12:12::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:12:12::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 8/15/28 ms
R2#ping 2001:0DB8:23:23::3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:23:23::3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/13/28 ms
It seems that these networks are configured and the pings are working. What about filtering? Normally I’d like to use specific show commands but in this case, checking the EIGRP and OSPF configs will be easier:
R1#show run | section ipv6 router ipv6 router eigrp 12 router-id 18.104.22.168 no shutdown
R2#show run | section ipv6 router ipv6 router eigrp 12 router-id 22.214.171.124 no shutdown redistribute ospf 1 metric 1500 100 255 1 1500 ipv6 router ospf 1 router-id 126.96.36.199 log-adjacency-changes redistribute eigrp 12
R3#show run | section ipv6 router ipv6 router ospf 1 router-id 188.8.131.52 log-adjacency-changes
These configurations are pretty straight-forward. There are no filters and no route-maps attached to the redistribution config, everything is looking good. So what’s the issue here?
Redistribution for IPv6 works a little bit different compared to IPv4. When you redistribute with IPv4, all networks that are advertised in your routing protocols will be redistributed…that includes the directly connected networks.
With IPv6, networks that are directly connected and advertised in your routing protocols are NOT redistributed by default…this is something we have to enable ourselves. Let me show you what I mean: