summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2013-08-16 15:00:41 +0000
committerErmal <eri@pfsense.org>2013-08-16 15:00:56 +0000
commitf2999907925296e186326ffc41d461b6800a37b1 (patch)
tree1c93024fc208fa51c06417ea65f2b0f267044576
parentd5707d335700b17c25b416de5c0d40190f78d884 (diff)
downloadpfsense-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.
-rw-r--r--etc/inc/interfaces.inc9
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 != "::"))
OpenPOWER on IntegriCloud