iface->state = IFS_DOWN;
switch (state) {
case IFS_UP:
+ case IFS_TEARDOWN:
interface_event(iface, IFEV_DOWN);
break;
case IFS_SETUP:
case IFS_UP:
case IFS_SETUP:
if (!iface->enabled || !link_state) {
- interface_proto_event(iface->proto, PROTO_CMD_TEARDOWN, false);
+ iface->state = IFS_TEARDOWN;
if (iface->dynamic)
__set_config_state(iface, IFC_REMOVE);
- mark_interface_down(iface);
+ interface_proto_event(iface->proto, PROTO_CMD_TEARDOWN, false);
}
break;
case IFS_DOWN: