[SRU][Bionic][PATCH 4/5] net/mlx5e: Always use the match level enum when parsing TC rule match

Juerg Haefliger juerg.haefliger at canonical.com
Wed Sep 25 08:07:51 UTC 2019

From: Or Gerlitz <ogerlitz at mellanox.com>

BugLink: https://bugs.launchpad.net/bugs/1842502

We get the match level (none, l2, l3, l4) while going over the match
dissectors of an offloaded tc rule. When doing this, the match level
enum and the not min inline enum values should be used, fix that.

This worked accidentally b/c both enums have the same numerical values.

Fixes: d708f902989b ('net/mlx5e: Get the required HW match level while parsing TC flow matches')
Signed-off-by: Or Gerlitz <ogerlitz at mellanox.com>
Reviewed-by: Roi Dayan <roid at mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>
(cherry picked from commit 83621b7df6a646e550fd3d36db2e301cf9a5096b)
Signed-off-by: Juerg Haefliger <juergh at canonical.com>
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
index 66210595fb58..cb17eb25f696 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@ -875,10 +875,10 @@ static int __parse_cls_flower(struct mlx5e_priv *priv,
 			/* the HW doesn't need L3 inline to match on frag=no */
 			if (!(key->flags & FLOW_DIS_IS_FRAGMENT))
-				*match_level = MLX5_INLINE_MODE_L2;
+				*match_level = MLX5_MATCH_L2;
 	/* ***  L2 attributes parsing up to here *** */
-				*match_level = MLX5_INLINE_MODE_IP;
+				*match_level = MLX5_MATCH_L3;

More information about the kernel-team mailing list