- if (!strcmp(type, "bridge"))
- interface_attach_bridge(iface, s);
+ if (opts[SIF_TYPE]) {
+ type = opts[SIF_TYPE]->v.string;
+
+ if (!strcmp(type, "bridge")) {
+ interface_attach_bridge(iface, s);
+ return;
+ }
+ }
+
+ if (opts[SIF_IFNAME]) {
+ dev = get_device(opts[SIF_IFNAME]->v.string, true);
+ if (!dev)
+ return;
+
+ add_device_user(&iface->main_dev, dev);
+ }