[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