mlx5/core: E-Switch, Allocate ECPF vport if it's an eswitch manager
authorBodong Wang <bodong@nvidia.com>
Tue, 6 Jun 2023 07:12:18 +0000 (00:12 -0700)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 7 Jun 2023 21:00:44 +0000 (14:00 -0700)
Eswitch vport is needed for eswitch manager when creating LAG,
to create egress rules. However, this was not handled when ECPF is
an eswitch manager.

Signed-off-by: Bodong Wang <bodong@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c

index 31956cd..ecd8864 100644 (file)
@@ -1601,7 +1601,8 @@ static int mlx5_esw_vports_init(struct mlx5_eswitch *esw)
                idx++;
        }
 
-       if (mlx5_ecpf_vport_exists(dev)) {
+       if (mlx5_ecpf_vport_exists(dev) ||
+           mlx5_core_is_ecpf_esw_manager(dev)) {
                err = mlx5_esw_vport_alloc(esw, idx, MLX5_VPORT_ECPF);
                if (err)
                        goto err;