Properly remove IPv6 carp vips as reported from https://forum.pfsense.org/index.php?topic=84392.0
This commit is contained in:
parent
750c9ff69a
commit
e3cffd6cef
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
Reference in New Issue