[v4] net/mlx5/hws: fix saving of jumbo tag for deletion
Checks
Commit Message
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@dpdk.org
Signed-off-by: Erez Shitrit <erezsh@nvidia.com>
Reviewed-by: Alex Vesker <valex@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
drivers/net/mlx5/hws/mlx5dr_rule.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Comments
Hi,
> -----Original Message-----
> From: Erez Shitrit <erezsh@nvidia.com>
> Sent: Wednesday, March 22, 2023 4:44 PM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Matan Azrad <matan@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>
> Subject: [PATCH v4] net/mlx5/hws: fix saving of jumbo tag for deletion
>
>
> 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@dpdk.org
>
> Signed-off-by: Erez Shitrit <erezsh@nvidia.com>
> Reviewed-by: Alex Vesker <valex@nvidia.com>
> Acked-by: Matan Azrad <matan@nvidia.com>
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
@@ -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);