[ovs-dev] [PATCH v2 01/28] netdev: Add flow API uninit function
Maxime Coquelin
maxime.coquelin at redhat.com
Tue Apr 20 08:42:03 UTC 2021
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 <grive at u256.net>
> Reviewed-by: Eli Britstein <elibr at nvidia.com>
> ---
> 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 <maxime.coquelin at redhat.com>
More information about the dev
mailing list