diff options
author | 2020-01-14 17:30:41 +0200 | |
---|---|---|
committer | 2020-02-27 16:40:05 -0800 | |
commit | 96e326878fa5e2727d14e9a23644119374619010 (patch) | |
tree | 29479cf051c89e63ae21517e2f7ea054541417c5 /include | |
parent | net/mlx5: Eswitch, avoid redundant mask (diff) | |
download | linux-96e326878fa5e2727d14e9a23644119374619010.tar.gz linux-96e326878fa5e2727d14e9a23644119374619010.tar.bz2 linux-96e326878fa5e2727d14e9a23644119374619010.zip |
net/mlx5e: Eswitch, Use per vport tables for mirroring
When using port mirroring, we forward the traffic to another table and
use that table to forward to the mirrored vport. Since the hardware
loses the values of reg c, and in particular reg c0, we fail the match
on the input vport which previously existed in reg c0. To overcome this
situation, we use a set of per vport tables, positioned at the lowest
priority, and forward traffic to those tables. Since these tables are
per vport, we can avoid matching on reg c0.
Fixes: c01cfd0f1115 ("net/mlx5: E-Switch, Add match on vport metadata for rule in fast path")
Signed-off-by: Eli Cohen <eli@mellanox.com>
Reviewed-by: Mark Bloch <markb@mellanox.com>
Reviewed-by: Paul Blakey <paulb@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mlx5/fs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/mlx5/fs.h b/include/linux/mlx5/fs.h index 4cae16016b2b..a5cf5c76f348 100644 --- a/include/linux/mlx5/fs.h +++ b/include/linux/mlx5/fs.h @@ -84,6 +84,7 @@ enum { FDB_TC_OFFLOAD, FDB_FT_OFFLOAD, FDB_SLOW_PATH, + FDB_PER_VPORT, }; struct mlx5_pkt_reformat; |