diff options
-rw-r--r-- | interface-event.c | 1 | ||||
-rw-r--r-- | interface.c | 1 | ||||
-rw-r--r-- | interface.h | 2 |
3 files changed, 4 insertions, 0 deletions
diff --git a/interface-event.c b/interface-event.c index 86e8f54..a40f6dc 100644 --- a/interface-event.c +++ b/interface-event.c @@ -38,6 +38,7 @@ static const char * const eventnames[] = { [IFEV_FREE] = "free", [IFEV_RELOAD] = "reload", [IFEV_LINK_UP] = "iflink", + [IFEV_CREATE] = "create", }; static void diff --git a/interface.c b/interface.c index 2a23984..400c605 100644 --- a/interface.c +++ b/interface.c @@ -1275,6 +1275,7 @@ interface_update(struct vlist_tree *tree, struct vlist_node *node_new, set_config_state(if_old, IFC_REMOVE); } else if (node_new) { D(INTERFACE, "Create interface '%s'\n", if_new->name); + interface_event(if_new, IFEV_CREATE); proto_init_interface(if_new, if_new->config); interface_claim_device(if_new); netifd_ubus_add_interface(if_new); diff --git a/interface.h b/interface.h index 0e58f69..e5639eb 100644 --- a/interface.h +++ b/interface.h @@ -28,6 +28,8 @@ enum interface_event { 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 { |