The default behavior of the dhcpv6-pd client contains a bit of a footgun. If you do not specify a duid in the config, dhcp6c will generate a random DUID on first start and store it into /var/lib/dhcpv6/dhcp6c_duid.
The problem is this file does not survive image upgrades. As such, after every upgrade, a new DUID will be generated and the ISP will almost certainly issue a different prefix.
There are a few ways out of this...
- We could symlink this file into the /config dir (or patch dhcp6c to write there to begin with)
- We could require a duid to always be specified in the config, since specifying a DUID by hand avoids dealing with that file entirely
For option 2 we could implement by either auto-generating a DUID and adding it to the config for you if you commit a dhcpv6-pd node without one, or erroring out (we should probably offer a generate dhcpv6 duid or some other operational mode command to make it easy for people to come up with DUIDs).