+ interface_ip_init(iface);
+
+ blobmsg_parse(iface_attrs, IFACE_ATTR_MAX, tb,
+ blob_data(attr), blob_len(attr));
+
+ if ((cur = tb[IFACE_ATTR_PROTO]))
+ proto_name = blobmsg_data(cur);
+
+ proto_attach_interface(iface, proto_name);
+
+ if (!(iface->proto_handler->flags & PROTO_FLAG_NODEV) &&
+ (cur = tb[IFACE_ATTR_IFNAME])) {
+ dev = device_get(blobmsg_data(cur), true);
+ if (dev)
+ device_add_user(&iface->main_dev, dev);
+ }
+
+ if ((cur = tb[IFACE_ATTR_AUTO]))
+ iface->autostart = blobmsg_get_bool(cur);
+ else
+ iface->autostart = true;