[PATCH v4] net/mlx5/hws: fix saving of jumbo tag for deletion

Erez Shitrit erezsh at nvidia.com
Wed Mar 22 15:44:13 CET 2023


In cases with more than one STE we didn't update the whole tag
of the match jumbo STE, Instead of 11B we kept only 8B like in
regular STE.
The ste_attr that keeps that indication was not updated at the
last iteration.
Now we indicate it is a jumbo frame before saving the tag for
future deletion of it.

Fixes: 405242c52dd5 ("net/mlx5/hws: add rule object")
Cc: stable at dpdk.org

Signed-off-by: Erez Shitrit <erezsh at nvidia.com>
Reviewed-by: Alex Vesker <valex at nvidia.com>
Acked-by: Matan Azrad <matan at nvidia.com>
---
 drivers/net/mlx5/hws/mlx5dr_rule.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/hws/mlx5dr_rule.c b/drivers/net/mlx5/hws/mlx5dr_rule.c
index 9d5e5b11a5..2418ca0b26 100644
--- a/drivers/net/mlx5/hws/mlx5dr_rule.c
+++ b/drivers/net/mlx5/hws/mlx5dr_rule.c
@@ -116,6 +116,9 @@ static void
 mlx5dr_rule_save_delete_info(struct mlx5dr_rule *rule,
 			     struct mlx5dr_send_ste_attr *ste_attr)
 {
+	struct mlx5dr_match_template *mt = rule->matcher->mt;
+	bool is_jumbo = mlx5dr_matcher_mt_is_jumbo(mt);
+
 	if (unlikely(mlx5dr_matcher_req_fw_wqe(rule->matcher))) {
 		uint8_t *src_tag;
 
@@ -136,7 +139,7 @@ mlx5dr_rule_save_delete_info(struct mlx5dr_rule *rule,
 		return;
 	}
 
-	if (ste_attr->wqe_tag_is_jumbo)
+	if (is_jumbo)
 		memcpy(rule->tag.jumbo, ste_attr->wqe_data->jumbo, MLX5DR_JUMBO_TAG_SZ);
 	else
 		memcpy(rule->tag.match, ste_attr->wqe_data->tag, MLX5DR_MATCH_TAG_SZ);
-- 
2.18.2



More information about the stable mailing list