Je pense que le soucis vient du fait qu'on ne peut pas avoir tous les /64 sur une seule interface... D’ailleurs, je sais même pas comment configurer le client DHCP pour avoir plusieurs demandes de IA_PD /64 (en admettant que la box accepte, ce qui m'étonnerais)
Testé avec
testdhcpv6pd, la lb supporte bien 2 ou plus demandes de prefix en 'meme temps'.
PS T:\dev\testdhcpv6pd> .\testdhcpv6pd -a 14 -p ::/64 -p ::/64 8
2025/03/11 22:01:34 Sending a DHCPv6-PD Solicit on interface Ethernet 10G Intel
[dhcpv6] 2025/03/11 22:01:34 sent message: Message{
MessageType=SOLICIT
TransactionID=0xd34841
Options: [
Client ID: DUID-LLT{HWType=Ethernet HWAddr=80:61:5f:0a:47:e9 Time=795042094}
Requested Options: DNS, Domain Search List
Elapsed Time: 0s
IAPD: IAID=0x00000001 T1=0s T2=0s Options=[
IA Prefix: {PreferredLifetime=0s, ValidLifetime=0s, Prefix=::/64, Options={[]}}
]
IAPD: IAID=0x00000002 T1=0s T2=0s Options=[
IA Prefix: {PreferredLifetime=0s, ValidLifetime=0s, Prefix=::/64, Options={[]}}
]
]
}
[dhcpv6] 2025/03/11 22:01:34 received message: Message{
MessageType=ADVERTISE
TransactionID=0xd34841
Options: [
Client ID: DUID-LLT{HWType=Ethernet HWAddr=80:61:5f:0a:47:e9 Time=795042094}
Server ID: DUID-LL{HWType=Ethernet HWAddr=58:1d:d8:63:ad:c0}
IAPD: IAID=0x00000001 T1=5m0s T2=8m0s Options=[
IA Prefix: {PreferredLifetime=10m0s, ValidLifetime=24h0m0s, Prefix=2a01:xxxx:xxxx:78d4::/64, Options={[]}}
]
IAPD: IAID=0x00000002 T1=5m0s T2=8m0s Options=[
IA Prefix: {PreferredLifetime=10m0s, ValidLifetime=24h0m0s, Prefix=2a01:xxxx:xxxx:78da::/64, Options={[]}}
]
Preference: [255]
DNS: [2a01:xxxx:xxxx:7800:5a1d:d8ff:fe63:adc0]
Domain Search List: [home]
]
}
2025/03/11 22:01:34 got a prefix = 2a01:xxxx:xxxx:78d4::/64 (pttl=10m0s,vttl=24h0m0s)
2025/03/11 22:01:34 got a prefix = 2a01:xxxx:xxxx:78da::/64 (pttl=10m0s,vttl=24h0m0s)
sauf que parfois ca propose 2 fois le meme .. (bug coté LB?).
du coup il serait plus safe de faire plusieurs demandes l'une a la suite.
selon la norme un meme client (identifié par son DUID) peut demander plusieurs prefixes (séparement ou d'un coup) en variant l'IAID de la demande. l'IAID est propre a chaque client donc 2 clients différents (DUID différents) peuvent avoir des IAID identiques.
concernant odhcpd, a regarder le code rapidement, il communique par
ubus donc on peut éventuellement lui envoyer des commandes par la (cf doc commande ubus, on peut lister les serveurs inscrits et faire des scripts avec pour piloter les services).
Dans le cas d'une propagation de PD, j'imagine que le client (odhcp6c) signale le lease reçu de la LB au serveur PD (odhcpd) via ubus. Le code ubus coté serveur ne fait état que de leases IPv4 et IPv6 (mais on voit bien "ipv6-prefix" dans l'ubus du code serveur). mais je ne vois rien dans odhcp6c concernant ubus...donc y'a surement un script shell qui gere odhcp6c et agit a la reception des leases. ll faudrait trouver ce script.
bref y'a moyen peut-etre par ce coté (scripts +ubus) mais je n'ai pas de plateforme/vm openwrt sous la main pour creuser plus et faire des tests