]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
Merge branch 'mlxsw-spectrum_acl-Include-delta-bits-into-hashtable-key'
authorDavid S. Miller <davem@davemloft.net>
Wed, 30 Jan 2019 18:00:40 +0000 (10:00 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Jan 2019 18:00:40 +0000 (10:00 -0800)
commit08c25fe83a0c8c2e17a2ad58b5df95c615361572
tree9756922fbc70b424ca3360aa50c3e47cf460b38d
parent804a15cdbbc3834504e161ee461c67f8eea959a4
parent1f0ac761bcaaef5fafd220761981da7b53500dcc
Merge branch 'mlxsw-spectrum_acl-Include-delta-bits-into-hashtable-key'

Ido Schimmel says:

====================
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.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>