> -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Alvin Zhang > Sent: Monday, March 1, 2021 3:06 PM > To: Guo, Jia <jia....@intel.com>; Xing, Beilei <beilei.x...@intel.com>; Zhang, > Qi Z <qi.z.zh...@intel.com>; Zhou, JunX W <junx.w.z...@intel.com> > Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zh...@intel.com>; > sta...@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: sta...@dpdk.org > > Signed-off-by: Alvin Zhang <alvinx.zh...@intel.com>
all regression cases passed. Tested-by: Chen Lingli <linglix.c...@intel.com>