mlxsw: spectrum: mr_tcam: Add trap-and-forward multicast route
authorYotam Gigi <yotamg@mellanox.com>
Tue, 3 Oct 2017 07:58:11 +0000 (09:58 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Oct 2017 17:06:30 +0000 (10:06 -0700)
commit607feadef89ac806df5a0be983afef77247e1541
treef085aca8ca072e5c838073de7ac291c6fe9eb3ac
parenta0040c8c935548e1efb1a28f07f15d7ec7918055
mlxsw: spectrum: mr_tcam: Add trap-and-forward multicast route

In addition to the current multicast route actions, which include trap
route action and a forward route action, add the trap-and-forward multicast
route action, and implement it in the multicast routing hardware logic.

To implement that, add a trap-and-forward ACL action as the last action in
the route flexible action set. The used trap is the ACL2 trap, which marks
the packets with offload_mr_forward_mark, to prevent the packet from being
forwarded again by the kernel.

Note: At that stage the offloading logic does not support trap-and-forward
multicast routes. This patch adds the support only in the hardware logic.

Signed-off-by: Yotam Gigi <yotamg@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c