]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Sep 2021 08:00:53 +0000 (10:00 +0200)
[ Upstream commit ca6891f9b27db7764bba0798202b0a21d0dc909c ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
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);