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);