[dpdk-dev] [PATCH v3] net/i40e: fix inputset field mask
Chen, LingliX
linglix.chen at intel.com
Tue Mar 9 03:56:33 CET 2021
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Alvin Zhang
> Sent: Monday, March 1, 2021 3:06 PM
> To: Guo, Jia <jia.guo at intel.com>; Xing, Beilei <beilei.xing at intel.com>; Zhang,
> Qi Z <qi.z.zhang at intel.com>; Zhou, JunX W <junx.w.zhou at intel.com>
> Cc: dev at dpdk.org; Zhang, AlvinX <alvinx.zhang at intel.com>;
> stable at 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 at dpdk.org
>
> Signed-off-by: Alvin Zhang <alvinx.zhang at intel.com>
all regression cases passed.
Tested-by: Chen Lingli <linglix.chen at intel.com>
More information about the dev
mailing list