From: Felix Fietkau Date: Tue, 17 Apr 2012 22:01:14 +0000 (+0200) Subject: fix flushing routes/addresses on connection loss X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=10c15e535b04041795e3a85b2fb496bd6d856417;p=oweals%2Fnetifd.git fix flushing routes/addresses on connection loss --- diff --git a/interface.c b/interface.c index 6b95a6d..4605a66 100644 --- a/interface.c +++ b/interface.c @@ -311,8 +311,8 @@ interface_proto_cb(struct interface_proto_state *state, enum interface_proto_eve netifd_log_message(L_NOTICE, "Interface '%s' is now down\n", iface->name); interface_ip_set_enabled(&iface->config_ip, false); - system_flush_routes(); mark_interface_down(iface); + system_flush_routes(); interface_handle_config_change(iface); break; case IFPEV_LINK_LOST: @@ -322,6 +322,8 @@ interface_proto_cb(struct interface_proto_state *state, enum interface_proto_eve netifd_log_message(L_NOTICE, "Interface '%s' has lost the connection\n", iface->name); if (iface->state == IFS_UP) interface_event(iface, IFEV_DOWN); + mark_interface_down(iface); + system_flush_routes(); iface->state = IFS_SETUP; break; }