app/testpmd: support GENEVE header option length
The patch adds the GENEVE rte flow option length support to command line interpreter. The flow command with GENEVE option items looks like: flow create 0 ingress pattern eth / ipv4 / udp / geneve vni is 100 optlen is 2 / end actions drop / end The option length should be specified in 32-bit words, this value specifies the all options length in the GENEVE header. Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
This commit is contained in:
parent
55c074f3ba
commit
c68ad62f76
@ -223,6 +223,7 @@ enum index {
|
||||
ITEM_GENEVE,
|
||||
ITEM_GENEVE_VNI,
|
||||
ITEM_GENEVE_PROTO,
|
||||
ITEM_GENEVE_OPTLEN,
|
||||
ITEM_VXLAN_GPE,
|
||||
ITEM_VXLAN_GPE_VNI,
|
||||
ITEM_ARP_ETH_IPV4,
|
||||
@ -1101,6 +1102,7 @@ static const enum index item_gtp[] = {
|
||||
static const enum index item_geneve[] = {
|
||||
ITEM_GENEVE_VNI,
|
||||
ITEM_GENEVE_PROTO,
|
||||
ITEM_GENEVE_OPTLEN,
|
||||
ITEM_NEXT,
|
||||
ZERO,
|
||||
};
|
||||
@ -2807,6 +2809,14 @@ static const struct token token_list[] = {
|
||||
.args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_geneve,
|
||||
protocol)),
|
||||
},
|
||||
[ITEM_GENEVE_OPTLEN] = {
|
||||
.name = "optlen",
|
||||
.help = "GENEVE options length in dwords",
|
||||
.next = NEXT(item_geneve, NEXT_ENTRY(UNSIGNED), item_param),
|
||||
.args = ARGS(ARGS_ENTRY_MASK_HTON(struct rte_flow_item_geneve,
|
||||
ver_opt_len_o_c_rsvd0,
|
||||
"\x3f\x00")),
|
||||
},
|
||||
[ITEM_VXLAN_GPE] = {
|
||||
.name = "vxlan-gpe",
|
||||
.help = "match VXLAN-GPE header",
|
||||
|
Loading…
x
Reference in New Issue
Block a user