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]
Date:   Mon, 10 Dec 2018 07:11:31 +0000
From:   Ido Schimmel <idosch@...lanox.com>
To:     "netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC:     "davem@...emloft.net" <davem@...emloft.net>,
        Jiri Pirko <jiri@...lanox.com>, Nir Dotan <nird@...lanox.com>,
        Petr Machata <petrm@...lanox.com>,
        Ido Schimmel <idosch@...lanox.com>
Subject: [PATCH net-next 0/9] mlxsw: Add Spectrum-2 multicast routing support

Nir says:

In Spectrum the firmware provided an abstraction for multicast routing
on top of the policy engine. In Spectrum-2 this is no longer the case
and the driver must interact directly with the policy engine in order to
program multicast routes. Every route is written as an ACL rule, its
priority set according to route type (*,G) or (S,G) and its action is an
appropriate multicast routing action. Multicast routes are written to a
specific ACL group which is bound to the appropriate IP protocol
IPv4/IPv6.

Patch #1 adds PEMRBT register needed to declare which ACL group is
dedicated for each IP protocol multicast routing function.

Patch #2 Changes initialization order and puts ACL before router as
multicast router now uses ACL module.

Patch #3 adds Spectrum-2 ACL keys needed for multicast route matching.

Patch #4 adds another ACL profile - in addition to existing flower
profile - which allows the multicast routing module to program rules
directly into the ACL block.

Patch #5 adds the ability to update ACL rules' action, since multicast
routes actions may be updated after being configured.

Patch #6 separates rule creation operation and rule action creation
operation as in multicast router the action is created before the route
is inserted.

Patch #7 sharpens priority handling in Spectrum-2, to ensure incorrect
values are not set to rule's priority.

Patch #8 adds the implementation of multicast routing for IPv4 and IPv6
over existing ACL rule programming

Finally, patch #9 adds a test for IPv4/IPv6 multicast routing.

Nir Dotan (9):
  mlxsw: reg: Add Policy Engine Multicast Router Binding Table Register
  mlxsw: spectrum: Change stage of ACL initialization
  mlxsw: spectrum_acl: Add Spectrum-2 keys
  mlxsw: spectrum_acl: Add multicast router profile operations
  mlxsw: spectrum_acl: Add replace rule action operation
  mlxsw: spectrum_acl: Support rule creation without action creation
  mlxsw: spectrum_acl: Limit priority value
  mlxsw: spectrum_router: Add Multicast routing support for Spectrum-2
  selftests: forwarding: Add multicast routing test

 .../mellanox/mlxsw/core_acl_flex_keys.h       |   4 +
 drivers/net/ethernet/mellanox/mlxsw/reg.h     |  38 +++
 .../net/ethernet/mellanox/mlxsw/spectrum.c    |  18 +-
 .../net/ethernet/mellanox/mlxsw/spectrum.h    |  13 +-
 .../mellanox/mlxsw/spectrum1_acl_tcam.c       |  12 +-
 .../mellanox/mlxsw/spectrum2_acl_tcam.c       |  18 +
 .../mellanox/mlxsw/spectrum2_mr_tcam.c        | 281 +++++++++++++++-
 .../ethernet/mellanox/mlxsw/spectrum_acl.c    |  31 +-
 .../mellanox/mlxsw/spectrum_acl_atcam.c       |  61 ++++
 .../mellanox/mlxsw/spectrum_acl_ctcam.c       |  33 ++
 .../mellanox/mlxsw/spectrum_acl_flex_keys.c   |   6 +
 .../mellanox/mlxsw/spectrum_acl_tcam.c        | 171 +++++++++-
 .../mellanox/mlxsw/spectrum_acl_tcam.h        |  13 +
 .../ethernet/mellanox/mlxsw/spectrum_flower.c |   2 +-
 tools/testing/selftests/net/forwarding/lib.sh |   2 +
 .../net/forwarding/router_multicast.sh        | 311 ++++++++++++++++++
 16 files changed, 996 insertions(+), 18 deletions(-)
 create mode 100755 tools/testing/selftests/net/forwarding/router_multicast.sh

-- 
2.19.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ