[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180718081445.9445-1-idosch@mellanox.com>
Date: Wed, 18 Jul 2018 11:14:29 +0300
From: Ido Schimmel <idosch@...lanox.com>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, jiri@...lanox.com, mlxsw@...lanox.com,
Ido Schimmel <idosch@...lanox.com>
Subject: [PATCH net-next 00/16] mlxsw: Introduce initial Spectrum-2 support
This patch set adds initial support for the Spectrum-2 ASIC. The first
two patches add Spectrum-2 specific KVD linear (KVDL) manager. Unlike
the Spectrum ASIC, there is no linear memory and instead the type of the
entry (e.g., nexthop) and its index are hashed and the entry is placed
in the computed address in the hash-based KVD memory.
The third patch adds Spectrum-2 stubs in the multicast routing code.
Support for multicast routing will be added later on.
Patches 4-15 add ACL support. The Spectrum-2 ASIC includes an
algorithmic TCAM (A-TCAM) and a regular circuit TCAM (C-TCAM) for rules
that can't be inserted into the A-TCAM. This set does not make use of
the A-TCAM and only places rules in the C-TCAM. This provides equivalent
scale and performance to the Spectrum ASIC. A follow-up patch set will
introduce A-TCAM support.
The last patch extends the main driver file to work with both ASICs.
Ido Schimmel (6):
mlxsw: reg: Add Policy-Engine Region Configuration Register
mlxsw: reg: Add Policy-Engine Region eRP Register
mlxsw: reg: Add Policy-Engine General Configuration Register
mlxsw: spectrum_acl: Prepare for Spectrum-2 block encoding
mlxsw: spectrum_acl: Add support for Spectrum-2 block encoding
mlxsw: spectrum_acl: Add region association callback
Jiri Pirko (10):
mlxsw: reg: Add Infrastructure Entry Delete Register
mlxsw: spectrum: Add KVDL manager implementation for Spectrum-2
mlxsw: spectrum_mr_tcam: Add Spectrum-2 stubs
mlxsw: spectrum: Add Spectrum-2 variant of flex actions ops
mlxsw: spectrum: Introduce flex key blocks for Spectrum-2
mlxsw: reg: Add support for activity information from PEFA register
mlxsw: acl: Introduce activity get operation for action block/set
mlxsw: reg: Add Policy-Engine Region Association Register
mlxsw: spectrum_acl: Add initial Spectrum-2 ACL implementation
mlxsw: spectrum: Extend to support Spectrum-2 ASIC
drivers/net/ethernet/mellanox/mlxsw/Makefile | 8 +-
.../mellanox/mlxsw/core_acl_flex_actions.c | 15 +
.../mellanox/mlxsw/core_acl_flex_actions.h | 4 +
.../ethernet/mellanox/mlxsw/core_acl_flex_keys.c | 70 ++++-
.../ethernet/mellanox/mlxsw/core_acl_flex_keys.h | 3 +-
drivers/net/ethernet/mellanox/mlxsw/pci.h | 1 +
drivers/net/ethernet/mellanox/mlxsw/reg.h | 285 ++++++++++++++++++-
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 170 +++++++++---
drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 13 +
.../ethernet/mellanox/mlxsw/spectrum1_acl_tcam.c | 8 +
.../ethernet/mellanox/mlxsw/spectrum2_acl_tcam.c | 222 +++++++++++++++
.../net/ethernet/mellanox/mlxsw/spectrum2_kvdl.c | 302 +++++++++++++++++++++
.../ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c | 82 ++++++
.../ethernet/mellanox/mlxsw/spectrum_acl_atcam.c | 95 +++++++
.../mellanox/mlxsw/spectrum_acl_flex_actions.c | 55 +++-
.../mellanox/mlxsw/spectrum_acl_flex_keys.c | 210 +++++++++++---
.../ethernet/mellanox/mlxsw/spectrum_acl_tcam.c | 5 +
.../ethernet/mellanox/mlxsw/spectrum_acl_tcam.h | 5 +
18 files changed, 1467 insertions(+), 86 deletions(-)
create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum2_acl_tcam.c
create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum2_kvdl.c
create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c
create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c
--
2.14.4
Powered by blists - more mailing lists