IPv6 Half-Truths

Read­ing Time: 2 min­utes

This post will be a short one, and most­ly just comes from a dis­cus­sion I had the oth­er day with anoth­er engi­neer.  It turns out that even among peo­ple who are com­fort­able with IPv6, and maybe even have expe­ri­ence deploy­ing it, a lot of mis­in­for­ma­tion still per­sists.  Hope­ful­ly I can cor­rect a cou­ple of those today.  I also tossed in a hot-pota­to at the end just to see how many folks get hopped up.  Dis­cus­sion is wel­come, and in addi­tion to com­ments here I can be found on twit­ter hid­ing behind the han­dle: @someclown.

You must turn on IPv6 by using the IPv6 uni­cast-rout­ing com­mand.

Not true.  This is one of the more per­sis­tent, yet wild­ly incor­rect, pieces of infor­ma­tion regard­ing IPv6.  I have even seen many train­ing cen­ters and instruc­tors at the CCIE lev­el get this one wrong and it falls into the cat­e­go­ry of atten­tion to detail.  What this com­mand actu­al­ly does is enable uni­cast rout­ing for IPv6, just as it says.  To actu­al­ly enable IPv6 you sim­ply need to go to any inter­face and use the ipv6 enable com­mand.  And yes, you can enable IPv6 on the inter­face with­out enabling uni­cast rout­ing.  Of course, it would be help­ful to have an address on the inter­face as well.

Yes, but if you don’t turn on uni­cast rout­ing you can’t route IPv6 traf­fic.

Not strict­ly speak­ing true.  You can still set up a default route for IPv6 traf­fic and get it off of your sys­tem.  To the extent that you want to argue whether or not this is actu­al­ly rout­ing is fine, but you can move IPv6 traf­fic off of your local device using a default route, and nev­er have enabled rout­ing for IPv6.

Using a /127 address on point-to-point links is wrong, wrong, wrong.

This is an inter­est­ing one, and usu­al­ly sparks a fair amount of debate.  Up until very recent­ly, the rec­om­men­da­tion across the board (RFC 4291) was to use /64 address­es even on point-to-point links, osten­si­bly because the IPv6 space is so big any­how, and because sev­er­al pro­to­cols will break (notably sub­net-router any­cast, spec­i­fied in RFC 3627).  While I’m not dis­put­ing that this is what the cur­rent best-prac­tices reflect, I will say that RFC 6164 which has a sta­tus of Pro­posed Stan­dard makes a fair­ly com­pelling case for using /127 on point-to-point links.  I’m sure this won’t be resolved any­time soon, stan­dards or no, but I would say that if you have a com­pelling rea­son for using /127 and know what you’re doing it for, go for it.  Just be aware that stan­dards can change, and you don’t want to leave a steam­ing pile for the poor per­son who has to fol­low you.