You know something like IPv6 is a bad plan when in an afternoon you can design something that makes more sense and is easier to implement.
IPv6 is the perfect example of premature optimization. It was created way back in the 1990s before the truly modern internet had even appeared, and with no thoughts to backwards compatibility, upgradability or adaptability.
What’s going to happen is because people think the IPv6 space is so large that they will start encoding info in the actual address. When you do this, the possible address space of 2128 gets a hell of a lot smaller really damn fast.
Better would’ve been an address scheme that subsumed IPv4 into it and supported explicit encoding, and been perhaps a 512-bit space or larger. If IPv6 hadn’t been a perfect example of premature optimization and bad engineering, we could’ve had this and actually had some built-in security for the IoT devices we have now which weren’t even really conceived of in 1999.
Yes, yes, I know this is all impossible — now. After we’ve already settled on IPv6 and it’s all done. But if we’d just done something more intelligent, it would’ve been possible.
But too late for that, and now we have agony of the poorly-designed, difficult-to-implement crapfest that is IPv6.