net/mlx5e: TC, Fix post_act to not match on in_port metadata
authorMaor Dickman <maord@nvidia.com>
Mon, 18 Jul 2022 06:44:13 +0000 (09:44 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Thu, 28 Jul 2022 20:44:21 +0000 (13:44 -0700)
The cited commit changed CT to use multi table actions post act infrastructure instead
of using it own post act infrastructure, this broke decap during VF tunnel offload
(Stack devices) with CT due to wrong match on in_port metadata in the post act table.
This changed only broke VF tunnel offload because it modify the packet in_port metadata
to be VF metadata and it isn't propagate the post act creation.

Fixed by modify post act rules to match only on fte_id and not match on in_port metadata
which isn't needed.

Fixes: a81283263bb0 ("net/mlx5e: Use multi table support for CT and sample actions")
Signed-off-by: Maor Dickman <maord@nvidia.com>
Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_act.c

index dea137d..2b64dd5 100644 (file)
@@ -128,6 +128,7 @@ mlx5e_tc_post_act_add(struct mlx5e_post_act *post_act, struct mlx5_flow_attr *at
        post_attr->inner_match_level = MLX5_MATCH_NONE;
        post_attr->outer_match_level = MLX5_MATCH_NONE;
        post_attr->action &= ~MLX5_FLOW_CONTEXT_ACTION_DECAP;
+       post_attr->flags |= MLX5_ATTR_FLAG_NO_IN_PORT;
 
        handle->ns_type = post_act->ns_type;
        /* Splits were handled before post action */