The premiere source of truth powering network automation. Open and extensible, trusted by thousands.

NetBox is now available as a managed cloud solution! Stop worrying about your tooling and get back to building networks.

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_R2_R3.png

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.

Posted in IPv6

Comments


Didzis Ozolins
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.


shivlu
April 9, 2010 at 6:04 a.m. UTC

good troubleshooting :)


RaSta
April 9, 2010 at 6:41 a.m. UTC

Great footnote, this will keep my coworker happy and sharp :p


Murali
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.


Marco Rizzi
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...)

:-)

Marco


gradgrind
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".


Evan
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.


Evan
April 9, 2010 at 12:04 p.m. UTC

My mistake, it does allow you to address it, how stupid is that?!


pompeychimes
April 9, 2010 at 9:23 p.m. UTC

Back in the day not having ip routing enabled was a frequent gotcha.


stretch
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).


UnderratedKing
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.


pradeep
April 10, 2010 at 12:00 p.m. UTC

Hi Stretch,

Nice troubleshooting.


Jim
April 12, 2010 at 5:25 p.m. UTC

C'est ne pas un router.


hp_sky
April 18, 2010 at 5:30 a.m. UTC

Very good,thanks for share it!:-)


bob
April 21, 2010 at 1:37 p.m. UTC

This must rank up there with forgetting to "no shut" an interface...


Philip
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.


OH BOY
August 28, 2010 at 4:00 a.m. UTC

Thanks Strech

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).

Thanks mate.


ciscom
January 20, 2012 at 11:59 p.m. UTC

You just saved my day!!!!! My goodness...And there shall be light!!


gnarly_packet
July 23, 2012 at 2:35 a.m. UTC

Great post, i was hitting this too!!


Alex
October 12, 2012 at 8:29 a.m. UTC

Just got the same problem, thanks for this post!!


Daro
October 22, 2013 at 8:36 p.m. UTC

Thanx! This helped me a lot while I got stucked in NAT-PT lab


Ashutosh
November 26, 2013 at 5:51 a.m. UTC

Thanks for the post! It's straight forward and very helpful.


A guest
December 22, 2014 at 7:06 a.m. UTC

you saved my time :)

Comments have closed for this article due to its age.