net/mlx5e: CT: Fix setting flow_source for smfs ct tuples
authorPaul Blakey <paulb@nvidia.com>
Thu, 7 Apr 2022 10:37:32 +0000 (13:37 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 18 May 2022 06:03:56 +0000 (23:03 -0700)
Cited patch sets flow_source to ANY overriding the provided spec
flow_source, avoiding the optimization done by commit c9c079b4deaa
("net/mlx5: CT: Set flow source hint from provided tuple device").

To fix the above, set the dr_rule flow_source from provided flow spec.

Fixes: 3ee61ebb0df1 ("net/mlx5: CT: Add software steering ct flow steering provider")
Signed-off-by: Paul Blakey <paulb@nvidia.com>
Reviewed-by: Oz Shlomo <ozsh@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c

index 271261b..bec9ed0 100644 (file)
@@ -330,7 +330,7 @@ mlx5_ct_fs_smfs_ct_rule_add(struct mlx5_ct_fs *fs, struct mlx5_flow_spec *spec,
        }
 
        rule = mlx5_smfs_rule_create(smfs_matcher->dr_matcher, spec, num_actions, actions,
-                                    MLX5_FLOW_CONTEXT_FLOW_SOURCE_ANY_VPORT);
+                                    spec->flow_context.flow_source);
        if (!rule) {
                err = -EINVAL;
                goto err_create;