diff options
author | Jiri Pirko <jiri@mellanox.com> | 2019-01-30 08:58:33 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-01-30 10:00:40 -0800 |
commit | cb56e214679ffd1e30e980c56349831c5a00cfdf (patch) | |
tree | b85a42ff4a2f6ca22a5c76b3830061fdc5ff63eb /drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c | |
parent | Merge branch 'sctp-support-SCTP_FUTURE-CURRENT-ALL_ASSOC' (diff) | |
download | wireguard-linux-cb56e214679ffd1e30e980c56349831c5a00cfdf.tar.xz wireguard-linux-cb56e214679ffd1e30e980c56349831c5a00cfdf.zip |
mlxsw: spectrum_acl: Include delta bits into hashtable key
Currently only ERP mask masked bits in key are considered for
the hashtable key. That leads to false negative collisions
and fallbacks to C-TCAM in case two keys differ only in delta bits.
Fix this by taking full encoded key as a hashtable key,
including delta bits.
Reported-by: Nir Dotan <nird@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c index f5c381dcb015..9545b572747e 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c @@ -133,7 +133,7 @@ mlxsw_sp_acl_bf_key_encode(struct mlxsw_sp_acl_atcam_region *aregion, memcpy(chunk + MLXSW_BLOOM_CHUNK_PAD_BYTES, &erp_region_id, sizeof(erp_region_id)); memcpy(chunk + MLXSW_BLOOM_CHUNK_KEY_OFFSET, - &aentry->ht_key.enc_key[chunk_key_offsets[chunk_index]], + &aentry->enc_key[chunk_key_offsets[chunk_index]], MLXSW_BLOOM_CHUNK_KEY_BYTES); chunk += MLXSW_BLOOM_KEY_CHUNK_BYTES; } |