Use change here to be cleaner and less disruptive.

This commit is contained in:
Ermal 2011-07-25 19:36:18 +00:00
parent 073cd52e58
commit 74dafdec2b

View File

@ -216,8 +216,7 @@ EOD;
*/
if (is_ipaddr($gateway['gateway']) && $gateway['monitor'] != $gateway['gateway']) {
log_error(sprintf(gettext('Removing static route for monitor %1$s and adding a new route through %2$s'), $gateway['monitor'], $gateway['gateway']));
mwexec("/sbin/route delete -host " . escapeshellarg($gateway['monitor']), true);
mwexec("/sbin/route add -host " . escapeshellarg($gateway['monitor']) .
mwexec("/sbin/route change -host " . escapeshellarg($gateway['monitor']) .
" " . escapeshellarg($gateway['gateway']), true);
}
@ -403,12 +402,12 @@ function return_gateway_groups_array() {
$gateways_arr[$upgw]['gateway'] = get_interface_gateway($gateways_arr[$upgw]['friendlyiface']);
if (is_ipaddr($gateways_arr[$upgw]['gateway'])) {
log_error("Default gateway down setting {$upgw} as default!");
mwexec("/sbin/route delete -inet default; /sbin/route add -inet default {$gateways_arr[$upgw]['gateway']}");
mwexec("/sbin/route change -inet default {$gateways_arr[$upgw]['gateway']}");
}
} else {
$defaultgw = trim(`/sbin/route -n get -inet default | /usr/bin/grep gateway | /usr/bin/sed 's/gateway://g'`, " \n");
if ($defaultgw != $gateways_arr[$dfltgwname]['gateway'])
mwexec("/sbin/route delete -inet default; /sbin/route add -inet default {$gateways_arr[$dfltgwname]['gateway']}");
mwexec("/sbin/route change -inet default {$gateways_arr[$dfltgwname]['gateway']}");
}
unset($upgw, $dfltgwfound, $dfltgwdown, $gwname, $gwsttng);