Skip to contentSkip to conversation

net/mlx5: fix GRE item translation for root table

PATCH In review Gregory Etelson 2 participants 2 messages Oct 27, 2024 – Oct 28, 2024 Network drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 net/mlx5: fix GRE item translation for root table

Flow items translations for the root tables reuses DV code.

DV GRE item translation did not initiate item mask for HWS template.

Fixes cd4ab742064a ("net/mlx5: split flow item matcher and value translation")
---
 drivers/net/mlx5/mlx5_flow_dv.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)
drivers/net/mlx5/mlx5_flow_dv.c +12 -11
index 201e215e4b..7c3a1d537a 100644
@@ -9829,22 +9829,23 @@ flow_dv_translate_item_gre(void *key, const struct rte_flow_item *item,
 	} gre_crks_rsvd0_ver_m, gre_crks_rsvd0_ver_v;
 	uint16_t protocol_m, protocol_v;
 
-	if (key_type & MLX5_SET_MATCHER_M)
+	if (key_type & MLX5_SET_MATCHER_M) {
 		MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol, 0xff);
-	else
+		if (!gre_m)
+			gre_m = &rte_flow_item_gre_mask;
+		gre_v = gre_m;
+	} else {
 		MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
 			 IPPROTO_GRE);
-	if (!gre_v) {
-		gre_v = &empty_gre;
-		gre_m = &empty_gre;
-	} else {
-		if (!gre_m)
+		if (!gre_v) {
+			gre_v = &empty_gre;
+			gre_m = &empty_gre;
+		} else if (!gre_m) {
 			gre_m = &rte_flow_item_gre_mask;
+		}
+		if (key_type == MLX5_SET_MATCHER_HS_V)
+			gre_m = gre_v;
 	}
-	if (key_type & MLX5_SET_MATCHER_M)
-		gre_v = gre_m;
-	else if (key_type == MLX5_SET_MATCHER_HS_V)
-		gre_m = gre_v;
 	gre_crks_rsvd0_ver_m.value = rte_be_to_cpu_16(gre_m->c_rsvd0_ver);
 	gre_crks_rsvd0_ver_v.value = rte_be_to_cpu_16(gre_v->c_rsvd0_ver);
 	MLX5_SET(fte_match_set_misc, misc_v, gre_c_present,
Signature · 1 line
2.43.0
Acked-by Suanming Mou on v1 1/1
#1 lore raw

Hi,

From: Gregory Etelson <[email protected]>
Sent: Sunday, October 27, 2024 2:39 PM
To: [email protected]
Cc: Gregory Etelson; Maayan Kashani; Raslan Darawsheh; [email protected]; Suanming Mou; Dariusz Sosnowski; Slava Ovsiienko; Bing Zhao; Ori Kam; Matan Azrad
Subject: [PATCH] net/mlx5: fix GRE item translation for root table

Flow items translations for the root tables reuses DV code.

DV GRE item translation did not initiate item mask for HWS template.

Fixes cd4ab742064a ("net/mlx5: split flow item matcher and value translation")

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh