Add support for configuring VXLAN-GPE's next protocol. The CLI is: vxlan-gpe protocol is <value>.
Example: flow create 0 transfer group 1 pattern eth / ipv6 / udp dst is 4790 / vxlan-gpe protocol is 0x04 / eth / ipv4 / tcp / end actions port_id id 1 / end Signed-off-by: Jiawei Wang <jiaw...@nvidia.com> Signed-off-by: Haifei Luo <haif...@nvidia.com> --- app/test-pmd/cmdline_flow.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 94827bcc4a..d25f941259 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -385,6 +385,7 @@ enum index { ITEM_GENEVE_OPTLEN, ITEM_VXLAN_GPE, ITEM_VXLAN_GPE_VNI, + ITEM_VXLAN_GPE_PROTO, ITEM_ARP_ETH_IPV4, ITEM_ARP_ETH_IPV4_SHA, ITEM_ARP_ETH_IPV4_SPA, @@ -1758,6 +1759,7 @@ static const enum index item_geneve[] = { static const enum index item_vxlan_gpe[] = { ITEM_VXLAN_GPE_VNI, + ITEM_VXLAN_GPE_PROTO, ITEM_NEXT, ZERO, }; @@ -4804,6 +4806,14 @@ static const struct token token_list[] = { .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_vxlan_gpe, hdr.vni)), }, + [ITEM_VXLAN_GPE_PROTO] = { + .name = "protocol", + .help = "VXLAN-GPE next protocol", + .next = NEXT(item_vxlan_gpe, NEXT_ENTRY(COMMON_UNSIGNED), + item_param), + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_vxlan_gpe, + protocol)), + }, [ITEM_ARP_ETH_IPV4] = { .name = "arp_eth_ipv4", .help = "match ARP header for Ethernet/IPv4", -- 2.34.1