Message ID | 20210322155855.3164151-1-idosch@idosch.org (mailing list archive) |
---|---|
Headers | show |
Series | mlxsw: Preparations for resilient nexthop groups | expand |
Hello: This series was applied to netdev/net-next.git (refs/heads/master): On Mon, 22 Mar 2021 17:58:41 +0200 you wrote: > From: Ido Schimmel <idosch@nvidia.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: > > [...] Here is the summary with links: - [net-next,01/14] mlxsw: spectrum_router: Remove RTNL assertion https://git.kernel.org/netdev/net-next/c/08c99b92d76c - [net-next,02/14] mlxsw: spectrum_router: Consolidate nexthop helpers https://git.kernel.org/netdev/net-next/c/26df5acc275b - [net-next,03/14] mlxsw: spectrum_router: Only provide MAC address for valid nexthops https://git.kernel.org/netdev/net-next/c/c6a5011bec09 - [net-next,04/14] mlxsw: spectrum_router: Adjust comments on nexthop fields https://git.kernel.org/netdev/net-next/c/248136fa251a - [net-next,05/14] mlxsw: spectrum_router: Introduce nexthop action field https://git.kernel.org/netdev/net-next/c/031d5c160656 - [net-next,06/14] mlxsw: spectrum_router: Prepare for nexthops with trap action https://git.kernel.org/netdev/net-next/c/1be2361e3ca7 - [net-next,07/14] mlxsw: spectrum_router: Add nexthop trap action support https://git.kernel.org/netdev/net-next/c/fc199d7c08c8 - [net-next,08/14] mlxsw: spectrum_router: Rename nexthop update function to reflect its type https://git.kernel.org/netdev/net-next/c/424603ccdd5e - [net-next,09/14] mlxsw: spectrum_router: Encapsulate nexthop update in a function https://git.kernel.org/netdev/net-next/c/29017c643476 - [net-next,10/14] mlxsw: spectrum_router: Break nexthop group entry validation to a separate function https://git.kernel.org/netdev/net-next/c/40f5429fce69 - [net-next,11/14] mlxsw: spectrum_router: Avoid unnecessary neighbour updates https://git.kernel.org/netdev/net-next/c/c1efd50002c0 - [net-next,12/14] mlxsw: spectrum_router: Create per-ASIC router operations https://git.kernel.org/netdev/net-next/c/d354fdd923e7 - [net-next,13/14] mlxsw: spectrum_router: Encode adjacency group size ranges in an array https://git.kernel.org/netdev/net-next/c/164fa130dd16 - [net-next,14/14] mlxsw: spectrum_router: Add Spectrum-{2, 3} adjacency group size ranges https://git.kernel.org/netdev/net-next/c/ea037b236a05 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
From: Ido Schimmel <idosch@nvidia.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(-)