Hacker News new | past | comments | ask | show | jobs | submit login

SLAAC is fine, until you somehow get a subnet smaller than /64 on your router, in which case SLAAC completely breaks. I understand why SLAAC has such a limitation, but this is what we get.

It's not optimal, but the upstream network provider does not budge, and now everything except Android devices get IPv6 address via DHCPv6.




Unicast IPv6 addresses are required to have a 64 bit interface identifier and a 64 bit network identifier (e.g. /64), handing out subnets lower than /64 is not spec compliant.

Network operators can do crazy things, but if you color outside the lines things may break.


AFAIK, it's not strictly true that unicast addresses are required to use a /64 network identifier.

It's common, almost necessary even, for environments with dynamic clients to use /64 subnets (precisely so that SLAAC works), but in a static environment it's perfectly fine to use prefixes larger than /64 (e.g. delegate a /80 to each individual host in a datacenter, for virtualization applications etc).

Hence, I'm wondering what the spec is you mention that is broken?


RFC 4291 section 2.5.1

and to your point, yeah you can step outside the spec and things can work in controlled environments, but "there be dragons" when your dealing with interoperability on a large scale (in this case Android expecting /64s per the RFC)


Who's out there being so crazily stingy? Allocating a subnet that small is making things more complicated for no benefit.


Someone should double check me, but I think PD less than a /64 also just breaks (and probably is against the spec).

A lot of the complaints I have seen in the last decade is from ISPs doing silly things and cutting their teeth on fresh IPv6 deployments. My ISP seems to have their collective ducks in a row now, and it has been rock solid for years.

I actually had a case recently where a misbehaving IPv4 IoT device consumed my entire DHCP pool. IPv6 devices kept chugging along without any problem.


It probably is. I remember that putting a /72 into OpenWRT's `ip6prefix` field actually breaks the whole network stack (including IPv4, the interface no longer has any address assigned to it).


I wonder if that's an artifact of configuration-generation scripts detonating before they ever get around to writing out any configuration, leaving the network interfaces entirely unconfigured.


There was a proposal for variable length SLAAC, but it went nowhere

https://datatracker.ietf.org/doc/html/draft-mishra-6man-vari...




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: