]> git.baikalelectronics.ru Git - kernel.git/commit
mlxsw: spectrum_acl: Add A-TCAM rule insertion and deletion
authorIdo Schimmel <idosch@mellanox.com>
Wed, 25 Jul 2018 06:24:05 +0000 (09:24 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 Jul 2018 23:46:02 +0000 (16:46 -0700)
commitb6b9068dbb9ba3d36022deed31070dba4c305ab3
treefa05dd7bb8de1ad5b911802b0da9a5788cc2037c
parent0d29a6b7c184aa1188c91b1961a18efb3e0e25c0
mlxsw: spectrum_acl: Add A-TCAM rule insertion and deletion

Implement rule insertion and deletion into the A-TCAM before we flip the
driver to start using the A-TCAM.

Rule insertion into the A-TCAM is very similar to C-TCAM, but there are
subtle differences between regions of different sizes (i.e., different
number of key blocks).

Specifically, as explained in "mlxsw: spectrum_acl: Allow encoding a
partial key", in 12 key blocks regions a rule is split into two and the
two halves of the rule are linked using a "large entry key ID".

Such differences are abstracted away by using different region
operations per region type.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum2_acl_tcam.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_erp.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.h