diff options
-rw-r--r-- | etc/inc/system.inc | 2 | ||||
-rwxr-xr-x | etc/rc.newwanip | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/etc/inc/system.inc b/etc/inc/system.inc index 964004d..292770d 100644 --- a/etc/inc/system.inc +++ b/etc/inc/system.inc @@ -383,6 +383,8 @@ function system_routing_configure($interface = "") { if (isset($gateways_arr[$rtent['gateway']])) { $gatewayip = $gateways_arr[$rtent['gateway']]['gateway']; $interfacegw = $gateways_arr[$rtent['gateway']]['interface']; + if ($interface == $gateways_arr[$rtent['gateway']]['friendlyiface']) + continue; } else if (is_ipaddr($rtent['gateway'])) { $gatewayip = $rtent['gateway']; } else { diff --git a/etc/rc.newwanip b/etc/rc.newwanip index 57c48bd..7030b85 100755 --- a/etc/rc.newwanip +++ b/etc/rc.newwanip @@ -63,7 +63,7 @@ log_error("rc.newwanip: on (IP address: {$curwanip}) (interface: {$interface}) ( if($curwanip == "0.0.0.0" || !is_ipaddr($curwanip)) { log_error("rc.newwanip: Failed to update {$interface} IP, restarting..."); - interface_configure($interface); + send_event("interface reconfigure {$inerface}"); exit; } @@ -81,6 +81,9 @@ file_put_contents("{$g['vardb_path']}/{$interface}_cacheip", $curwanip); if (is_ipaddr($oldip) && $curwanip == $oldip) exit; +/* reconfigure static routes (kernel may have deleted them) */ +system_routing_configure($interface); + /* reconfigure our gateway monitor */ setup_gateways_monitor(); |