nanog mailing list archives

Re: New Linksys CPE, IPv6 ?


From: Michael Dillon <wavetossed () googlemail com>
Date: Wed, 31 Mar 2010 23:40:10 +0000

Yes and no.  Many of the uber-cheap models simply don't have the processing
power or memory to do IPv6 well. (Some would say they don't do IPv4 well.
 I'm one of them.)  Pure here's-a-packet-here's-where-it-goes switching can
be done in almost any model as long as the v6 stack doesn't make the image
too large to fit in the 4K rom.

Flashback to 1989...
In 2003, Dallas Semiconductor tried to implement IPv6 on an 8051
microcontroller.
They started with an IPv4 stack and modified as needed but soon discovered that
it was easiest to just implement a dual stack that handled all the addresses
internally as 128 bit quantities regardless of whether or not they
were v6 or v4.
It worked and they did it in 64k of ROM. This was written up at the time, and
no doubt influenced many other implementors of v6 in non-UNIX embedded
systems. By the way, the 8051 was introduced by Intel back in 1980. It was
loosely related on the 8080 which powered many CP/M based computers
in the 80's that typically had 64K of RAM

On the more expensive,
higher end models, yes, they can run rather complex IPv4/6 stacks quite
well.

These so-called expensive models are the majority of the cable modem and
DSL market in the USA, often running Linux which has supported IPv6
for a decade.

However, the bottom is that there is simply little to no consumer
demand for IPv6 support -- esp. in North America (read: US) where most of
these things are sold.

In fact, consumer demand for IPv6 is close to 100%.

Consumers just want their Internet access to work trouble free and are not
interested in hearing excuses like "ARIN ran out of IP addresses" or, "We
can't add any more connections to our network because it is full". IPv6 lets
you keep on offering full Internet access and keep on growing the network
so that when a customer moves across town, you can connect them up
in their new home.

--Michael Dillon


Current thread: