On Mon, May 25, 2026 at 03:06:19PM +0100, Anatoly Burakov wrote: > This patchset introduces common flow attr/action checking infrastructure to > some Intel PMD's (IXGBE, I40E, IAVF, and ICE). The aim is to reduce code > duplication, simplify implementation of new parsers/verification of existing > ones, and make action/attr handling more consistent across drivers. > > v5: > - Add missing patch for component/class name compile time constant > - Fixed missing RSS queue contiguousness checks > > v4: > - First few commits were integrated as part of a different patchset > - Added more logging to common infrastructure > - RSS validation now allows discontiguous queue lists by default > - Fixed some checks being too stringent and failing common validation > > v3: > - Rebase on latest next-net-intel > - Added 4 new commits that have to do with not using `rte_eth_dev` in rte_flow > - Converted the remaining commits to use adapter structures everywhere > - Minor fixes in how return values are handled > - Fixed incorrect check in i40e RSS validation > > v2: > - Rebase on latest main > - Now depends on series 37585 [1] > > [1] https://patches.dpdk.org/project/dpdk/list/?series=37585 > While I haven't worked through the details patch-by-patch, the whole concept seems good, and the implementation parts I have looked at seem fine. Any new versions should be applicable ok to main, since the net and net-intel trees have now been pulled, which means we'll get a good AI review too. For now, LGTM
Series-Acked-by: Bruce Richardson <[email protected]> > Anatoly Burakov (21): > eal/common: add token concatenation macro > net/intel/common: add common flow action parsing > net/intel/common: add common flow attr validation > net/ixgbe: use common checks in ethertype filter > net/ixgbe: use common checks in syn filter > net/ixgbe: use common checks in L2 tunnel filter > net/ixgbe: use common checks in ntuple filter > net/ixgbe: use common checks in security filter > net/ixgbe: use common checks in FDIR filters > net/ixgbe: use common checks in RSS filter > net/i40e: use common flow attribute checks > net/i40e: refactor RSS flow parameter checks > net/i40e: use common action checks for ethertype > net/i40e: use common action checks for FDIR > net/i40e: use common action checks for tunnel > net/iavf: use common flow attribute checks > net/iavf: use common action checks for IPsec > net/iavf: use common action checks for hash > net/iavf: use common action checks for FDIR > net/iavf: use common action checks for fsub > net/iavf: use common action checks for flow query > > Bruce Richardson (1): > build: add build defines for component name and class > > Vladimir Medvedkin (5): > net/ice: use common flow attribute checks > net/ice: use common action checks for hash > net/ice: use common action checks for FDIR > net/ice: use common action checks for switch > net/ice: use common action checks for ACL > > drivers/meson.build | 2 + > drivers/net/intel/common/flow_check.h | 347 ++++++ > drivers/net/intel/common/log.h | 40 + > drivers/net/intel/i40e/i40e_ethdev.h | 1 - > drivers/net/intel/i40e/i40e_flow.c | 433 +++----- > drivers/net/intel/i40e/i40e_hash.c | 438 +++++--- > drivers/net/intel/i40e/i40e_hash.h | 2 +- > drivers/net/intel/iavf/iavf_fdir.c | 368 +++--- > drivers/net/intel/iavf/iavf_fsub.c | 262 ++--- > drivers/net/intel/iavf/iavf_generic_flow.c | 107 +- > drivers/net/intel/iavf/iavf_generic_flow.h | 2 +- > drivers/net/intel/iavf/iavf_hash.c | 153 +-- > drivers/net/intel/iavf/iavf_ipsec_crypto.c | 43 +- > drivers/net/intel/ice/ice_acl_filter.c | 146 ++- > drivers/net/intel/ice/ice_fdir_filter.c | 384 ++++--- > drivers/net/intel/ice/ice_generic_flow.c | 59 +- > drivers/net/intel/ice/ice_generic_flow.h | 2 +- > drivers/net/intel/ice/ice_hash.c | 189 ++-- > drivers/net/intel/ice/ice_switch_filter.c | 389 +++---- > drivers/net/intel/ixgbe/ixgbe_flow.c | 1166 +++++++------------- > lib/eal/include/rte_common.h | 4 + > lib/meson.build | 2 + > 22 files changed, 2271 insertions(+), 2268 deletions(-) > create mode 100644 drivers/net/intel/common/flow_check.h > create mode 100644 drivers/net/intel/common/log.h > > -- > 2.47.3 >

