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 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

