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: <20200427151310.3950411-1-idosch@idosch.org>
Date:   Mon, 27 Apr 2020 18:12:57 +0300
From:   Ido Schimmel <idosch@...sch.org>
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/13] mlxsw: Rework matchall offloading plumbing

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

Jiri says:

Currently the matchall and flower are handled by registering separate
callbacks in mlxsw. That leads to faulty indication "in_hw_count 2" in
filter show command for every inserted flower filter. That happens
because matchall callback just blindly returns 0 for it and it is
wrongly accounted for as "the offloader".

I inspected different ways to fix this problem. The only clean solution
is to rework handling of matchall in mlxsw a bit. The driver newely
registers one callback for bound block which is called for both matchall
and flower filter insertions.

On the way, iron out the matchall code a bit, push it into a separate
file etc.

Jiri Pirko (13):
  mlxsw: spectrum_acl: Move block helpers into inline header functions
  mlxsw: spectrum: Rename acl_block to flow_block
  mlxsw: spectrum: Push flow_block related functions into a separate
    file
  mlxsw: spectrum: Push matchall bits into a separate file
  mlxsw: spectrum_acl: Use block variable in mlxsw_sp_acl_rule_del()
  mlxsw: spectrum_matchall: Pass mall_entry as arg to
    mlxsw_sp_mall_port_mirror_add()
  mlxsw: spectrum_matchall: Pass mall_entry as arg to
    mlxsw_sp_mall_port_sample_add()
  mlxsw: spectrum_matchall: Move ingress indication into mall_entry
  mlxsw: spectrum_matchall: Push per-port rule add/del into separate
    functions
  mlxsw: spectrum: Avoid copying sample values and use RCU pointer
    direcly instead
  mlxsw: spectrum_matchall: Process matchall events from the same cb as
    flower
  mlxsw: spectrum: Move flow offload binding into spectrum_flow.c
  selftests: forwarding: tc_actions.sh: add matchall mirror test

 drivers/net/ethernet/mellanox/mlxsw/Makefile  |   1 +
 .../net/ethernet/mellanox/mlxsw/spectrum.c    | 463 +-----------------
 .../net/ethernet/mellanox/mlxsw/spectrum.h    | 167 ++++---
 .../mellanox/mlxsw/spectrum2_mr_tcam.c        |  14 +-
 .../ethernet/mellanox/mlxsw/spectrum_acl.c    | 207 +-------
 .../ethernet/mellanox/mlxsw/spectrum_flow.c   | 303 ++++++++++++
 .../ethernet/mellanox/mlxsw/spectrum_flower.c |  24 +-
 .../mellanox/mlxsw/spectrum_matchall.c        | 278 +++++++++++
 .../selftests/net/forwarding/tc_actions.sh    |  26 +-
 9 files changed, 756 insertions(+), 727 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
 create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c

-- 
2.24.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ