A /56 is allocated to the cable modem, but only the first /59 (0) is routed initially. The next one (xx20::/59) may be allocated, perhaps to wifi. Each delegation establishes a route for a new /59 subnet. By requesting all possible delegations, one can force the whole /56 to be routed. But, more importantly, performing a release before renew avoids changing the SLA (/59 subnet) number(s):
release dhcpv6-pd interface eth1 renew dhcpv6-pd interface eth1
The relevant fragment of configuration for Ubiquiti's Edgerouter, reformatted for brevity:
interfaces {
ethernet eth0 { ... }
ethernet eth1 {
address 10.1.10.100/16
address 2603:3024:90c:9e00::2/60
/* omitted firewall, ipv6 stanzas */
ip { enable-proxy-arp }
dhcpv6-pd {
pd 0 {
interface eth0 {
host-address ::6
no-dns
prefix-id :1
service slaac
}
interface eth2 {
host-address ::2
no-dns
prefix-id :2
service slaac
}
prefix-length /59
}
pd 1 { prefix-length /59 }
pd 2 { prefix-length /59 }
pd 3 { prefix-length /59 }
pd 4 { prefix-length /59 }
pd 5 { prefix-length /59 }
pd 6 { prefix-length /59 }
pd 7 { prefix-length /59 }
rapid-commit disable
}
}
}
Thanks for these articles: prefix notes, based on prefix exhaustion by John Burwell.