If you are following the CCNA course, you will have a good understanding of EIGRP. With this simple yet effective protocol, we can set up routing in minutes. In this article, we are going to see how we can use EIGRP for IPv6. To do that, we will use the routers from the previous lab, but we will run IPv6 instead.
This article requires you to do some configuration. Because of that, we have an awesome Packet Tracer lab that you can download for free by using the link below.
Just download it, then unzip and open the file with Packet Tracer. You will try the commands you see in the lab, becoming a master of EIGRP for IPv6.
EIGRP for IPv6 Lab Intro
Lab Topology
For this lab, we kept the same topology of our previous article about EIGRP for IPv4. In fact, as from the picture below, we just have four routers in a circle.
To that, we need to add something we can’t see from the picture. In fact, all routers have a loopback interface with an IPv6 address. We pre-configured all IPv6 addresses so that we can focus on routing today. While doing so, we decided to stick with a clear addressing plan. Specifically, the interface ID on any network of a router will be its router name. Router 1 will always have ::1
, and Router 2 will always have ::2
and so on. To read in more detail our addressing plan, just check the table below.
Link | Network |
---|---|
R1-R2 | 2001:db8:1:2::/64 |
R1-R3 | 2001:db8:1:3::/64 |
R2-R4 | 2001:db8:2:4::/64 |
R3-R4 | 2001:db8:3:4::/64 |
R1 Loopback0 | 2001:db8:0:1::1/64 |
R2 Loopback0 | 2001:db8:0:2::2/64 |
R3 Loopback0 | 2001:db8:0:3::3/64 |
R4 Loopback0 | 2001:db8:0:4::4/64 |
The Requirements
A simple topology comes with simple requirements. Nonetheless, for this lab, we will use the same requirements of the IPv4 lab. Our ultimate goal is the EIGRP for IPv6 configuration on the entire network. We want that all routers can communicate with each other using IPv6, and we want to propagate routes with EIGRP. To define our requirement, we can think of it this way: all routers must see the loopbacks of the other routers.
Configuring EIGRP for IPv6
Defining the EIGRP for IPv6 instance
Configuring EIGRP for IPv6 is slightly different from traditional EIGRP. However, these differences are only configuration commands. The logic behind still remains the same: we have a neighbor table, a topology table, we run DUAL, and so on. Instead, Cisco changed the configuration commands to reflect the IPv6 routing standard.
The first thing we want to do, as always, is to create a new routing instance of EIGRP. Today, we are running EIGRP for IPv6, so we need to use ipv6 router eigrp
configuration command. This command expects us to type the Autonomous System ID (or Process ID), just like in IPv4. You could use any, but it must match on all routers. For this lab, however, use ID of 100 for scoring purposes.
Now, we need to define a router ID. Our routers have no IPv4 address at all, so they aren’t able to automatically use one of them as the Router ID. We need to define it manually. We will use 0.0.0.X
, where X
is the number of the router. For instance, R1 will be 0.0.0.1
. To define that, use eigrp router-id
. With this, we have created an instance of EIGRP for IPv6. But it hasn’t started just yet. By default, IPv6 routing protocols are configured while down. To bring our EIGRP instance to life, we need to type no shutdown
in the config-rtr
prompt. Now we have a running instance, ready to exchange updates.
Redistributing connected network
Like in our previous lab, we want to advertise the connected networks. In other words, our loopback interfaces won’t join the EIGRP for IPv6 process. They are loopbacks, “fake” interfaces. There is no reason for the router to listen for updates on them, nor to send hello packets. So, we just won’t add them to our routing process. Instead, we will redistribute them into it. This way, the router will take those interfaces for granted and advertise them in EIGRP.
To configure that, we use the same command we learned with IPv4: redistribute connected
. Type that in config-rtr
prompt, and you are good to go!
Adding interfaces to the EIGRP instance
Now, the fundamental step. At this point, we have a fully functional EIGRP for IPv6 instance. However, it is just waiting. Our routers are willing to talk, but aren’t talking with anyone. This is because we haven’t told them to do it. Now, we will tell them to look for neighbors on some specific interfaces. All routers use both GigabitEthernet 0/0
and GigabitEthernet 0/1
interfaces. On each, we need to type ipv6 eigrp
. In our case, the AS ID is 100, of course.
The full configuration
This is like the solution to our puzzle, the entire configuration of the lab. You should be able to configure everything with the information above, but here’s the correct configuration to check against. We can start with R1…
ipv6 router eigrp 100
eigrp router-id 0.0.0.1
no shutdown
redistribute connected
interface GigabitEthernet0/0
ipv6 eigrp 100
interface GigabitEthernet0/1
ipv6 eigrp 100
Then move to R2…
ipv6 router eigrp 100
eigrp router-id 0.0.0.2
no shutdown
redistribute connected
interface GigabitEthernet0/0
ipv6 eigrp 100
interface GigabitEthernet0/1
ipv6 eigrp 100
Then check R3…
ipv6 router eigrp 100
eigrp router-id 0.0.0.3
no shutdown
redistribute connected
interface GigabitEthernet0/0
ipv6 eigrp 100
interface GigabitEthernet0/1
ipv6 eigrp 100
And finally see R4…
ipv6 router eigrp 100
eigrp router-id 0.0.0.4
no shutdown
redistribute connected
interface GigabitEthernet0/0
ipv6 eigrp 100
interface GigabitEthernet0/1
ipv6 eigrp 100
Congratulations! You should have reached a score of 100%, completing this lab. However, we haven’t finished just yet: we need to learn how to troubleshoot EIGRP for IPv6.
Troubleshooting EIGRP for IPv6
As you will see in the following sections, troubleshooting EIGRP for IPv6 isn’t much different from IPv4. Cisco offers us a great set of tools, and we will see the most important ones.
Verifying adjacencies
As always, we want to start from troubleshooting adjacencies. Before doing something complex or advanced, we might want to check the basic stuff. If two routers don’t form an adjacency, they will never exchange routes. In the best case, this leads to suboptimal routing or isn’t even visible until link failure. In the worst cases, this creates network outages. So, we want to check if we see all the expected neighbors. We can do it by typing show ipv6 eigrp neighbors
, which will give you an output like the one below.
This command is identical to the one we used in IPv4. Same output, same columns, the same information. We can see the IPv6 address of each neighbor, and the interface we see the neighbor on. Then, we have some information about timing. It is interesting to see that all neighbors are listed with a link-local address. This is because EIGRP for IPv6 uses the link-local addresses to communicate and establish adjacencies. In other words, we are just checking the content of the neighbor table.
Verifying the topology
If all adjacencies are up, but you have problems with some routes, the next step is the topology table verification. This table contains the routes that EIGRP for IPv6 learned. Some, if not all of them, will be pushed in the routing table. If that doesn’t happen, probably the routing table is getting a preferrable route from another protocol for the same destination. However, if we are just running EIGRP, we won’t have that problem. Instead, we need to see if the topology table contains the route comings from routers far away in the topology. To do that check, we type show ipv6 eigrp topology
.
This command is very similar to its IPv4 version too. Each destination network shows its status, its Feasible Distance (FD), and the list of successors. As always, all destinations must be in the passive state (P at the beginning of the line). If they aren’t, the router is running DUAL to find a new route. In case you see a route stuck in the Active state, or flapping between states, then you have a routing problem, a redistribution problem, or a link flap problem.
After that, you see the list of successors for each route (lines starting with via
). For each, we see the outgoing interface and two numbers in brackets. The one before the slash is the feasible distance of the local router, the one on the right the advertised distance of the neighbor.
Other fancy commands
With the previous two commands, you can troubleshoot EIGRP for IPv6 easily. But this isn’t enough. Cisco offers you some other commands you might want to use. We can find two of them in packet tracer too:
show ipv6 eigrp interfaces
presents a summary of the interfaces running EIGRPshow ipv6 eigrp traffic
highlights the statistics of traffic generated by EIGRP
You will use them rarely but try them anyway. Get familiar with the output, it might always come handy!
Conclusion
With this article about EIGRP for IPv6, we finished our CCNA-level trilogy about EIGRP. If you have read it all, now you know all the basics of EIGRP, and you can configure it. To review the EIGRP for IPv6 configuration commands, you can check this bullet list. It contains the must-know commands.
- Create an EIGRP for IPv6 routing instance with
ipv6 router eigrp
, the AS ID must match on all routers - Here, you need to define a router ID with
eigrp router-id <ID>
, and turn on the process withno shutdown
- You can propagate connected networks without having them join the EIGRP for IPv6 instance. Use
redistribute connected
to do that - To associate an interface with the routing instance, type
ipv6 eigrp
at the interface configuration level - Troubleshoot with
show ipv6 eigrp neighbors
andshow ipv6 eigrp topology
Now, we are ready to face the remaining part of the CCNA. In the next articles, we will see a lot of cool things, like some new layer 2 links, tunnels, WAN connections, QoS, and more. And this is only possible if you have a good understanding of routing, as you should have after this article!