improve interface for cleaning up unused devices
[project/netifd.git] / config.c
index a8796af..2fba534 100644 (file)
--- a/config.c
+++ b/config.c
@@ -158,7 +158,11 @@ config_parse_interface(struct uci_section *s)
        if (!iface)
                return;
 
-       proto_init_interface(iface, s);
+       blob_buf_init(&b, 0);
+       if (iface->proto_handler && iface->proto_handler->config_params)
+               uci_to_blob(&b, s, iface->proto_handler->config_params);
+
+       proto_init_interface(iface, b.head);
 }
 
 void
@@ -217,7 +221,7 @@ config_init_interfaces(const char *name)
                if (!strcmp(s->type, "interface"))
                        config_parse_interface(s);
        }
-       device_free_all();
+       device_free_unused(NULL);
        config_init = false;
 
        interface_start_pending();