From d7b3d615104e357b57711988e7e01ca6ce25c6a2 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Thu, 28 Jul 2022 10:00:05 +0200 Subject: [PATCH] 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. --- src/etc/inc/system.inc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc index 9361427f5..12904ddc9 100644 --- a/src/etc/inc/system.inc +++ b/src/etc/inc/system.inc @@ -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);