mlxsw: spectrum: Introduce ACL core with simple TCAM implementation
authorJiri Pirko <jiri@mellanox.com>
Fri, 3 Feb 2017 09:29:07 +0000 (10:29 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 3 Feb 2017 21:35:43 +0000 (16:35 -0500)
commit22a677661f5624539d394f681276171f92d714df
tree4c2ead25e8b5a86200d76a470a312424f82b7877
parent44091d29f2075972aede47ef17e1e70db3d51190
mlxsw: spectrum: Introduce ACL core with simple TCAM implementation

Add ACL core infrastructure for Spectrum ASIC. This infra provides an
abstraction layer over specific HW implementations. There are two basic
objects used. One is "rule" and the second is "ruleset" which serves as a
container of multiple rules. In general, within one ruleset the rules are
allowed to have multiple priorities and masks. Each ruleset is bound to
either ingress or egress a of port netdevice.

The initial TCAM implementation is very simple and limited. It utilizes
parman lsort manager to take care of TCAM region layout.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/Kconfig
drivers/net/ethernet/mellanox/mlxsw/Makefile
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c [new file with mode: 0644]