[dpdk-stable] [PATCH V2 1/2] app/testpmd: add tunnel types
Eli Britstein
elibr at nvidia.com
Thu Sep 23 10:43:00 CEST 2021
Current testpmd implementation supports VXLAN only for tunnel offload.
Add GRE, NVGRE and GENEVE for tunnel offload flow matches.
For example:
testpmd> flow tunnel create 0 type vxlan
port 0: flow tunnel #1 type vxlan
testpmd> flow tunnel create 0 type nvgre
port 0: flow tunnel #2 type nvgre
testpmd> flow tunnel create 0 type gre
port 0: flow tunnel #3 type gre
testpmd> flow tunnel create 0 type geneve
port 0: flow tunnel #4 type geneve
Fixes: 1b9f274623b8 ("app/testpmd: add commands for tunnel offload")
Cc: stable at dpdk.org
Signed-off-by: Eli Britstein <elibr at nvidia.com>
---
app/test-pmd/config.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index f5765b34f7..2bb9fc6784 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1210,6 +1210,15 @@ port_flow_tunnel_type(struct rte_flow_tunnel *tunnel)
case RTE_FLOW_ITEM_TYPE_VXLAN:
type = "vxlan";
break;
+ case RTE_FLOW_ITEM_TYPE_GRE:
+ type = "gre";
+ break;
+ case RTE_FLOW_ITEM_TYPE_NVGRE:
+ type = "nvgre";
+ break;
+ case RTE_FLOW_ITEM_TYPE_GENEVE:
+ type = "geneve";
+ break;
}
return type;
@@ -1270,6 +1279,12 @@ void port_flow_tunnel_create(portid_t port_id, const struct tunnel_ops *ops)
if (!strcmp(ops->type, "vxlan"))
type = RTE_FLOW_ITEM_TYPE_VXLAN;
+ else if (!strcmp(ops->type, "gre"))
+ type = RTE_FLOW_ITEM_TYPE_GRE;
+ else if (!strcmp(ops->type, "nvgre"))
+ type = RTE_FLOW_ITEM_TYPE_NVGRE;
+ else if (!strcmp(ops->type, "geneve"))
+ type = RTE_FLOW_ITEM_TYPE_GENEVE;
else {
fprintf(stderr, "cannot offload \"%s\" tunnel type\n",
ops->type);
--
2.28.0.2311.g225365fb51
More information about the stable
mailing list