add .gitignore
[project/netifd.git] / config.c
index db69f9a..c8f7807 100644 (file)
--- a/config.c
+++ b/config.c
@@ -132,7 +132,7 @@ config_parse_bridge_interface(struct uci_section *s)
 
        uci_to_blob(&b, s, bridge_device_type.config_params);
        if (!device_create(name, &bridge_device_type, b.head)) {
-               DPRINTF("Failed to create bridge for interface '%s'\n", s->e.name);
+               D(INTERFACE, "Failed to create bridge for interface '%s'\n", s->e.name);
                return -EINVAL;
        }
 
@@ -148,8 +148,6 @@ config_parse_interface(struct uci_section *s)
        const char *type;
        struct blob_attr *config;
 
-       DPRINTF("Create interface '%s'\n", s->e.name);
-
        blob_buf_init(&b, 0);
 
        type = uci_lookup_option_string(uci_ctx, s, "type");
@@ -317,12 +315,10 @@ config_init_package(const char *config)
 void
 config_init_interfaces(const char *name)
 {
-       struct uci_context *ctx;
        struct uci_package *p = NULL;
        struct uci_element *e;
 
        p = config_init_package("network");
-       ctx = uci_ctx;
        if (!p) {
                fprintf(stderr, "Failed to load network config\n");
                return;
@@ -331,6 +327,7 @@ config_init_interfaces(const char *name)
        uci_network = p;
        config_init = true;
 
+       device_reset_config();
        config_init_devices();
 
        uci_foreach_element(&p->sections, e) {
@@ -342,8 +339,10 @@ config_init_interfaces(const char *name)
                if (!strcmp(s->type, "interface"))
                        config_parse_interface(s);
        }
-       device_free_unused(NULL);
        config_init = false;
 
+       device_reset_old();
+       device_init_pending();
+       device_free_unused(NULL);
        interface_start_pending();
 }