Bug #5297
closedppp-linkdown and ppp-linkup do not handle SLAAC, DHCP6 and DHCP-PD correctly
0%
Description
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 David Wood about 9 years ago
Pull requests submitted:
master: https://github.com/pfsense/pfsense/pull/1961
RELENG_2_2: https://github.com/pfsense/pfsense/pull/1962
Updated by Chris Buechler about 9 years ago
- Status changed from New to Feedback
- Assignee set to Chris Buechler
- Affected Version changed from 2.2.4 to All
Thanks David! Both merged, leaving for additional testing confirmation once they're in a snapshot.
Updated by David Wood about 9 years ago
Supplementary pull request to fix master: https://github.com/pfsense/pfsense/pull/1963
Apologies - I forgot about the move to src when rebasing the changes.
Thanks for the merges.
Updated by Chris Buechler about 9 years ago
this works fine in a test setup. David, could you please confirm on your connection with the latest 2.2.5 snapshot? https://snapshots.pfsense.org
Updated by David Wood about 9 years ago
Tested and confirmed working correctly in pfSense-Full-Update-2.2.5-DEVELOPMENT-amd64-20151025-1504.tgz
Updated by Chris Buechler about 9 years ago
- Status changed from Feedback to Resolved
Thanks David. Works fine in all my tests too.
Updated by Martijn Coenen about 9 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.