summaryrefslogtreecommitdiffstats
path: root/etc/inc/interfaces.inc
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2014-03-11 08:38:19 -0300
committerRenato Botelho <garga@FreeBSD.org>2014-03-11 08:38:30 -0300
commit6b13f8d259ef268b13539d81fb5f8fe684e87e22 (patch)
treef5008abaabf1fd7b29fa530b4327d4f310047f36 /etc/inc/interfaces.inc
parent13c545c243ab7d2aa66cc45af311796052edc096 (diff)
downloadpfsense-6b13f8d259ef268b13539d81fb5f8fe684e87e22.zip
pfsense-6b13f8d259ef268b13539d81fb5f8fe684e87e22.tar.gz
Do not delete linklocal address
Diffstat (limited to 'etc/inc/interfaces.inc')
-rw-r--r--etc/inc/interfaces.inc7
1 files changed, 4 insertions, 3 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index fc3c831..212c011 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -2878,9 +2878,10 @@ function interface_configure($interface = "wan", $reloadall = false, $linkupeven
$tmpifaces = pfSense_getall_interface_addresses($realif);
if (is_array($tmpifaces)) {
foreach ($tmpifaces as $tmpiface) {
- if (strstr($tmpiface, ":"))
- mwexec("/sbin/ifconfig " . escapeshellarg($realif) . " inet6 {$tmpiface} delete");
- else {
+ if (is_ipaddrv6($tmpiface) || is_subnetv6($tmpiface)) {
+ if (!is_linklocal($tmpiface))
+ mwexec("/sbin/ifconfig " . escapeshellarg($realif) . " inet6 {$tmpiface} delete");
+ } else {
if (is_subnetv4($tmpiface)) {
$tmpip = explode('/', $tmpiface);
$tmpip = $tmpip[0];
OpenPOWER on IntegriCloud