summaryrefslogtreecommitdiffstats
path: root/etc
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 /etc
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.
Diffstat (limited to 'etc')
-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