mirror of
https://github.com/pfsense/pfsense.git
synced 2025-10-26 11:38:35 +00:00
FreeBSD fails to set advskew back to 0 after you set it to any other
value. That's a separate issue that needs fixing upstream, but in the mean time, we can work around it by removing all CARP VIPs in the same way we do when "Temporarily Disable CARP" is chosen before adding them all back. Ticket #3910
This commit is contained in:
parent
569e2fdfac
commit
eea2ad5d61
@ -1374,10 +1374,22 @@ function interfaces_carp_set_maintenancemode($carp_maintenancemode){
|
||||
if (isset($config["virtualip_carp_maintenancemode"]) && $carp_maintenancemode == false) {
|
||||
unset($config["virtualip_carp_maintenancemode"]);
|
||||
write_config("Leave CARP maintenance mode");
|
||||
} else
|
||||
if (!isset($config["virtualip_carp_maintenancemode"]) && $carp_maintenancemode == true) {
|
||||
$config["virtualip_carp_maintenancemode"] = true;
|
||||
write_config("Enter CARP maintenance mode");
|
||||
if(is_array($config['virtualip']['vip'])) {
|
||||
$viparr = &$config['virtualip']['vip'];
|
||||
foreach ($viparr as $vip) {
|
||||
switch ($vip['mode']) {
|
||||
case "carp":
|
||||
interface_vip_bring_down($vip);
|
||||
//sleep(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!isset($config["virtualip_carp_maintenancemode"]) && $carp_maintenancemode == true) {
|
||||
$config["virtualip_carp_maintenancemode"] = true;
|
||||
write_config("Enter CARP maintenance mode");
|
||||
}
|
||||
}
|
||||
|
||||
$viparr = &$config['virtualip']['vip'];
|
||||
|
||||
Loading…
Reference in New Issue
Block a user