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