[PATCH v5 00/27] Add common flow attr/action parsing infrastructure to Intel PMD's
Bruce Richardson
bruce.richardson at intel.com
Wed May 27 16:40:05 CEST 2026
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 <bruce.richardson at intel.com>
> 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
>
More information about the dev
mailing list