IPv6 Feature Parity (Lack Of) Rant

Read­ing Time: 3 min­utes

The cur­rent state of IPv6 sup­port in many ven­dors prod­ucts makes me want to don­key-kick some­one right in the…  well, let’s just say it upsets me.

I have been lead­ing an IPv6 roll-out for some time now, among oth­er things, and have found some inter­est­ing and wide­ly dif­fer­ing lev­els of sup­port for the next gen­er­a­tion Inter­net Pro­to­col.  With some ven­dors, many things work and work well, while with oth­ers it’s as if things haven’t changed in a decade or more.  Even with the ven­dors who do have rel­a­tive­ly good sup­port for IPv6, how­ev­er, there remains often odd, even inex­plic­a­ble, gaps in that sup­port.  This has made our deploy­ment a lot more chal­leng­ing than it need­ed to be.

Much has been made of the chick­en-and-egg nature of the prob­lem: does demand dri­ve the sup­port, or does hav­ing sup­port cre­ate the demand?  Self-named ana­lysts, ven­dor rep­re­sen­ta­tives, media pun­dits, and even my dog seem to have an opin­ion on this, but I’ve heard lit­tle from the peo­ple in the trench­es actu­al­ly try­ing to imple­ment this stuff.  Imple­ment as in across the board full fea­ture par­i­ty, not half-assed or “it worked in the lab” analy­ses.

Fur­ther exas­per­a­tion comes as you fig­ure out that you don’t know what you don’t know, and get 65% into the project before you fig­ure out that some fea­ture is miss­ing.  A fea­ture like, say, HSRP.  When­ev­er I com­plain that HSRP sup­port is miss­ing (or oth­er FHRP) some­one inevitably sug­gests RA tun­ing as a solu­tion to the prob­lem, which is a bit like hand­ing some­one ask­ing for a Ham­burg­er a pop­si­cle; nice, but not the same.  Just how fast do you think you can achieve failover with RA tun­ing any­how?  And don’t even get me start­ed on what hap­pens in a dual stacked failover sce­nario where RA tun­ing is han­dling IPv6 and some FHRP is han­dling IPv4.  At least BFDv3 is avail­able for route failovers.

It’s not even that big, sig­nif­i­cant, oh-my-god fea­tures are always the ones miss­ing, how­ev­er.  Often times it’s the ran­dom, lit­tle fea­tures.  Cis­co’s ASA, for instance, can’t do state­ful failover using any­thing but an IPv4 address.  Why?  They’ve imple­ment­ed IPv6 ACLs, objects, NAT (god help us all) and a lot of the bulk got­ta-have-it fea­tures.  Why not failover?  Oh, and OSPFv3 sup­port is miss­ing too.   Why?  Dun­no.

Our UCS is no excep­tion to this rule, as almost noth­ing is IPv6 ready that I can find.  Dit­to for the VMware instal­la­tion we run on it.  Nev­er mind that we’re at the newest patch lev­els, run­ning VSphere 5, ESXi, etc.  View?  Nope, no sup­port there either.  Our NetApp array on the back-end?  The big beast with mul­ti­ple glo­ri­ous 10-Gig con­nec­tions?  Bubkiss for the IPv6 sup­port there as well.  Although they do have a nice bit of mar­ket­ing avail­able online here .  See if you can tell when they’ll have IPv6 sup­port from that doc­u­ment.

In all fair­ness here, I should point out that the Vir­tu­al Machines that you run in VMware, on the UCS do sup­port IPv6 just fine, or at least as fine as the indi­vid­ual OS you’re installing (see pre­vi­ous rant on Win­dows 7 here ).  SLES (Suse’s flag­ship serv­er prod­uct) sup­ports IPv6 from the com­mand line, for instance, but not from with­in YaST.  Not a big deal if you’ve used Lin­ux or any fla­vor of Unix for a while, but for a junior engi­neer?  That can mean more esca­la­tions and a more inef­fi­cient NOC.

In a lot of ways, actu­al­ly, the Oper­at­ing Sys­tem pur­vey­ors seem to be way ahead of most infra­struc­ture (net­work, stor­age, secu­ri­ty) providers in sup­port­ing IPv6–even with their flaws–but that may be sim­ply do to the amount of fea­tures they have to port vs. what a Cis­co, Juniper or HP has to sup­port.  The notable excep­tion here being Apple, which for some inex­cus­able rea­son just dropped IPv6 sup­port from their Air­port Wire­less prod­uct.

At the end of the day, I under­stand that rewrit­ing absolute­ly every­thing to sup­port an entire­ly new pro­to­col is incred­i­bly dif­fi­cult.  I also under­stand that IPv6 has some behav­iours that mean fea­ture par­i­ty is not always going to be at 100% because it just does­n’t make sense.  I even under­stand that fea­tures will be rolled out in some sort of pri­or­i­ty-ranked order, and that maybe man­age­ment inter­faces aren’t at the top of that list.  But what I don’t under­stand, or can’t get my head around, is why so many glar­ing incon­sis­ten­cies exist when we’ve had so long to work at it.  Or why some ven­dors give lit­tle more than lipser­vice to IPv6 while not sup­port­ing any of it in their prod­ucts.