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: <20200715082733.429610-1-idosch@idosch.org>
Date:   Wed, 15 Jul 2020 11:27:22 +0300
From:   Ido Schimmel <idosch@...sch.org>
To:     netdev@...r.kernel.org
Cc:     davem@...emloft.net, kuba@...nel.org, jiri@...lanox.com,
        petrm@...lanox.com, mlxsw@...lanox.com,
        Ido Schimmel <idosch@...lanox.com>
Subject: [PATCH net-next 00/11] mlxsw: Offload tc police action

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

This patch set adds support for tc police action in mlxsw.

Patches #1-#2 add defines for policer bandwidth limits and resource
identifiers (e.g., maximum number of policers).

Patch #3 adds a common policer core in mlxsw. Currently it is only used
by the policy engine, but future patch sets will use it for trap
policers and storm control policers. The common core allows us to share
common logic between all policer types and abstract certain details from
the various users in mlxsw.

Patch #4 exposes the maximum number of supported policers and their
current usage to user space via devlink-resource. This provides better
visibility and also used for selftests purposes.

Patches #5-#7 gradually add support for tc police action in the policy
engine by calling into previously mentioned policer core.

Patch #8 adds a generic selftest for tc-police that can be used with
veth pairs or physical loopbacks.

Patches #9-#11 add mlxsw-specific selftests.

Ido Schimmel (11):
  mlxsw: reg: Add policer bandwidth limits
  mlxsw: resources: Add resource identifier for global policers
  mlxsw: spectrum_policer: Add policer core
  mlxsw: spectrum_policer: Add devlink resource support
  mlxsw: core_acl_flex_actions: Work around hardware limitation
  mlxsw: core_acl_flex_actions: Add police action
  mlxsw: spectrum_acl: Offload FLOW_ACTION_POLICE
  selftests: forwarding: Add tc-police tests
  selftests: mlxsw: tc_restrictions: Test tc-police restrictions
  selftests: mlxsw: Add scale test for tc-police
  selftests: mlxsw: Test policers' occupancy

 drivers/net/ethernet/mellanox/mlxsw/Makefile  |   2 +-
 .../mellanox/mlxsw/core_acl_flex_actions.c    | 304 +++++++++++-
 .../mellanox/mlxsw/core_acl_flex_actions.h    |   8 +
 drivers/net/ethernet/mellanox/mlxsw/reg.h     |   9 +
 .../net/ethernet/mellanox/mlxsw/resources.h   |   2 +
 .../net/ethernet/mellanox/mlxsw/spectrum.c    |  20 +
 .../net/ethernet/mellanox/mlxsw/spectrum.h    |  46 +-
 .../ethernet/mellanox/mlxsw/spectrum_acl.c    |  33 +-
 .../mlxsw/spectrum_acl_flex_actions.c         |  27 +
 .../ethernet/mellanox/mlxsw/spectrum_flower.c |  30 +-
 .../mellanox/mlxsw/spectrum_policer.c         | 468 ++++++++++++++++++
 .../net/mlxsw/spectrum-2/resource_scale.sh    |   2 +-
 .../net/mlxsw/spectrum-2/tc_police_scale.sh   |  16 +
 .../net/mlxsw/spectrum/resource_scale.sh      |   2 +-
 .../net/mlxsw/spectrum/tc_police_scale.sh     |  16 +
 .../drivers/net/mlxsw/tc_police_occ.sh        | 108 ++++
 .../drivers/net/mlxsw/tc_police_scale.sh      |  92 ++++
 .../drivers/net/mlxsw/tc_restrictions.sh      |  76 +++
 .../selftests/net/forwarding/devlink_lib.sh   |   5 +
 .../selftests/net/forwarding/tc_police.sh     | 333 +++++++++++++
 20 files changed, 1575 insertions(+), 24 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c
 create mode 100644 tools/testing/selftests/drivers/net/mlxsw/spectrum-2/tc_police_scale.sh
 create mode 100644 tools/testing/selftests/drivers/net/mlxsw/spectrum/tc_police_scale.sh
 create mode 100755 tools/testing/selftests/drivers/net/mlxsw/tc_police_occ.sh
 create mode 100644 tools/testing/selftests/drivers/net/mlxsw/tc_police_scale.sh
 create mode 100755 tools/testing/selftests/net/forwarding/tc_police.sh

-- 
2.26.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ