net/mlx5e: E-Switch, Offload all chain 0 priorities when modify header and forward...
authorJianbo Liu <jianbol@mellanox.com>
Tue, 12 Jan 2021 07:05:27 +0000 (23:05 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 13 Jan 2021 23:45:54 +0000 (15:45 -0800)
commit9a99c8f1253a1a5854b008aa72d5a839bac2cebe
tree2dff39d0b9ef7bf70af65ae12e0d6ad290d986b6
parentaf4c2fab3ff4318b85e7e0ffe86e76d425cc7533
net/mlx5e: E-Switch, Offload all chain 0 priorities when modify header and forward action is not supported

Miss path handling of tc multi chain filters (i.e. filters that are
defined on chain > 0) requires the hardware to communicate to the
driver the last chain that was processed. This is possible only when
the hardware is capable of performing the combination of modify header
and forward to table actions. Currently, if the hardware is missing
this capability then the driver only offloads rules that are defined
on tc chain 0 prio 1. However, this restriction can be relaxed because
packets that miss from chain 0 are processed through all the
priorities by tc software.

Allow the offload of all the supported priorities for chain 0 even
when the hardware is not capable to perform modify header and goto
table actions.

Signed-off-by: Jianbo Liu <jianbol@mellanox.com>
Reviewed-by: Oz Shlomo <ozsh@nvidia.com>
Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c