On 4/12/21 5:19 PM, Gaetan Rivet wrote:
> Add a new operation for flow API providers to
> uninitialize when the API is disassociated from a netdev.
>
> Signed-off-by: Gaetan Rivet <[email protected]>
> Reviewed-by: Eli Britstein <[email protected]>
> ---
> lib/netdev-offload-provider.h | 3 +++
> lib/netdev-offload.c | 4 ++++
> 2 files changed, 7 insertions(+)
>
> diff --git a/lib/netdev-offload-provider.h b/lib/netdev-offload-provider.h
> index cf859d1b4..2127599d3 100644
> --- a/lib/netdev-offload-provider.h
> +++ b/lib/netdev-offload-provider.h
> @@ -90,6 +90,9 @@ struct netdev_flow_api {
> /* Initializies the netdev flow api.
> * Return 0 if successful, otherwise returns a positive errno value. */
> int (*init_flow_api)(struct netdev *);
> +
> + /* Uninitializes the netdev flow api. */
> + void (*uninit_flow_api)(struct netdev *);
> };
>
> int netdev_register_flow_api_provider(const struct netdev_flow_api *);
> diff --git a/lib/netdev-offload.c b/lib/netdev-offload.c
> index 6237667c3..deefefd63 100644
> --- a/lib/netdev-offload.c
> +++ b/lib/netdev-offload.c
> @@ -320,6 +320,10 @@ netdev_uninit_flow_api(struct netdev *netdev)
> return;
> }
>
> + if (flow_api->uninit_flow_api) {
> + flow_api->uninit_flow_api(netdev);
> + }
> +
> ovsrcu_set(&netdev->flow_api, NULL);
> rfa = netdev_lookup_flow_api(flow_api->type);
> ovs_refcount_unref(&rfa->refcnt);
>
Reviewed-by: Maxime Coquelin <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev