Linux supports a feature called "IPv6 tokenized interface identifier": https://man7.org/linux/man-pages/man8/ip-token.8.html This feature allows setting an IPv6 address of an interface by combining the network prefix gotten from upstream router, with a statically configured host suffix. This is helpful in the case your network prefix is a subject to change, but you want to keep your host suffixes static.
I'm getting my IPv6 prefix through Router Advertisement, no DHCPv6 in use. The prefix is non-delegated, which requires every device that needs an IPv6 address to announce its address with NDP to the upstream router. This also means, that they are free to decide the host portion of the address by themselves, but the announced address must conform to the prefix announced by the upstream router.
Is there support for this "IPv6 tokenized interface identifier" feature in OpenWRT? I can't certainly find anything that mentions it. On command line, the ip
command looks like it would support the feature, because token
is mentioned in the usage.
# ip help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
where OBJECT := { link | address | route | rule | neigh | tunnel | maddress |
mroute | mrule | monitor | netns | macsec | token | ila |
vrf | sr }
However, trying it out, it fails:
# ip token set '::1' dev eth0.2@eth0
Object "token" is unknown, try "ip help".
Also, the documentation of UCI and Luci don't mention this feature anywhere. I'm also unable to find mentions on this forum, but I realise that I might be using just the wrong keywords for the search.
Any clues?