Netdev List
 help / color / mirror / Atom feed
* [PATCH net-next 00/11] mlxsw: spectrum: acl: Introduce ERP sharing by multiple masks
@ 2018-11-14  8:22 Ido Schimmel
  2018-11-14  8:22 ` [PATCH net-next 01/11] selftests: Adjust spectrum-2 two_mask_test Ido Schimmel
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: Ido Schimmel @ 2018-11-14  8:22 UTC (permalink / raw)
  To: netdev@vger.kernel.org
  Cc: davem@davemloft.net, Jiri Pirko, mlxsw, Ido Schimmel

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2018-11-16  9:10 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-14  8:22 [PATCH net-next 00/11] mlxsw: spectrum: acl: Introduce ERP sharing by multiple masks Ido Schimmel
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox