Bug #5297


ppp-linkdown and ppp-linkup do not handle SLAAC, DHCP6 and DHCP-PD correctly

Added by David Wood over 7 years ago. Updated about 7 years ago.

PPP Interfaces
Target version:
Start date:
Due date:
% Done:


Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
Affected Architecture:


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
Link coming up:
  • 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.

Actions #2

Updated by Chris Buechler over 7 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.

Actions #3

Updated by David Wood over 7 years ago

Supplementary pull request to fix master:

Apologies - I forgot about the move to src when rebasing the changes.

Thanks for the merges.

Actions #4

Updated by Chris Buechler over 7 years ago

this works fine in a test setup. David, could you please confirm on your connection with the latest 2.2.5 snapshot?

Actions #5

Updated by David Wood over 7 years ago

Tested and confirmed working correctly in pfSense-Full-Update-2.2.5-DEVELOPMENT-amd64-20151025-1504.tgz

Actions #6

Updated by Chris Buechler over 7 years ago

  • Status changed from Feedback to Resolved

Thanks David. Works fine in all my tests too.

Actions #7

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.


Also available in: Atom PDF