[ovs-dev] [PATCH v1 01/23] netdev: Add flow API de-init function
Gaetan Rivet
grive at u256.net
Wed Feb 10 14:57:19 UTC 2021
Add a new operation for flow API providers to
deinitializes 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..4815a1bd2 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 *);
+
+ /* Deinitializes the netdev flow api. */
+ void (*deinit_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..3092f8d55 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->deinit_flow_api) {
+ flow_api->deinit_flow_api(netdev);
+ }
+
ovsrcu_set(&netdev->flow_api, NULL);
rfa = netdev_lookup_flow_api(flow_api->type);
ovs_refcount_unref(&rfa->refcnt);
--
2.30.0
More information about the dev
mailing list