system: ensure that _defaultgw files are written #5900

Ok so this might have been an issue in the past WRT DHCP client
and default route hanling which is now done another way but maybe
it shouldn't have.  For now just see how this works in practice
and then decide later if more needs to be done or not.
This commit is contained in:
Franco Fichtner 2022-07-28 10:00:05 +02:00
parent f8650c76aa
commit d7b3d61510

View File

@ -525,13 +525,6 @@ function system_default_route($gateway, $family, $interface, $far = false)
return;
}
$tmpcmd = "/sbin/route -n get -{$family} default 2>/dev/null | /usr/bin/awk '/gateway:/ {print $2}'";
$current = trim(exec($tmpcmd), " \n");
if ($current == $gateway) {
log_error("ROUTING: keeping current default gateway '{$gateway}'");
return;
}
if ($family == 'inet') {
foreach (glob('/tmp/*_defaultgw') as $to_delete) {
log_error("ROUTING: removing {$to_delete}");
@ -562,6 +555,13 @@ function system_default_route($gateway, $family, $interface, $far = false)
$realif = null;
}
$tmpcmd = "/sbin/route -n get -{$family} default 2>/dev/null | /usr/bin/awk '/gateway:/ {print $2}'";
$current = trim(exec($tmpcmd), " \n");
if ($current == $gateway) {
log_error("ROUTING: keeping current default gateway '{$gateway}'");
return;
}
mwexecf('/sbin/route delete -%s default', array($family), true);
if (!empty($realif)) {
mwexecf('/sbin/route delete -%s %s -interface %s', array($family, $gateway, $realif), true);