mbox series

[net-next,0/8] mlxsw: Add Spectrum-4 support

Message ID 20220106160652.821176-1-idosch@nvidia.com (mailing list archive)
Headers show
Series mlxsw: Add Spectrum-4 support | expand

Message

Ido Schimmel Jan. 6, 2022, 4:06 p.m. UTC
This patchset adds Spectrum-4 support in mlxsw. It builds on top of a
previous patchset merged in commit 10184da91666 ("Merge branch
'mlxsw-Spectrum-4-prep'") and makes two additional changes before adding
Spectrum-4 support.

Patchset overview:

Patches #1-#2 add a few Spectrum-4 specific variants of existing ACL
keys. The new variants are needed because the size of certain key
elements (e.g., local port) was increased in Spectrum-4.

Patches #3-#6 are preparations.

Patch #7 implements the Spectrum-4 variant of the Bloom filter hash
function. The Bloom filter is used to optimize ACL lookups by
potentially skipping certain lookups if they are guaranteed not to
match. See additional info in merge commit ae6750e0a5ef ("Merge branch
'mlxsw-spectrum_acl-Add-Bloom-filter-support'").

Patch #8 finally adds Spectrum-4 support.

Amit Cohen (8):
  mlxsw: Rename virtual router flex key element
  mlxsw: Introduce flex key elements for Spectrum-4
  mlxsw: spectrum_acl_bloom_filter: Reorder functions to make the code
    more aesthetic
  mlxsw: spectrum_acl_bloom_filter: Make mlxsw_sp_acl_bf_key_encode()
    more flexible
  mlxsw: spectrum_acl_bloom_filter: Rename Spectrum-2 specific objects
    for future use
  mlxsw: Add operations structure for bloom filter calculation
  mlxsw: spectrum_acl_bloom_filter: Add support for Spectrum-4
    calculation
  mlxsw: spectrum: Extend to support Spectrum-4 ASIC

 drivers/net/ethernet/mellanox/mlxsw/Kconfig   |   2 +-
 .../mellanox/mlxsw/core_acl_flex_keys.c       |   4 +-
 .../mellanox/mlxsw/core_acl_flex_keys.h       |   4 +-
 drivers/net/ethernet/mellanox/mlxsw/pci.h     |   1 +
 drivers/net/ethernet/mellanox/mlxsw/reg.h     |   1 +
 .../net/ethernet/mellanox/mlxsw/spectrum.c    |  97 +++++
 .../net/ethernet/mellanox/mlxsw/spectrum.h    |   6 +
 .../mellanox/mlxsw/spectrum2_mr_tcam.c        |  12 +-
 .../mlxsw/spectrum_acl_bloom_filter.c         | 351 +++++++++++++++---
 .../mellanox/mlxsw/spectrum_acl_flex_keys.c   |  46 ++-
 .../mellanox/mlxsw/spectrum_acl_tcam.h        |   6 +
 11 files changed, 468 insertions(+), 62 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Jan. 7, 2022, 4:10 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Thu,  6 Jan 2022 18:06:44 +0200 you wrote:
> This patchset adds Spectrum-4 support in mlxsw. It builds on top of a
> previous patchset merged in commit 10184da91666 ("Merge branch
> 'mlxsw-Spectrum-4-prep'") and makes two additional changes before adding
> Spectrum-4 support.
> 
> Patchset overview:
> 
> [...]

Here is the summary with links:
  - [net-next,1/8] mlxsw: Rename virtual router flex key element
    https://git.kernel.org/netdev/net-next/c/6d5d8ebb881c
  - [net-next,2/8] mlxsw: Introduce flex key elements for Spectrum-4
    https://git.kernel.org/netdev/net-next/c/07ff135958dd
  - [net-next,3/8] mlxsw: spectrum_acl_bloom_filter: Reorder functions to make the code more aesthetic
    https://git.kernel.org/netdev/net-next/c/4711671297ec
  - [net-next,4/8] mlxsw: spectrum_acl_bloom_filter: Make mlxsw_sp_acl_bf_key_encode() more flexible
    https://git.kernel.org/netdev/net-next/c/5d5c3ba9e412
  - [net-next,5/8] mlxsw: spectrum_acl_bloom_filter: Rename Spectrum-2 specific objects for future use
    https://git.kernel.org/netdev/net-next/c/29409f363e2d
  - [net-next,6/8] mlxsw: Add operations structure for bloom filter calculation
    https://git.kernel.org/netdev/net-next/c/58723d2f7771
  - [net-next,7/8] mlxsw: spectrum_acl_bloom_filter: Add support for Spectrum-4 calculation
    https://git.kernel.org/netdev/net-next/c/852ee4191dd2
  - [net-next,8/8] mlxsw: spectrum: Extend to support Spectrum-4 ASIC
    https://git.kernel.org/netdev/net-next/c/4735402173e6

You are awesome, thank you!