static void
interface_do_free(struct interface *iface)
{
+ if (iface->main_dev.dev)
+ device_remove_user(&iface->main_dev);
interface_set_proto_state(iface, NULL);
free(iface->config);
netifd_ubus_remove_interface(iface);
set_config_state(if_old, IFC_RELOAD);
free(old_config);
+ free(if_new);
}
static void
{
vlist_init(&interfaces, avl_strcmp, interface_update,
struct interface, node, name);
+ interfaces.keep_old = true;
+ interfaces.no_delete = true;
}