Welcome back to this Cisco IPv6 series. In the previous article, we began looking at IPv6 routing by configuring different types of static routes. In this article, we will continue with IPv6 routing by implementing EIGRPv6 which is like normal EIGRP except that it is specifically for IPv6.
For this article, we will edit our network diagram to include another site – site B – as shown below:
I have configured site B and below are the configurations present on all the routers:
hostname CORE_RTR ! ipv6 general-prefix GEN-PREF 2001:DB8:1::/48 ipv6 unicast-routing ! interface FastEthernet1/0 no ip address ipv6 address FE80::1a link-local ipv6 address GEN-PREF ::A012:0:0:0:1/64 ! interface FastEthernet1/1 no ip address ipv6 address FE80::1b link-local ipv6 address GEN-PREF ::B012:0:0:0:1/64 ! ipv6 route 2001:DB8:1:A020::/64 FastEthernet1/0 2001:DB8:1:A012::2 ! !ACL used in debugging ipv6 access-list PING permit icmp any any echo-reply permit icmp any any echo-request !
hostname RTR_A ! ipv6 unicast-routing ! interface FastEthernet0/0 no ip address ipv6 address FE80::2A0 link-local ipv6 address 2001:DB8:1:A020::2/64 ipv6 enable ! interface FastEthernet0/1 no ip address ipv6 address FE80::2A link-local ipv6 address 2001:DB8:1:A012::2/64 !
hostname RTR_B ! ipv6 unicast-routing ! interface Loopback0 no ip address ipv6 address FE80::2B0 link-local ipv6 address 2001:DB8:1:B020::2/64 ! interface Loopback1 no ip address ipv6 address FE80::2B1 link-local ipv6 address 2001:DB8:1:B021::2/64 ! interface Loopback2 no ip address ipv6 address FE80::2B2 link-local ipv6 address 2001:DB8:1:B022::2/64 ! interface FastEthernet0/1 no ip address ipv6 address FE80::2B link-local ipv6 address 2001:DB8:1:B012::2/64 !
Note: I have edited the link-local addresses again to accommodate the newly added site.
Like I mentioned above, EIGRP for IPv6 (also known as EIGRPv6) is similar to EIGRP for IPv4 so if you are familiar with EIGRP for IPv4 (which I assume you are), then EIGRP for IPv6 should be easy for you to understand. There are some subtle differences as follows:
EIGRP for IPv6 is configured on a per-interface basis therefore it does not have the network statement
If there is no IPv4 address configured on the router, then you must specify a router ID for the EIGRPv6 process.
By default, the EIGRPv6 process is in a shutdown mode. You must use the no shut command to bring it up.
Let’s get right into it. We are assuming the two sites A and B belong to the same organization so we will use just one EIGRP AS, say 10. The command to enable EIGRPv6 on an interface is quite easy: ipv6 eigrp <AS_number>.
Note: IPv6 routing must be enabled on the router for EIGRPv6 to be enabled on the interfaces.
At this point, we can view the EIGRPv6 topology on one of the routers to see that the EIGRPv6 process is still shutdown.
Therefore, we need to bring up the EIGRPv6 processes on our routers using the no shut command under the ipv6 router eigrp <AS_number> global configuration command.
As you can see above, bringing up the EIGRPv6 process using the no shut command is not enough because there is no router ID. We either need to configure a router ID using the router-id command or the router must have one IPv4 address configured. I will configure an IPv4 address on RTR_A’s Fa0/0 interface and use the router-id command on the CORE_RTR and RTR_B.
Note: On the 7200 CORE_RTR with 15.2 IOS, the command to set the router ID is eigrp router-id while on the other routers with 12.4 IOS, the command is just router-id . However, even the 7200 router will accept the router-id command and probably change it to the eigrp router-id format.
Let’s view the IPv6 routing table to see our EIGRPv6 routes. We will look at the routing table of the RTR_A as an example:
To test, I will ping one of RTR_B’s loopback interfaces from RTR_A.
Cool, so we have connectivity.
Side note: Since we have configured EIGRP, we can now remove the static route we configured on the CORE_RTR from the previous article.
EIGRPv6 show commands
Let us look at a few EIGRPv6 commands. They are similar in syntax to their EIGRP for IPv4 counterpart. The first on the list which we have used above to view the router ID is the show ipv6 eigrp topology command.
We also have the show ipv6 eigrp neighbors command to view the EIGRPv6 neighbors.
We can view information about the interfaces on which EIGRPv6 has been enabled using the show ipv6 eigrp interfaces command.
Finally, we can view IPv6 routing protocols on the router using the show ipv6 protocols command.
EIGRPv6 summary address
In the second article of this series, we planned our addressing in such a way that site A will have the 2001:db8:1:a000::/52 prefix, site B will have 2001:db8:1:b000::/52 and so on. Therefore, it is possible to configure address summarization on the CORE_RTR. This is also done on a per-interface basis using the ipv6 summary-address
On the Fa1/0 interface of the CORE_RTR, we want to advertise the summary address of 2001:db8:1:b000::/52 and on its Fa1/1 interface, we will advertise the summary address of 2001:db8:1:a000::/52.
As with EIGRP for IPv4, creating a summary address will also create an entry for that summary address pointing to Null0 so that traffic sent to addresses that match the summary address but do not exist in the network do not keep bouncing back and forth.
Now, if we check the routing table of RTR_A and RTR_B, we should only see one EIGRPv6 route – the summary addresses.
Nice! We can test to ensure that we still have connectivity:
This brings us to the end of this article where we have configured EIGRP for IPv6. We have seen that it is similar to EIGRP for IPv4 except for a few differences like the fact that it is enabled on a per-interface basis.
EIGRPv6 also supports other features like authentication and stub routing which you may want to take a look at depending on what certification you want to write. I hope you have found this article insightful. In the next article, we will consider OSPFv3.
References and further reading
IPv6 Configuration Guide, Cisco IOS Release 15.2M&T: http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipv6/configuration/15-2mt/ip6-15-2mt-book.html
Null 0 stops routing loops, how and why are explained here: https://learningnetwork.cisco.com/thread/62541