X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=interface.c;h=4605a66737a438798db84b2f9173aea1bc7cc76c;hp=6b95a6db39ff66a5cae465bc4a8d8cd168d2ed09;hb=10c15e535b04041795e3a85b2fb496bd6d856417;hpb=bc214ca470015b12a4f905f57ba6f2352c60f5a5 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; }