[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181114082138.14284-1-idosch@mellanox.com>
Date: Wed, 14 Nov 2018 08:22:25 +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>, mlxsw <mlxsw@...lanox.com>,
Ido Schimmel <idosch@...lanox.com>
Subject: [PATCH net-next 00/11] mlxsw: spectrum: acl: Introduce ERP sharing by
multiple masks
Jiri says:
The Spectrum-2 hardware has limitation number of ERPs per-region. In
order to accommodate more masks than number of ERPs, the hardware
supports to insert rules with delta bits. By that, the rules with masks
that differ in up-to 8 consecutive bits can share the same ERP.
Patches 1 and 2 fix couple of issues that would appear in existing
selftests after adding delta support
Patch 3 introduces a generic object aggregation library. Now it is
static, but it will get extended for recalculation of aggregations in
the future in order to reach more optimal aggregation.
Patch 4 just simply converts existing ERP code to use the objagg library
instead of a rhashtable.
Patches 5-9 do more or less small changes to prepare ground for the last
patch.
Patch 10 fills-up delta callbacks of objagg library and utilizes the
delta bits for rule insertion.
The last patch adds selftest to test the mlxsw Spectrum-2 delta flows.
Jiri Pirko (11):
selftests: Adjust spectrum-2 two_mask_test
selftests: Adjust spectrum-2 ctcam_two_atcam_masks_test
lib: introduce initial implementation of object aggregation manager
mlxsw: spectrum: acl_erp: Convert to use objagg for tracking ERPs
mlxsw: spectrum: acl: Pass key pointer to master_mask_set/clear
mlxsw: core_acl: Change order of args of ops->encode_block()
mlxsw: spectrum: acl: Don't encode the key again in
mlxsw_sp_acl_atcam_12kb_lkey_id_get()
mlxsw: spectrum: acl: Remove mlxsw_afk_encode() block range args and
key/mask check
mlxsw: spectrum: acl: Push code related to num_ctcam_erps inc/dec into
separate helpers
mlxsw: spectrum: acl: Implement delta for ERP
selftests: mlxsw: spectrum-2: Add simple delta test
MAINTAINERS | 8 +
drivers/net/ethernet/mellanox/mlxsw/Kconfig | 1 +
.../mellanox/mlxsw/core_acl_flex_keys.c | 22 +-
.../mellanox/mlxsw/core_acl_flex_keys.h | 7 +-
drivers/net/ethernet/mellanox/mlxsw/reg.h | 8 +-
.../mellanox/mlxsw/spectrum2_acl_tcam.c | 12 +-
.../mellanox/mlxsw/spectrum_acl_atcam.c | 75 +-
.../mellanox/mlxsw/spectrum_acl_ctcam.c | 5 +-
.../mellanox/mlxsw/spectrum_acl_erp.c | 454 +++++++---
.../mellanox/mlxsw/spectrum_acl_flex_keys.c | 32 +-
.../mellanox/mlxsw/spectrum_acl_tcam.h | 42 +-
include/linux/objagg.h | 46 +
include/trace/events/objagg.h | 228 +++++
lib/Kconfig | 3 +
lib/Kconfig.debug | 10 +
lib/Makefile | 2 +
lib/objagg.c | 501 +++++++++++
lib/test_objagg.c | 835 ++++++++++++++++++
.../drivers/net/mlxsw/spectrum-2/tc_flower.sh | 86 +-
19 files changed, 2184 insertions(+), 193 deletions(-)
create mode 100644 include/linux/objagg.h
create mode 100644 include/trace/events/objagg.h
create mode 100644 lib/objagg.c
create mode 100644 lib/test_objagg.c
--
2.19.1
Powered by blists - more mailing lists