From: Eli Britstein Date: Thu, 23 Sep 2021 08:43:00 +0000 (+0300) Subject: app/testpmd: add tunnel types X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=ad6a8a20cb6be078575c7dab579877ab51c3cb4b;p=dpdk.git app/testpmd: add tunnel types 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@dpdk.org Signed-off-by: Eli Britstein Reviewed-by: Gregory Etelson --- diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index bdcd826490..23aa334cda 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -1249,6 +1249,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; @@ -1309,6 +1318,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);