IPv6_EIGRP

I sometimes wonder how much it makes network engineers cringe when they look at a blog post (if any engineers do), and see my barely put together Topology not made in Visio as my diagram 🙂

Anyways this should be pretty quick, so far I have only configured the loopback and FastEthernet0/0 interfaces for the Ethernet segment, and configured EIGRP RID’s on all of them the exact same way as OSPF:

R3(config)#ipv6 router eigrp 100
R3(config-rtr)#router-id 3.3.3.3

Only of course I did that for R2, R3, and R4 because I am a nice guy like that. For the Fa0/0 interfaces I have no shut them and assigned only IP addresses shown in the Topology, so for the sake of testing we should be able to ping around quick from R2 to R3 and R4 as their on a shared Ethernet Segment of 2001::0/64:

R2(config-if)#do ping 2001::3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001::3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/2/8 ms
R2(config-if)#do ping 2001::4

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001::4, timeout is 2 seconds:
…..
Success rate is 0 percent (0/5)
R2(config-if)#

@_@. Already? Ahhh, no worries, cabling mis-hap in my semi-awake state, lets try again:

R2(config-if)#do ping 2001::4

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001::4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/2/8 ms
R2(config-if)#

There we go. So I have already enabled EIGRP AS 100 on all 3 routers, however I need to configure it interface by interface like OSPFv3:

R2(config-if)#ipv6 eigrp 100
R2(config-if)#
ASR>3
[Resuming connection 3 to r3 … ]

R3(config-if)#ipv6 eigrp 100
R3(config-if)#
ASR>4
[Resuming connection 4 to r4 … ]

R4(config-if)#ipv6 eigrp 100
R4(config-if)#

Simple enough, so at this point we aren’t going to see any EIGRP routes because we’re all already connected to eachother, but why have no adjacencies formed between the 3 routers? So the investigation begins, confirming first across all 3 routers with “sh ipv6 eigrp nei” that noone has a neighbor.

So I was on R2 reviewing the show run when I saw this oddity:

!
ipv6 router eigrp 100
 router-id 2.2.2.2
 shutdown
!
!

What? Routing process is shut down? Well lets no shut like an interface and see what happens I suppose:

R2(config-if)#exit
R2(config)#ipv6 router eigrp 100
R2(config-rtr)#no shut
R2(config-rtr)#
*Mar  1 22:52:33.402: %DUAL-5-NBRCHANGE: IPv6-EIGRP(0) 100: Neighbor FE80::21B:53FF:FE36:F2CC (FastEthernet0/0) is up: new adjacency
R2(config-rtr)#
R2(config-rtr)#do sh ipv6 eigrp nei
IPv6-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
(sec)         (ms)       Cnt Num
0   Link-local address:     Fa0/0             11 00:02:17    6   200  0  2
FE80::21B:53FF:FE36:F2CC

You have to be kitten me. This wasn’t on the training video course I am going with, so this was like turning over a rock, and finding IPv6 EIGRP gold my CCNP candidate friends.

So lesson # 1, in IPv6 if your neighbors aren’t forming adjacencies… no shut the ipv6 router eigrp # I guess.

That is really weird. Anyways, I wanted to know who it formed an Adjacency with as I hadn’t “no shut” any other routers, went to R3 and look at this:

R3(config-if)#
R3(config-if)#do sh ipv6 eigrp nei
IPv6-EIGRP neighbors for process 100
% EIGRP 100 is in SHUTDOWN
R3(config-if)#


So after going across all 3 routers, it wasn’t in that video because on code 15.x IOS, it doesn’t require the “no shut” in the router process, so maybe keep it in the back of your head for troubleshooting but my old crusty gear needs that extra kick to work.

^ This will be demonstrated below as I “no shut” the other R3 and R4:

R3(config)#ipv6 router eigrp 100
R3(config-rtr)#no shut
R3(config-rtr)#
*Mar  2 07:36:40.370: %DUAL-5-NBRCHANGE: IPv6-EIGRP(0) 100: Neighbor FE80::20E:D7FF:FE10:6C60 (FastEthernet0/0) is up: new adjacency
*Mar  2 07:36:40.370: %DUAL-5-NBRCHANGE: IPv6-EIGRP(0) 100: Neighbor FE80::21B:53FF:FE36:F2CC (FastEthernet0/0) is up: new adjacency
R3(config-rtr)#
ASR>4
[Resuming connection 4 to r4 … ]

*Mar  8 04:45:38.655: %DUAL-5-NBRCHANGE: EIGRP-IPv6 100: Neighbor FE80::20E:D7FF:FE10:6C60 (FastEthernet0/0) is up: new adjacency
R4(config-if)#
*Mar  8 04:52:06.939: %DUAL-5-NBRCHANGE: EIGRP-IPv6 100: Neighbor FE80::20F:23FF:FE09:B180 (FastEthernet0/0) is up: new adjacency
R4(config-if)#exit
R4(config)#ipv6 router eigrp 100
R4(config-rtr)#no shut

I kind of already knew something was up, because when I flipped to R4 via the access-server there I had the console messages for DUAL changes waiting for me, so with 15.x IOS code in the lab room ignore the “no shut” non-sense.

Now, back onto the lab, lets confirm all the neighbors are friends and saying Hellos to each other and being good neighbors:

R4(config)#do sh ipv6 eigrp nei
EIGRP-IPv6 Neighbors for AS(100)
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   Link-local address:     Fa0/0             13 00:05:31    9   200  0  4
    FE80::20F:23FF:FE09:B180
0   Link-local address:     Fa0/0             12 00:11:59    5   200  0  2
    FE80::20E:D7FF:FE10:6C60
R4(config)#

Ok, the link-local address is pretty irritating because that doesn’t show me which neighbor is actually there unless I run the command in detail, I would imagine:

R4(config)#do sh ipv6 eigrp nei det
EIGRP-IPv6 Neighbors for AS(100)
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   Link-local address:     Fa0/0             12 00:07:00    9   200  0  4
    FE80::20F:23FF:FE09:B180
   Version 12.4/1.2, Retrans: 0, Retries: 0, Prefixes: 1
   Topology-ids from peer – 0
0   Link-local address:     Fa0/0             13 00:13:28    5   200  0  2
    FE80::20E:D7FF:FE10:6C60
   Version 12.4/1.2, Retrans: 0, Retries: 0, Prefixes: 1
   Topology-ids from peer – 0
R4(config)#

Nope, no actual assigned IP addresses here, just that link-local address. I could see it using the RID here, but the link-local address that is only known by the remote router? Gah!

So at this point we have neighbors, but no routes for EIGRP in the IPv6 route table as we haven’t added any loopbacks, so lets get to that:

R4(config)#int lo4
R4(config-if)#ipv6 eigrp 100
R4(config-if)#
ASR>3
[Resuming connection 3 to r3 … ]

R3(config-rtr)#int lo3
R3(config-if)#ipv6 eigrp 100
R3(config-if)#
ASR>2
[Resuming connection 2 to r2 … ]

*Mar  1 22:59:01.626: %DUAL-5-NBRCHANGE: IPv6-EIGRP(0) 100: Neighbor FE80::20F:23FF:FE09:B180 (FastEthernet0/0) is up: new adjacency
R2(config-rtr)#
R2(config-rtr)#do sh ipv6 route eigrp
IPv6 Routing Table – 8 entries
Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
       U – Per-user Static route
       I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
       O – OSPF intra, OI – OSPF inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
       ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
       D – EIGRP, EX – EIGRP external
D   2003::/64 [90/156160]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
D   2004::/64 [90/156160]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0
R2(config-rtr)#do ping 2003::1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2003::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/4/16 ms
R2(config-rtr)#do ping 2004::1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2004::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/4 ms
R2(config-rtr)#

So that looks the same, however I want to get a bit of redistribution in here, and actually I want to get it on R4 to demonstrate some things not available on 12.x code.

And to note, most behavior issues on these older IOS images is IPv6, so my posts are valid for this exam and the information in them – Just to give myself some credibility… yeah.

So couple of things I want to point out when configuring your redistribution, as we know from IPv4 EIGRP has no seed metric so it must be added either on the Redistribution statement or by “default-metric # # # # #” in router configuration mode:

R4(config-if)#exit
R4(config)#ipv6 router eigrp 100
R4(config-rtr)#default-metric 1544 10 100 1 1500
R4(config-rtr)#redistribute connected ?
metric     Metric for redistributed routes
route-map  Route map reference
<cr>


R4(config-rtr)#redistribute connected
R4(config-rtr)#

So you can see there is still a metric and route-map available after redistribute command is going, but no subnets again because IPv6 don’t have time for none of that subnet business.

So lets look at R2’s route table:

R2(config-if)#do sh ipv6 route eigrp
IPv6 Routing Table – 8 entries
Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
       U – Per-user Static route
       I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
       O – OSPF intra, OI – OSPF inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
       ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
       D – EIGRP, EX – EIGRP external
D   2003::/64 [90/156160]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
EX  2004::/64 [170/1662976]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0

R2(config-if)#do ping 2004::1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2004::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/2/4 ms
R2(config-if)#

You can see still the same AD values for Internal and External, nothing fancy, basically the same as IPv4 with the small 12.x IOS caveat I stumbled upon.

So for redistributed routes, the difference from IPv4 to IPv6 is v4 will show D EX in it’s route table where IPv6 will just show EX in it’s route table for an EIGRP external route.

And that is it, I am going to enjoy the little bit of night I have left, next up will be RIPing!