ppp-linkdown and ppp-linkup do not handle SLAAC, DHCP6 and DHCP-PD correctly
ppp-linkdown and ppp-linkup are not aware of SLAAC, DHCP6 and DHCP-PD. This has the following consequences:Link going down:
- a soon to be stale dhcp6c process is not killed
- a potentially stale address allocated by SLAAC remains in place
- a new (and potentially different) IPv6 address is not obtained via SLAAC or DHCP6 (as appropriate)
- prefix(es) are not redelegated via DHCP-PD
My ISP, Zen Internet, uses a fairly typical TR-187 configuration - local IPv6 address allocated via SLAAC from a statically allocated /64 and DHCP-PD from a statically allocated /48 for local networks.
Zen do not install the route to the /48 until DHCP-PD takes place. This means failure to restart DHCP-PD on a linkdown -> linkup transition leaves local IPv6 devices with no IPv6 Internet connectivity.
Improved versions of these scripts addressing these issues solve these problems in my environment. Pull requests against master and RELENG_2_2 will follow shortly.
Updated by Martijn Coenen about 7 years ago
I think this broke dhcpc6 for me on PPPoe; when I boot my system, there appears to be a race conditon where both rc.bootup and the new ppp-ipv6 script attempt to dhcp6 configure the pppoe interface. This results in dhcp6c being started twice, and the responses generated by my ISP get ignored with an "XID mismatch" message. It seems checking the pid file has an inherent race condition that is kind of hard to fix.