summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/interfaces.inc8
-rwxr-xr-xusr/local/www/xmlrpc.php8
2 files changed, 12 insertions, 4 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index e8cf2de..9be8146 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -1194,8 +1194,12 @@ function interface_vip_bring_down($vip) {
break;
case "carp":
/* XXX: Is enough to delete ip address? */
- if (does_interface_exist($vipif))
- pfSense_interface_deladdress($vipif, $vip['subnet']);
+ if (does_interface_exist($vipif)) {
+ if (is_ipaddrv6($vip['subnet']))
+ mwexec("/sbin/ifconfig {$vipif} inet6 " . escapeshellarg($vip['subnet']) . " delete");
+ else
+ pfSense_interface_deladdress($vipif, $vip['subnet']);
+ }
break;
}
}
diff --git a/usr/local/www/xmlrpc.php b/usr/local/www/xmlrpc.php
index 92f2cf4..a44789d 100755
--- a/usr/local/www/xmlrpc.php
+++ b/usr/local/www/xmlrpc.php
@@ -271,8 +271,12 @@ function restore_config_section_xmlrpc($raw_params) {
/* Cleanup remaining old carps */
foreach ($oldvips as $oldvipif => $oldvippar) {
$oldvipif = get_real_interface($oldvippar['interface']);
- if (!empty($oldvipif))
- pfSense_interface_deladdress($oldvipif, $oldvipar['subnet']);
+ if (!empty($oldvipif)) {
+ if (is_ipaddrv6($oldvipif))
+ mwexec("/sbin/ifconfig " . escapeshellarg($oldvipif) . " inet6 " . escapeshellarg($oldvipar['subnet']) . " delete");
+ else
+ pfSense_interface_deladdress($oldvipif, $oldvipar['subnet']);
+ }
}
if ($carp_setuped == true)
interfaces_sync_setup();
OpenPOWER on IntegriCloud