app/testpmd: support IPv4 fragments
This patch updates testpmd CLI to support fragment_offset field of IPv4 header item. To match on non-fragmented IPv4 packets, need to use pattern: ... ipv4 fragment_offset spec 0 fragment_offset mask 0x3fff ... To match on fragmented IPv4 packets, need to use pattern: ... ipv4 fragment_offset spec 1 fragment_offset last 0x3fff fragment_offset mask 0x3fff ... (Use the full available range 1 to 0x3fff to include all possible values.) To match on any IPv4 packets, fragmented and non-fragmented, the fragment_offset field should not be specified for match. Signed-off-by: Dekel Peled <dekelp@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
This commit is contained in:
parent
69cb50d9be
commit
b3259edcf8
@ -149,6 +149,7 @@ enum index {
|
||||
ITEM_VLAN_INNER_TYPE,
|
||||
ITEM_IPV4,
|
||||
ITEM_IPV4_TOS,
|
||||
ITEM_IPV4_FRAGMENT_OFFSET,
|
||||
ITEM_IPV4_TTL,
|
||||
ITEM_IPV4_PROTO,
|
||||
ITEM_IPV4_SRC,
|
||||
@ -946,6 +947,7 @@ static const enum index item_vlan[] = {
|
||||
|
||||
static const enum index item_ipv4[] = {
|
||||
ITEM_IPV4_TOS,
|
||||
ITEM_IPV4_FRAGMENT_OFFSET,
|
||||
ITEM_IPV4_TTL,
|
||||
ITEM_IPV4_PROTO,
|
||||
ITEM_IPV4_SRC,
|
||||
@ -2257,6 +2259,13 @@ static const struct token token_list[] = {
|
||||
.args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ipv4,
|
||||
hdr.type_of_service)),
|
||||
},
|
||||
[ITEM_IPV4_FRAGMENT_OFFSET] = {
|
||||
.name = "fragment_offset",
|
||||
.help = "fragmentation flags and fragment offset",
|
||||
.next = NEXT(item_ipv4, NEXT_ENTRY(UNSIGNED), item_param),
|
||||
.args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ipv4,
|
||||
hdr.fragment_offset)),
|
||||
},
|
||||
[ITEM_IPV4_TTL] = {
|
||||
.name = "ttl",
|
||||
.help = "time to live",
|
||||
|
Loading…
Reference in New Issue
Block a user