[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210322155855.3164151-1-idosch@idosch.org>
Date: Mon, 22 Mar 2021 17:58:41 +0200
From: Ido Schimmel <idosch@...sch.org>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, jiri@...dia.com,
petrm@...dia.com, dsahern@...il.com, mlxsw@...dia.com,
Ido Schimmel <idosch@...dia.com>
Subject: [PATCH net-next 00/14] mlxsw: Preparations for resilient nexthop groups
From: Ido Schimmel <idosch@...dia.com>
This patchset contains preparations for resilient nexthop groups support in
mlxsw. A follow-up patchset will add support and selftests. Most of the
patches are trivial and small to make review easier.
Patchset overview:
Patch #1 removes RTNL assertion in nexthop notifier block since it is
not needed. The assertion will trigger when mlxsw starts processing
notifications related to resilient groups as not all are emitted with
RTNL held.
Patches #2-#9 gradually add support for nexthops with trap action. Up
until now mlxsw did not program nexthops whose neighbour entry was not
resolved. This will not work with resilient groups as their size is
fixed and the nexthop mapped to each bucket is determined by the nexthop
code. Therefore, nexthops whose neighbour entry is not resolved will be
programmed to trap packets to the CPU in order to trigger neighbour
resolution.
Patch #10 is a non-functional change to allow for code reuse between
regular nexthop groups and resilient ones.
Patch #11 avoids unnecessary neighbour updates in hardware. See the
commit message for a detailed explanation.
Patches #12-#14 add support for additional nexthop group sizes that are
supported by Spectrum-{2,3} ASICs.
Ido Schimmel (14):
mlxsw: spectrum_router: Remove RTNL assertion
mlxsw: spectrum_router: Consolidate nexthop helpers
mlxsw: spectrum_router: Only provide MAC address for valid nexthops
mlxsw: spectrum_router: Adjust comments on nexthop fields
mlxsw: spectrum_router: Introduce nexthop action field
mlxsw: spectrum_router: Prepare for nexthops with trap action
mlxsw: spectrum_router: Add nexthop trap action support
mlxsw: spectrum_router: Rename nexthop update function to reflect its
type
mlxsw: spectrum_router: Encapsulate nexthop update in a function
mlxsw: spectrum_router: Break nexthop group entry validation to a
separate function
mlxsw: spectrum_router: Avoid unnecessary neighbour updates
mlxsw: spectrum_router: Create per-ASIC router operations
mlxsw: spectrum_router: Encode adjacency group size ranges in an array
mlxsw: spectrum_router: Add Spectrum-{2, 3} adjacency group size
ranges
.../net/ethernet/mellanox/mlxsw/spectrum.c | 6 +-
.../net/ethernet/mellanox/mlxsw/spectrum.h | 8 +-
.../ethernet/mellanox/mlxsw/spectrum_dpipe.c | 19 +-
.../ethernet/mellanox/mlxsw/spectrum_router.c | 277 +++++++++++++-----
.../ethernet/mellanox/mlxsw/spectrum_router.h | 9 +-
5 files changed, 218 insertions(+), 101 deletions(-)
--
2.29.2
Powered by blists - more mailing lists