From 10c15e535b04041795e3a85b2fb496bd6d856417 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 18 Apr 2012 00:01:14 +0200 Subject: [PATCH] fix flushing routes/addresses on connection loss --- interface.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; } -- 2.11.0