[ovs-dev] [PATCH 03/15] netdev-offload-dpdk: Implement flow dump create/destroy APIs
Eli Britstein
elibr at nvidia.com
Wed Jan 27 18:10:24 UTC 2021
When offloading vports, we don't configure rte_flow on the vport itself,
as it is not a physical dpdk port, but rather on uplinks. Implement
those APIs as a pre-step to enable iterate over the ports.
Signed-off-by: Eli Britstein <elibr at nvidia.com>
Reviewed-by: Gaetan Rivet <gaetanr at nvidia.com>
---
lib/netdev-offload-dpdk.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c
index f2413f5be..8cc90d0f1 100644
--- a/lib/netdev-offload-dpdk.c
+++ b/lib/netdev-offload-dpdk.c
@@ -1588,6 +1588,28 @@ netdev_offload_dpdk_flow_flush(struct netdev *netdev)
return 0;
}
+static int
+netdev_offload_dpdk_flow_dump_create(struct netdev *netdev,
+ struct netdev_flow_dump **dump_out,
+ bool terse OVS_UNUSED)
+{
+ struct netdev_flow_dump *dump;
+
+ dump = xzalloc(sizeof *dump);
+ dump->netdev = netdev_ref(netdev);
+
+ *dump_out = dump;
+ return 0;
+}
+
+static int
+netdev_offload_dpdk_flow_dump_destroy(struct netdev_flow_dump *dump)
+{
+ netdev_close(dump->netdev);
+ free(dump);
+ return 0;
+}
+
const struct netdev_flow_api netdev_offload_dpdk = {
.type = "dpdk_flow_api",
.flow_put = netdev_offload_dpdk_flow_put,
@@ -1595,4 +1617,6 @@ const struct netdev_flow_api netdev_offload_dpdk = {
.init_flow_api = netdev_offload_dpdk_init_flow_api,
.flow_get = netdev_offload_dpdk_flow_get,
.flow_flush = netdev_offload_dpdk_flow_flush,
+ .flow_dump_create = netdev_offload_dpdk_flow_dump_create,
+ .flow_dump_destroy = netdev_offload_dpdk_flow_dump_destroy,
};
--
2.28.0.546.g385c171
More information about the dev
mailing list