[OpenWrt-Devel] [PATCH 1/2] Introduce new interface event "create" (IFEV_CREATE)

Hans Dedecker dedeckeh at gmail.com
Fri Jun 29 10:14:56 EDT 2018


On Fri, Jun 29, 2018 at 5:23 AM Alexander Couzens <lynxis at fe80.eu> wrote:
>
> "create" will be called before the proto handlers initialised.
Acked-by: Hans Dedecker <dedeckeh at gmail.com>
> ---
>  interface-event.c | 1 +
>  interface.c       | 1 +
>  interface.h       | 2 ++
>  3 files changed, 4 insertions(+)
>
> diff --git a/interface-event.c b/interface-event.c
> index 86e8f5488da8..a40f6dc883d3 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 2a23984922a1..400c605efc0c 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 0e58f69c26e0..e5639eb326cd 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 {
> --
> 2.18.0
>

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list