diff options
author | David Wood <david@wood2.org.uk> | 2016-01-06 02:03:07 +0000 |
---|---|---|
committer | David Wood <david@wood2.org.uk> | 2016-01-06 02:38:06 +0000 |
commit | 3bcd4ff62371fe7bc53145e55ccdd2d479475ee6 (patch) | |
tree | cad7d859586b302826cea2cb9c1c02f6b6bd1abf /usr/local/sbin | |
parent | a31457d9614b7b3f57ea4864eca056a387a570c6 (diff) | |
download | pfsense-3bcd4ff62371fe7bc53145e55ccdd2d479475ee6.zip pfsense-3bcd4ff62371fe7bc53145e55ccdd2d479475ee6.tar.gz |
Prevent ppp-ipv6 from taking any action when dhcp6 is active on the parent interface, not the PPP interface
Diffstat (limited to 'usr/local/sbin')
-rwxr-xr-x | usr/local/sbin/ppp-ipv6 | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/usr/local/sbin/ppp-ipv6 b/usr/local/sbin/ppp-ipv6 index a05a4c2..b1cac73 100755 --- a/usr/local/sbin/ppp-ipv6 +++ b/usr/local/sbin/ppp-ipv6 @@ -25,6 +25,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'])) { + break; + } // bring down dhcp6c if it is running $pidv6 = find_dhcp6c_process($interface_real); if ($pidv6) { @@ -65,6 +69,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'])) { + break; + } $pidv6 = find_dhcp6c_process($interface_real); if (empty($pidv6)) { // only fire if router advertisements off |