Hello, For the past few days, I am trying to configure IPv6 prefix delegation with systemd-networkd 261.2 on an ARM64 Raspberry Pi running ArchLinuxARM.
The setup is: * Raspberry Pi, aarch64 * systemd 261.2 * systemd-networkd * FRITZ!Box 7590 as upstream router * Ethernet interface `end0` as DHCPv6/PD uplink * WireGuard interface `wg0` as downstream interface The upstream configuration includes: ```ini [Match] Name=end0 [Network] Address=192.168.2.99/24 DHCP=ipv6 IPv6AcceptRA=yes [IPv6AcceptRA] DHCPv6Client=yes [DHCPv6] PrefixDelegationHint=::/62 RapidCommit=true UseDelegatedPrefix=true [Route] Gateway=192.168.2.1 Metric=100 ``` The downstream configuration (for a WireGuard tunnel) includes: ```ini [Match] Name=wg0 [Network] Address=10.91.0.1/24 IPv6AcceptRA=no IPv6SendRA=yes DHCPPrefixDelegation=yes [DHCPPrefixDelegation] UplinkInterface=end0 SubnetId=0x3 Announce=yes ``` The important observation is that DHCPv6 itself appears to work correctly. A packet capture on `end0` shows: ```text Solicit IA_PD ... ::/62 Reply IA_PD ... 2003:....::/62 ``` The FRITZ!Box therefore does provide the requested delegated `/62`. However, systemd-networkd does not appear to process the delegated prefix any further: * no `DHCP: received delegated prefix ...` message is logged * no `/64` is assigned to `wg0` * no corresponding DHCP-PD route appears on `wg0` I also tested the same DHCP prefix delegation mechanism with a temporary `dummy` downstream interface instead of WireGuard. The result was identical: only the link-local address was configured; no `/64` from the delegated `/62` was assigned. And I also tested several related configuration variants (`RapidCommit=false`, `WithoutRA=solicit`, `Assign`, `Token`, and disabling RA announcements), without changing the result. This looks very similar to the behaviour described in issue #34229: https://github.com/systemd/systemd/issues/34229 but the environment here is systemd 261.2 on aarch64. Maybe there is only a misconfiguration too? Could someone point me to what part of networkd's DHCP-PD processing should normally take the received IA_PD and assign the corresponding subnet to the downstream interface? Is there anything specific to systemd 261.2 that could explain this behaviour? I can provide the full networkd debug log and packet captures if useful. Many thanks and best regards, Andreas
