I'm trying to figure out how to assign a "static" address that automatically sets the prefix to what the ISP delegates. It seemed like the token system would accomplish that, but reading the kernel source code, I've discovered that tokens only work with a /64 delegation. My ISP offers a /60, so the token is ignored and I get a random address, instead.
Is there some way to use prefix delegation to pick a /64 from the /60 and loop it back onto the same interface to make it use the token? Or is this /64 restriction actually a kernel bug?
See line 2788 here, where the token is ignored if the prefix isn't /64:
https://elixir.bootlin.com/linux/latest/source/net/ipv6/addrconf.c
Am I reading the code wrong? It looks like all the autoconf stuff that computes interface addresses breaks with smaller prefixes.