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: <20201110094900.1920158-1-idosch@idosch.org>
Date:   Tue, 10 Nov 2020 11:48:45 +0200
From:   Ido Schimmel <idosch@...sch.org>
To:     netdev@...r.kernel.org
Cc:     davem@...emloft.net, kuba@...nel.org, jiri@...dia.com,
        mlxsw@...dia.com, Ido Schimmel <idosch@...dia.com>
Subject: [PATCH net-next 00/15] mlxsw: spectrum: Prepare for XM implementation - prefix insertion and removal

From: Ido Schimmel <idosch@...dia.com>

Jiri says:

This is a preparation patchset for follow-up support of boards with
extended mezzanine (XM), which is going to allow extended (scale-wise)
router offload.

XM requires a separate PRM register named XMDR to be used instead of
RALUE to insert/update/remove FIB entries. Therefore, this patchset
extends the previously introduces low-level ops to be able to have
XM-specific FIB entry config implementation.

Currently the existing original RALUE implementation is moved to "basic"
low-level ops.

Unlike legacy router, insertion/update/removal of FIB entries into XM
could be done in bulks up to 4 items in a single PRM register write.
That is why this patchset implements "an op context", that allows the
future XM ops implementation to squash multiple FIB events to single
register write. For that, the way in which the FIB events are processed
by the work queue has to be changed.

The conversion from 1:1 FIB event - work callback call to event queue is
implemented in patch #3.

Patch #4 introduces "an op context" that will allow in future to squash
multiple FIB events into one XMDR register write. Patch #12 converts it
from stack to be allocated per instance.

Existing RALUE manipulations are pushed to ops in patch #10.

Patch #13 is introducing a possibility for low-level implementation to
have per FIB entry private memory.

The rest of the patches are either cosmetics or smaller preparations.

Jiri Pirko (15):
  mlxsw: spectrum_router: Pass non-register proto enum to
    __mlxsw_sp_router_set_abort_trap()
  mlxsw: spectrum_router: Use RALUE-independent op arg
  mlxsw: spectrum_router: Introduce FIB event queue instead of separate
    works
  mlxsw: spectrum: Propagate context from work handler containing RALUE
    payload
  mlxsw: spectrum_router: Push out RALUE pack into separate helper
  mlxsw: spectrum: Export RALUE pack helper and use it from IPIP
  mlxsw: spectrum_router: Pass destination IP as a pointer to
    mlxsw_reg_ralue_pack4()
  mlxsw: reg: Allow to pass NULL pointer to mlxsw_reg_ralue_pack4/6()
  mlxsw: spectrum_router: Use RALUE pack helper from abort function
  mlxsw: spectrum: Push RALUE packing and writing into low-level router
    ops
  mlxsw: spectrum_router: Prepare work context for possible bulking
  mlxsw: spectrum_router: Have FIB entry op context allocated for the
    instance
  mlxsw: spectrum_router: Introduce fib_entry priv for low-level ops
  mlxsw: spectrum_router: Track FIB entry committed state and skip
    uncommitted on delete
  mlxsw: spectrum_router: Introduce FIB entry update op

 drivers/net/ethernet/mellanox/mlxsw/reg.h     |   8 +-
 .../ethernet/mellanox/mlxsw/spectrum_ipip.c   |  34 +-
 .../ethernet/mellanox/mlxsw/spectrum_ipip.h   |   7 +-
 .../ethernet/mellanox/mlxsw/spectrum_router.c | 761 +++++++++++++-----
 .../ethernet/mellanox/mlxsw/spectrum_router.h |  59 ++
 5 files changed, 635 insertions(+), 234 deletions(-)

-- 
2.26.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ