diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 8ca160bed..6cda4c563 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -1026,8 +1026,18 @@ function interface_ppps_configure($interface) } } - /* XXX should be limited to 'pppoev6' match but some ISPs seem to require both racing away */ - $ipv6_mode = ($ifcfg['ipaddrv6'] ?? 'none') != 'none' ? 'enable' : 'disable'; + $ipv6_mode = 'disable'; + + switch ($ifcfg['ipaddrv6'] ?? 'none') { + /* XXX should be limited to 'pppoev6' match but some ISPs seem to require both racing away */ + case 'dhcp6': + case 'pppoev6': + case 'slaac': + $ipv6_mode = 'enable'; + break; + default: + break; + } // Construct the mpd.conf file $mpdconf = <<