Re: [dpdk-dev] [PATCH v3] net/i40e: fix inputset field mask
From: Chen, LingliX <hidden>
Date: 2021-03-09 02:56:42
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Alvin Zhang
Sent: Monday, March 1, 2021 3:06 PM
To: Guo, Jia <redacted>; Xing, Beilei <redacted>; Zhang,
Qi Z [off-list ref]; Zhou, JunX W [off-list ref]
Cc: dev@dpdk.org; Zhang, AlvinX <redacted>;
stable@dpdk.org
Subject: [dpdk-dev] [PATCH v3] net/i40e: fix inputset field mask
The absolute field offsets of IPv4 or IPv6 header are related to hardware
configuration. The X710 and X722 have different hardware configurations,
and users can even modify the hardware configuration.
Therefore, The default values cannot be used when calculating mask offset.
The following flows can be created on X722 NIC, but the packet will not enter
the queue 3:
flow create 0 ingress pattern eth / ipv4 proto is 255 / end
actions queue index 3 / end
pkt = Ether()/IP(ttl=63, proto=255)/Raw('X'*40)
flow create 0 ingress pattern eth / ipv4 tos is 50 / udp / end
actions queue index 3 / end
pkt = Ether()/IP(tos=50)/UDP()/Raw('X'*40)
flow create 0 ingress pattern eth / ipv6 tc is 12 / udp / end
actions queue index 3 / end
pkt = Ether()/IPv6(tc=12,hlim=34,fl=0x98765)/UDP()/Raw('X'*40)
flow create 0 ingress pattern eth / ipv6 hop is 34 / end actions
queue index 3 / end
pkt = Ether()/IPv6(tc=12,hlim=34,fl=0x98765)/Raw('X'*40)
This patch read the field offsets from the NIC and return the mask register
value.
Fixes: 98f055707685 ("i40e: configure input fields for RSS or flow director")
Fixes: 92cf7f8ec082 ("i40e: allow filtering on more IP header fields")
Cc: stable@dpdk.org
Signed-off-by: Alvin Zhang <redacted>all regression cases passed. Tested-by: Chen Lingli <redacted>