clear all remaining addresses on interface down
[project/netifd.git] / config.c
index 6019862..94a7fdb 100644 (file)
--- a/config.c
+++ b/config.c
@@ -10,7 +10,7 @@
 #include "interface.h"
 
 struct uci_context *uci_ctx;
-struct uci_package *uci_network;
+static struct uci_package *uci_network;
 bool config_init = false;
 
 enum {
@@ -34,7 +34,7 @@ config_parse_interface(struct uci_section *s)
 
        DPRINTF("Create interface '%s'\n", s->e.name);
 
-       iface = alloc_interface(s->e.name);
+       iface = alloc_interface(s->e.name, s);
        if (!iface)
                return;
 
@@ -180,6 +180,7 @@ config_init_interfaces(const char *name)
                if (!strcmp(s->type, "interface"))
                        config_parse_interface(s);
        }
+       cleanup_devices();
        config_init = false;
 
        start_pending_interfaces();