Prevent ppp-ipv6 from taking any action when dhcp6 is active on the parent interface, not the PPP interface

This commit is contained in:
David Wood 2016-01-06 02:03:07 +00:00
parent a31457d961
commit 3bcd4ff623

View File

@ -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