mbox series

[net-next,v2,00/13] bnxt_en: Add basic ntuple filter support

Message ID 20231223042210.102485-1-michael.chan@broadcom.com (mailing list archive)
Headers show
Series bnxt_en: Add basic ntuple filter support | expand

Message

Michael Chan Dec. 23, 2023, 4:21 a.m. UTC
The current driver only supports ntuple filters added by aRFS.  This
patch series adds basic support for user defined TCP/UDP ntuple filters
added by the user using ethtool.  Many of the patches are refactoring
patches to make the existing code more general to support both aRFS
and user defined filters.  aRFS filters always have the Toeplitz hash
value from the NIC.  A Toepliz hash function is added in patch 5 to
get the same hash value for user defined filters.  The hash is used
to store all ntuple filters in the table and all filters must be
hashed identically using the same function and key.

v2: Fix compile error in patch #4 when CONFIG_BNXT_SRIOV is disabled.

Michael Chan (12):
  bnxt_en: Refactor bnxt_ntuple_filter structure.
  bnxt_en: Add bnxt_l2_filter hash table.
  bnxt_en: Re-structure the bnxt_ntuple_filter structure.
  bnxt_en: Refactor L2 filter alloc/free firmware commands.
  bnxt_en: Add bnxt_lookup_ntp_filter_from_idx() function
  bnxt_en: Add new BNXT_FLTR_INSERTED flag to bnxt_filter_base struct.
  bnxt_en: Refactor filter insertion logic in bnxt_rx_flow_steer().
  bnxt_en: Refactor the hash table logic for ntuple filters.
  bnxt_en: Refactor ntuple filter removal logic in
    bnxt_cfg_ntp_filters().
  bnxt_en: Add ntuple matching flags to the bnxt_ntuple_filter
    structure.
  bnxt_en: Add support for ntuple filters added from ethtool.
  bnxt_en: Add support for ntuple filter deletion by ethtool.

Pavan Chebbi (1):
  bnxt_en: Add function to calculate Toeplitz hash

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     | 719 +++++++++++++-----
 drivers/net/ethernet/broadcom/bnxt/bnxt.h     |  92 ++-
 .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 371 +++++++--
 3 files changed, 936 insertions(+), 246 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Jan. 2, 2024, 2 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Fri, 22 Dec 2023 20:21:57 -0800 you wrote:
> The current driver only supports ntuple filters added by aRFS.  This
> patch series adds basic support for user defined TCP/UDP ntuple filters
> added by the user using ethtool.  Many of the patches are refactoring
> patches to make the existing code more general to support both aRFS
> and user defined filters.  aRFS filters always have the Toeplitz hash
> value from the NIC.  A Toepliz hash function is added in patch 5 to
> get the same hash value for user defined filters.  The hash is used
> to store all ntuple filters in the table and all filters must be
> hashed identically using the same function and key.
> 
> [...]

Here is the summary with links:
  - [net-next,v2,01/13] bnxt_en: Refactor bnxt_ntuple_filter structure.
    https://git.kernel.org/netdev/net-next/c/992d38d2b988
  - [net-next,v2,02/13] bnxt_en: Add bnxt_l2_filter hash table.
    https://git.kernel.org/netdev/net-next/c/1f6e77cb9b32
  - [net-next,v2,03/13] bnxt_en: Re-structure the bnxt_ntuple_filter structure.
    https://git.kernel.org/netdev/net-next/c/bfeabf7e4615
  - [net-next,v2,04/13] bnxt_en: Refactor L2 filter alloc/free firmware commands.
    https://git.kernel.org/netdev/net-next/c/96c9bedc755e
  - [net-next,v2,05/13] bnxt_en: Add function to calculate Toeplitz hash
    https://git.kernel.org/netdev/net-next/c/d3c982851c15
  - [net-next,v2,06/13] bnxt_en: Add bnxt_lookup_ntp_filter_from_idx() function
    https://git.kernel.org/netdev/net-next/c/cb5bdd292dc0
  - [net-next,v2,07/13] bnxt_en: Add new BNXT_FLTR_INSERTED flag to bnxt_filter_base struct.
    https://git.kernel.org/netdev/net-next/c/ee908d05dd2a
  - [net-next,v2,08/13] bnxt_en: Refactor filter insertion logic in bnxt_rx_flow_steer().
    https://git.kernel.org/netdev/net-next/c/59cde76f33fa
  - [net-next,v2,09/13] bnxt_en: Refactor the hash table logic for ntuple filters.
    https://git.kernel.org/netdev/net-next/c/80cfde29ce1f
  - [net-next,v2,10/13] bnxt_en: Refactor ntuple filter removal logic in bnxt_cfg_ntp_filters().
    https://git.kernel.org/netdev/net-next/c/4faeadfd7ed6
  - [net-next,v2,11/13] bnxt_en: Add ntuple matching flags to the bnxt_ntuple_filter structure.
    https://git.kernel.org/netdev/net-next/c/300c19180098
  - [net-next,v2,12/13] bnxt_en: Add support for ntuple filters added from ethtool.
    https://git.kernel.org/netdev/net-next/c/c029bc30b9f6
  - [net-next,v2,13/13] bnxt_en: Add support for ntuple filter deletion by ethtool.
    https://git.kernel.org/netdev/net-next/c/8d7ba028aa9a

You are awesome, thank you!