summaryrefslogtreecommitdiffstats
path: root/src/usr/local/sbin
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2016-01-28 17:57:37 -0600
committerChris Buechler <cmb@pfsense.org>2016-01-28 17:57:37 -0600
commit0c9b98c0731f6486ee0734f58a099cd6023077d8 (patch)
tree6fd4604c75225acb232649e2e630fd86eb3f2d84 /src/usr/local/sbin
parent7d8552fc50e0ea445fd59067f67b95557003f687 (diff)
downloadpfsense-0c9b98c0731f6486ee0734f58a099cd6023077d8.zip
pfsense-0c9b98c0731f6486ee0734f58a099cd6023077d8.tar.gz
Import David W's patch fixing issues with dhcp6c being launched multiple times in some circumstances. Ticket #5621
Diffstat (limited to 'src/usr/local/sbin')
-rwxr-xr-xsrc/usr/local/sbin/ppp-ipv68
1 files changed, 8 insertions, 0 deletions
diff --git a/src/usr/local/sbin/ppp-ipv6 b/src/usr/local/sbin/ppp-ipv6
index aa0536c..4d47de2 100755
--- a/src/usr/local/sbin/ppp-ipv6
+++ b/src/usr/local/sbin/ppp-ipv6
@@ -23,6 +23,10 @@ function interface_ipv6_lower($interface_real) {
switch ($ifcfg['ipaddrv6']) {
case 'slaac':
case 'dhcp6':
+ // Take no action if dhcp6 is active on the parent interface, not the PPP interface
+ if ($ifcfg['ipaddrv6']==='dhcp6' && !(isset($ifcfg['dhcp6usev4iface']) || $ifcfg['ipaddr']==='ppp')) {
+ break;
+ }
// bring down dhcp6c if it is running
$pidv6 = find_dhcp6c_process($interface_real);
if ($pidv6) {
@@ -63,6 +67,10 @@ function interface_ipv6_raise($interface_real) {
switch ($ifcfg['ipaddrv6']) {
case 'slaac':
case 'dhcp6':
+ // Take no action if dhcp6 is active on the parent interface, not the PPP interface
+ if ($ifcfg['ipaddrv6']==='dhcp6' && !(isset($ifcfg['dhcp6usev4iface']) || $ifcfg['ipaddr']==='ppp')) {
+ break;
+ }
$pidv6 = find_dhcp6c_process($interface_real);
if (empty($pidv6)) {
// only fire if router advertisements off
OpenPOWER on IntegriCloud