diff options
author | Ermal <eri@pfsense.org> | 2013-08-16 15:00:41 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2013-08-16 15:00:56 +0000 |
commit | f2999907925296e186326ffc41d461b6800a37b1 (patch) | |
tree | 1c93024fc208fa51c06417ea65f2b0f267044576 /etc | |
parent | d5707d335700b17c25b416de5c0d40190f78d884 (diff) | |
download | pfsense-f2999907925296e186326ffc41d461b6800a37b1.zip pfsense-f2999907925296e186326ffc41d461b6800a37b1.tar.gz |
Add also a special case so the correct ip is returned for the case when WAN is v4 PPP type and v6 is DHCP but with option fetch v6 info from v4.
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/interfaces.inc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 0f9f289..85b7476 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -4510,6 +4510,15 @@ function get_interface_ipv6($interface = "wan", $flush = false) { * the communication on WAN will be done over link-local. */ if (is_array($config['interfaces'][$interface])) { + switch ($config['interfaces'][$interface]['ipaddr']) { + case 'pppoe': + case 'l2tp': + case 'pptp': + case 'ppp': + if ($config['interfaces'][$interface]['ipaddrv6'] == 'dhcp6') + $realif = get_real_interface($interface, "inet6", true); + break; + } if (isset($config['interfaces'][$interface]['dhcp6prefixonly'])) { $curip = find_interface_ipv6_ll($realif, $flush); if ($curip && is_ipaddrv6($curip) && ($curip != "::")) |