lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ