It's user's responsibility to set correct flags, especially the G bit, to
distinguish the protocols, VXLAN and VXLAN-GBP, sharing the same port 4789.

It will be set to 0x8 if user does not specify the flags.

Fixes: da118115d95c ("app/testpmd: support matching any VXLAN field")
Signed-off-by: Minggang Li(Gavin) <gav...@nvidia.com>
---
 app/test-pmd/cmdline_flow.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index e1720e54d7..3947304b63 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -13598,7 +13598,8 @@ update_fields(uint8_t *buf, struct rte_flow_item *item, 
uint16_t next_proto)
                break;
        case RTE_FLOW_ITEM_TYPE_VXLAN:
                vxlan = (struct rte_vxlan_hdr *)buf;
-               vxlan->vx_flags = 0x08;
+               if (!vxlan->flags)
+                       vxlan->flags = 0x08;
                break;
        case RTE_FLOW_ITEM_TYPE_VXLAN_GPE:
                gpe = (struct rte_vxlan_gpe_hdr *)buf;
-- 
2.34.1

Reply via email to