system-linux: handle hotplug event socket ENOBUFS errors
[project/netifd.git] / interface.h
index 7d5b3094346a9ac1f388caea76bbc740e300e09b..e5639eb326cd425e18d277c67ba983ecbeb68d85 100644 (file)
@@ -23,10 +23,13 @@ struct interface_proto_state;
 enum interface_event {
        IFEV_DOWN,
        IFEV_UP,
+       IFEV_UP_FAILED,
        IFEV_UPDATE,
        IFEV_FREE,
        IFEV_RELOAD,
        IFEV_LINK_UP,
+       /* send when a new interface created. This is before proto handlers has been attached. */
+       IFEV_CREATE,
 };
 
 enum interface_state {
@@ -155,6 +158,7 @@ struct interface {
        uint8_t assignment_length;
        int32_t assignment_hint;
        struct list_head assignment_classes;
+       int assignment_weight;
 
        /* errors/warnings while trying to bring up the interface */
        struct list_head errors;
@@ -183,6 +187,7 @@ void interface_set_available(struct interface *iface, bool new_state);
 int interface_set_up(struct interface *iface);
 int interface_set_down(struct interface *iface);
 void __interface_set_down(struct interface *iface, bool force);
+int interface_renew(struct interface *iface);
 
 void interface_set_main_dev(struct interface *iface, struct device *dev);
 void interface_set_l3_dev(struct interface *iface, struct device *dev);