#include "netifd.h"
#include "device.h"
#include "interface.h"
+#include "interface-ip.h"
#include "proto.h"
#include "ubus.h"
#include "config.h"
static void
mark_interface_down(struct interface *iface)
{
+ interface_del_all_routes(iface);
interface_del_ctx_addr(iface, NULL);
- device_release(iface->main_dev.dev);
+ device_release(&iface->main_dev);
iface->state = IFS_DOWN;
}
if (iface->state != IFS_DOWN)
return 0;
- ret = device_claim(iface->main_dev.dev);
+ ret = device_claim(&iface->main_dev);
if (ret)
return ret;
device_add_user(&iface->main_dev, dev);
}
+ if ((cur = tb[IFACE_ATTR_AUTO]))
+ iface->autostart = blobmsg_get_bool(cur);
+ else
+ iface->autostart = true;
+
netifd_ubus_add_interface(iface);
+ config_set_state(&iface->config, attr);
return iface;
}