[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