From https://openwrt.org/docs/guide-user/network/ipv6/configuration , we have:
# cat /etc/config/network
config globals globals
option ula_prefix fd00:db80::/48
config interface wan6
option proto static
option ip6prefix 2001:db80::/56
...
config interface lan
option proto static
option ip6assign 60
option ip6hint 10
...
config interface guest
option proto static
option ip6assign 64
option ip6hint abcd
list ip6class wan6
...
The results of that configuration would be:
The lan interface will be assigned the prefixes 2001:db80:0:10::/60 and fd00:db80:0:10::/60.
The DHCPv6-server can offer both prefixes except 2001:db80:0:10::/64 and fd00:db80:0:10::/64 to downstream routers on lan via DHCPv6-PD.
The guest interface will only get assinged the prefix 2001:db80:0:abcd::/64 due to the class filter.
Well, The guest interface will only get assinged the prefix 2001:db80:0:abcd::/64 ... I do not see how this could be. First of all because 2001:db80:0:abcd::/64 is outside 2001:db80::/56 since only the last two hex digits in the network part of the address could be variable (2001:db80:0000:00XX). The hint should be of two hex digits for a /56 in wan.
Then, for a /64 subprefix in a /56 prefix, I think that the valid hints are 0x00 to 0xff, this excludes 0xabcd...