[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190130085813.32161-1-idosch@mellanox.com>
Date: Wed, 30 Jan 2019 08:58:29 +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 0/5] mlxsw: spectrum_acl: Include delta bits into
hashtable key
The Spectrum-2 ASIC allows multiple rules to use the same mask provided
that the difference between their masks is small enough (up to 8
consecutive delta bits). A more detailed explanation is provided in
merge commit 756cd36626f7 ("Merge branch
'mlxsw-Introduce-algorithmic-TCAM-support'").
These delta bits are part of the rule's key and therefore rules that
only differ in their delta bits can be inserted with the same A-TCAM
mask. In case two rules share the same key and only differ in their
priority, then the second will spill to the C-TCAM.
Current code does not take the delta bits into account when checking for
duplicate rules, which leads to unnecessary spillage to the C-TCAM.
This may result in reduced scale and performance.
Patch #1 includes the delta bits in the rule's key to avoid the above
mentioned problem.
Patch #2 adds a tracepoint when a rule is inserted into the C-TCAM.
Patches #3-#5 add test cases to make sure unnecessary spillage into the
C-TCAM does not occur.
Jiri Pirko (5):
mlxsw: spectrum_acl: Include delta bits into hashtable key
mlxsw: spectrum_acl: Add C-TCAM spill tracepoint
selftests: spectrum-2: Extend and move trace helpers
selftests: spectrum-2: Fix multiple_masks_test
selftests: spectrum-2: Add delta two masks one key test
.../mellanox/mlxsw/spectrum_acl_atcam.c | 24 +--
.../mlxsw/spectrum_acl_bloom_filter.c | 2 +-
.../mellanox/mlxsw/spectrum_acl_tcam.h | 10 +-
include/trace/events/mlxsw.h | 38 +++++
.../drivers/net/mlxsw/spectrum-2/tc_flower.sh | 143 ++++++++++++++----
5 files changed, 174 insertions(+), 43 deletions(-)
create mode 100644 include/trace/events/mlxsw.h
--
2.20.1
Powered by blists - more mailing lists