summaryrefslogtreecommitdiffstats
path: root/etc/inc/gwlb.inc
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2014-11-06 08:30:50 -0200
committerRenato Botelho <garga@FreeBSD.org>2014-11-06 08:30:50 -0200
commit3f6525c1ab0fd3f704ab8e23f935c475c3cbd16c (patch)
tree3fb77d769494ddc90665cfa22690a90e570230f1 /etc/inc/gwlb.inc
parente7752fc4ee8cd6384e51d45c61fa000cf2f195c0 (diff)
downloadpfsense-3f6525c1ab0fd3f704ab8e23f935c475c3cbd16c.zip
pfsense-3f6525c1ab0fd3f704ab8e23f935c475c3cbd16c.tar.gz
Make sure srcip has scope when it's link-local. Should fix #3969
Diffstat (limited to 'etc/inc/gwlb.inc')
-rw-r--r--etc/inc/gwlb.inc6
1 files changed, 5 insertions, 1 deletions
diff --git a/etc/inc/gwlb.inc b/etc/inc/gwlb.inc
index e32bea0..35fde30 100644
--- a/etc/inc/gwlb.inc
+++ b/etc/inc/gwlb.inc
@@ -214,7 +214,11 @@ EOD;
$gwifip = find_interface_ipv6($gateway['interface'], true);
}
}
-
+
+ /* Make sure srcip has scope defined when it's ll */
+ if (is_linklocal($gwifip) && !strstr($gwifip, '%'))
+ $gwifip .= '%' . $gateway['interface'];
+
if (!is_ipaddrv6($gwifip))
continue; //Skip this target
OpenPOWER on IntegriCloud