net/mlx5: E-Switch, Set vhca id valid flag when creating indir fwd group
authorMaor Dickman <maord@nvidia.com>
Thu, 12 Aug 2021 11:30:39 +0000 (14:30 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Thu, 26 Aug 2021 22:15:42 +0000 (15:15 -0700)
When indirect forward group is created, flow is added with vhca id but
without setting vhca id valid flag which violates the PRM.

Fix by setting the missing flag, vhca id valid.

Fixes: 34ca65352ddf ("net/mlx5: E-Switch, Indirect table infrastructure")
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/esw/indir_table.c

index 3da7becc1069f74c4320f9387638f2a39cd7ed56..425c91814b34ffd15d2cc81af0a7331d08b455ee 100644 (file)
@@ -364,6 +364,7 @@ static int mlx5_create_indir_fwd_group(struct mlx5_eswitch *esw,
        dest.type = MLX5_FLOW_DESTINATION_TYPE_VPORT;
        dest.vport.num = e->vport;
        dest.vport.vhca_id = MLX5_CAP_GEN(esw->dev, vhca_id);
+       dest.vport.flags = MLX5_FLOW_DEST_VPORT_VHCA_ID;
        e->fwd_rule = mlx5_add_flow_rules(e->ft, spec, &flow_act, &dest, 1);
        if (IS_ERR(e->fwd_rule)) {
                mlx5_destroy_flow_group(e->fwd_grp);