do not attempt to get an interface if PROTO_FLAG_NODEV is set
[project/netifd.git] / interface.h
index bde069c..72a00c9 100644 (file)
@@ -35,7 +35,7 @@ struct interface {
 
        char name[IFNAMSIZ];
 
-       bool active;
+       bool available;
        bool autostart;
 
        enum interface_state state;
@@ -46,11 +46,14 @@ struct interface {
        /* interface that layer 3 communication will go through */
        struct device_user *l3_iface;
 
+       struct config_state config;
+
        /* primary protocol state */
        const struct proto_handler *proto_handler;
        struct interface_proto_state *proto;
 
-       struct list_head address, routes;
+       struct vlist_tree proto_addr;
+       struct vlist_tree proto_route;
 
        /* errors/warnings while trying to bring up the interface */
        struct list_head errors;
@@ -66,6 +69,7 @@ void interface_free(struct interface *iface);
 
 void interface_set_proto_state(struct interface *iface, struct interface_proto_state *state);
 
+void interface_set_available(struct interface *iface, bool new_state);
 int interface_set_up(struct interface *iface);
 int interface_set_down(struct interface *iface);