IPv6: Not a Router?
By stretch | Friday, April 9, 2010 at 1:11 a.m. UTC
I managed to frustrate myself recently (sadly, not an uncommon occurrence) while working on an IPv6 lab. One of the routers simply refused to pass traffic, and at first I could not figure out why. The solution was simple - and in hindsight, painfully obvious - but I decided to record it here for posterity.
Here we have a simple scenario, three routers connected in series:
R1 and R3 both have a static default IPv6 route installed, pointing toward R2 as the next hop. All interfaces are up, and you would assume they could ping one another.
R1# show ipv6 route IPv6 Routing Table - 4 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP U - Per-user Static route, M - MIPv6 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 S ::/0 [1/0] via 2001:DB8:0:12::2 C 2001:DB8:0:12::/64 [0/0] via ::, FastEthernet0/0 L 2001:DB8:0:12::1/128 [0/0] via ::, FastEthernet0/0 L FF00::/8 [0/0] via ::, Null0 R1# ping 2001:db8:0:12::2
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:0:12::2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/6/8 ms R1# ping 2001:db8:0:23::3
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:0:23::3, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
No luck. What gives? Let's start an IPv6 packet debug on R2 to hopefully shed some light on the issue.
R2# debug ipv6 packet IPv6 unicast packet debugging is on
Attempting our ping again from R1 elicits the following output from the debug on R2:
*Mar 1 00:14:14.575: IPV6: source 2001:DB8:0:12::1 (FastEthernet0/0) *Mar 1 00:14:14.575: dest 2001:DB8:0:23::3 (FastEthernet0/1) *Mar 1 00:14:14.579: traffic class 0, flow 0x0, len 100+14, prot 58, hops 64, not a router? *Mar 1 00:14:16.591: IPV6: source 2001:DB8:0:12::1 (FastEthernet0/0) *Mar 1 00:14:16.591: dest 2001:DB8:0:23::3 (FastEthernet0/1) *Mar 1 00:14:16.591: traffic class 0, flow 0x0, len 100+14, prot 58, hops 64, not a router? ...
"Not a router"? I don't want to get into a philosophical debate, I just want to ping, damnit. After a moment, though, the message clicks: R2 is indeed not an IPv6 router. Unlike its well-established predecessor, IPv6 routing does not yet come enabled out of the box. The administrator must enable it, which I forgot to do.
R2(config)# ipv6 unicast-routing
R1# ping 2001:db8:0:23::3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:0:23::3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/9/16 ms
Back on R2, our debug confirms R2 is indeed a router now:
*Mar 1 00:19:26.107: IPV6: source 2001:DB8:0:23::3 (FastEthernet0/1) *Mar 1 00:19:26.107: dest 2001:DB8:0:12::1 (FastEthernet0/0) *Mar 1 00:19:26.107: traffic class 0, flow 0x0, len 100+14, prot 58, hops 63, forwarding
As a footnote, IPv4 can also be toggled on and off with
no ip routing; great for pranking your coworkers, especially considering that
debug ip packet (the IPv4 packet debug) won't offer any clues.
About the Author
Jeremy Stretch is a network engineer living in the Raleigh-Durham, North Carolina area. He is known for his blog and cheat sheets here at Packet Life. You can reach him by email or follow him on Twitter.
Posted in IPv6
April 9, 2010 at 5:55 a.m. UTC
happened to me as well, but with ipv4. In these cases there will be no routing table, so i usually execute the "show ip route" to see whether "ip routing" is enabled or not.
April 9, 2010 at 6:04 a.m. UTC
good troubleshooting :)
April 9, 2010 at 6:41 a.m. UTC
Great footnote, this will keep my coworker happy and sharp :p
April 9, 2010 at 9:49 a.m. UTC
Nice. I have actually seen 'no ip routing' used deliberately in devices which are intended to behave as pure layer-2 switches, or as hosts (e.g. voice gateways). It's useful because it makes the output of 'show ip route' very different, making it clear that you're working on a layer-2 device.
April 9, 2010 at 9:59 a.m. UTC
Nice one, that's the kind of troubleshooting you will remember forever...
I just recalled my first L3 switch installation at CCNA times years ago... I missed the ip routing command for about 1 hour.... (not funny with static routes, no way to find a solution...)
April 9, 2010 at 11:03 a.m. UTC
I've gotten stuck on the same thing. :) I'm not sure how good the practice is, but I will use the
ipv6 unicast routing command on the router pointed to the IPv6 internet in my lab to "turn IPv6 on and off".
April 9, 2010 at 11:55 a.m. UTC
Stretch, if that is the case then how did you configure the R2 interfaces with IPv6 addresses without turning on IPv6 first? From what I remember the router does not allow you to do this without implementing the "ipv6 unicast-routing" first.
April 9, 2010 at 12:04 p.m. UTC
My mistake, it does allow you to address it, how stupid is that?!
April 9, 2010 at 9:23 p.m. UTC
Back in the day not having ip routing enabled was a frequent gotcha.
April 9, 2010 at 10:30 p.m. UTC
@Evan: Remember, just because it may not be an IPv6 router doesn't mean it can't be an IPv6 host (e.g. for administrative access).
April 10, 2010 at 3:14 a.m. UTC
Nice write up Stretch. I actually just completed a lab earlier today on your lab involving the command ipv6 unicast-routing. I'm getting ready to take the BSCI.
April 10, 2010 at 12:00 p.m. UTC
April 12, 2010 at 5:25 p.m. UTC
C'est ne pas un router.
April 18, 2010 at 5:30 a.m. UTC
Very good,thanks for share it!:-)
April 21, 2010 at 1:37 p.m. UTC
This must rank up there with forgetting to "no shut" an interface...
April 21, 2010 at 1:41 p.m. UTC
Additional IPv6 fun fact: if you're planning to enable IPv6 CEF, IPv4 CEF must be enabled first.
August 28, 2010 at 4:00 a.m. UTC
i was doing my uni assignment and stuck for hours to figure out how to troubleshoot that bloody "not a router?" debug message...
Funny thing is there is no info available on Google search. luckily i bumped into your life saving post here..lol
It was really worth posting it here, even though its a simple silly error (especially for n00b like me).
January 20, 2012 at 11:59 p.m. UTC
You just saved my day!!!!! My goodness...And there shall be light!!
July 23, 2012 at 2:35 a.m. UTC
Great post, i was hitting this too!!
October 12, 2012 at 8:29 a.m. UTC
Just got the same problem, thanks for this post!!
October 22, 2013 at 8:36 p.m. UTC
Thanx! This helped me a lot while I got stucked in NAT-PT lab
November 26, 2013 at 5:51 a.m. UTC
Thanks for the post! It's straight forward and very helpful.
December 22, 2014 at 7:06 a.m. UTC
you saved my time :)