@Bowdon
Probably it is. I seem to remember seeing one model of expensive device that was upgraded by a software change. There is nothing that requires hardware changes for IPv6, it is all a matter or software, unless you have hardware acceleration in the device that is tied to IPv4 and which will be useless when presented with IPv6 because it doesn't understand the addresses or the protocol header formats. Stuff to do longest-prefix-match for routing, or content-addressable / associative memory, firewall matching accelerators that kind of thing. Indeed the bugs in the HG612, ZyXEL modem-routers and other devices that are all caused by their common Broadcom core hardware and software components, mentioned in other threads recently, were I think linked to hardware accelerators.
There are several things: firstly the new combined IPv4+IPv6 protocol stack, where IPv4 behaviour is sometimes upgraded in that it is handled using the enhanced algorithms used for IPv6. This happened in Windows Vista: WinXp had IPv6 code that was rather separate from the unchanged existing IPv4 code and was like an add-on, but in Vista from what I understand the whole lot was thrown out and a new combined piece of code based on IPv6 new wisdom was used to handle both, in the same way, as far as possible. The second thing is the matter of dealing with the awkward details of having two protocols and selecting which to use. Aside from the o/s: Web browsers have had to deal with the question of what to do if someone has a rubbish tunnelled IPv6 service and although the general opinion seems to be that IPv6 should be preferred (why?) then if it turns out to be rubbish the application needs to change its mind and go for IPv4. So it is a matter of which actually works. Some web browsers race the two protocols and whichever is the fastest to get started up wins. Quite a bit has been written about this. This issue could affect an o/s http library though and also can affect DNS where you may have a choice of which protocol to use to do DNS lookups.
Thirdly, the whole business of acquiring IPv6 addresses is different, with robust auto-config and no more reliance on DHCP or manual static configuration. ARP is rena
IPv6 mandates support for IPSEC, which is something new. I don't know how many o/s designer follow this ruling though. Mobile IPv6 is very nice (where you can move from one subnet to another and keep the same IPv6 addresses so that conversations/flows remain unbroken), the result of a lot of thought. However not so many operating systems seem to have it. Systems developed in the far east seem to be more enthusiastic.
Systems also have to get their minds right because multiple IP addresses per individuainterface are now commonplace.
Because IPv6 link-local addresses are now supported properly and handled properly by operating systems and apps (even though there is a link-local address range for IPv4 169.254.0.0/16 RFC 3927 it was more than a tad too late, and designers do not know how to handle it, whether to treat it as special, the way it should be, or not) there is now for the first time the issue of duplicate matching link-local addresses on different interfaces in the same machine. Apps and operatingsystems need some way to talk about these unambiguously or else there is chaos. Scope identifiers are used for this. Microsoft use the syntax eg fe80:db8::b011:0c5%8 when externalising IP addresses where the part after the percent sign is the interface identifier, an index into a table of attached interfaces.
At L5 and above, web browsers, web servers and operating systems’ http subsystems have had to deal with the embarrassment that a colon in a URL already means something, it is syntactically a ‘taken’ character, because it is already used for a port number, and in a numeric IPv6 address, hex digits can look like a domain name so numeric IPv6 addresses have to be wrapped in [ ] eg http://[2001:db8::]:8080/whatever. This required a new web standard, enhancing the spec of the syntax of the URL.
Manufacturers want to encourage new sales, so little incentive to upgrade software. Also because so many home routers nowadays include wireless that makes them become dated after a while and it is that which tends to push people towards upgrading, the continual innovation in wireless LAN technologies, fantastic things such as beamforming, better MIMO, higher speeds and enhanced multi-WAP coordination and handover protocols and goodness knows what else.