From: Ido Schimmel <idosch@mellanox.com>
To: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Cc: "davem@davemloft.net" <davem@davemloft.net>,
Jiri Pirko <jiri@mellanox.com>, mlxsw <mlxsw@mellanox.com>,
Ido Schimmel <idosch@mellanox.com>
Subject: [PATCH net-next 00/11] mlxsw: spectrum: acl: Introduce ERP sharing by multiple masks
Date: Wed, 14 Nov 2018 08:22:25 +0000 [thread overview]
Message-ID: <20181114082138.14284-1-idosch@mellanox.com> (raw)
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
next reply other threads:[~2018-11-14 18:24 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-14 8:22 Ido Schimmel [this message]
2018-11-14 8:22 ` [PATCH net-next 01/11] selftests: Adjust spectrum-2 two_mask_test Ido Schimmel
2018-11-14 8:22 ` [PATCH net-next 02/11] selftests: Adjust spectrum-2 ctcam_two_atcam_masks_test Ido Schimmel
2018-11-14 8:22 ` [PATCH net-next 03/11] lib: introduce initial implementation of object aggregation manager Ido Schimmel
2018-11-14 8:22 ` [PATCH net-next 04/11] mlxsw: spectrum: acl_erp: Convert to use objagg for tracking ERPs Ido Schimmel
2018-11-14 8:22 ` [PATCH net-next 05/11] mlxsw: spectrum: acl: Pass key pointer to master_mask_set/clear Ido Schimmel
2018-11-14 8:22 ` [PATCH net-next 06/11] mlxsw: core_acl: Change order of args of ops->encode_block() Ido Schimmel
2018-11-14 8:22 ` [PATCH net-next 07/11] mlxsw: spectrum: acl: Don't encode the key again in mlxsw_sp_acl_atcam_12kb_lkey_id_get() Ido Schimmel
2018-11-14 8:22 ` [PATCH net-next 08/11] mlxsw: spectrum: acl: Remove mlxsw_afk_encode() block range args and key/mask check Ido Schimmel
2018-11-14 8:22 ` [PATCH net-next 09/11] mlxsw: spectrum: acl: Push code related to num_ctcam_erps inc/dec into separate helpers Ido Schimmel
2018-11-14 8:22 ` [PATCH net-next 10/11] mlxsw: spectrum: acl: Implement delta for ERP Ido Schimmel
2018-11-14 8:22 ` [PATCH net-next 11/11] selftests: mlxsw: spectrum-2: Add simple delta test Ido Schimmel
2018-11-15 23:00 ` [PATCH net-next 00/11] mlxsw: spectrum: acl: Introduce ERP sharing by multiple masks David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181114082138.14284-1-idosch@mellanox.com \
--to=idosch@mellanox.com \
--cc=davem@davemloft.net \
--cc=jiri@mellanox.com \
--cc=mlxsw@mellanox.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox