From: Vu Pham <vuhu...@mellanox.com>

Uplink vport must have a dedicated metadata with vhca_id
being part of the metadata.

Fixes: 133dcfc577ea ("net/mlx5: E-Switch, Alloc and free unique metadata for 
match")
Signed-off-by: Vu Pham <vuhu...@mellanox.com>
Reviewed-by: Mark Bloch <mbl...@nvidia.com>
Signed-off-by: Saeed Mahameed <sae...@nvidia.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c 
b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
index 4cbadb15297c..9c740ce73085 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
@@ -1908,9 +1908,6 @@ void mlx5_esw_match_metadata_free(struct mlx5_eswitch 
*esw, u32 metadata)
 static int esw_offloads_vport_metadata_setup(struct mlx5_eswitch *esw,
                                             struct mlx5_vport *vport)
 {
-       if (vport->vport == MLX5_VPORT_UPLINK)
-               return 0;
-
        vport->default_metadata = mlx5_esw_match_metadata_alloc(esw);
        vport->metadata = vport->default_metadata;
        return vport->metadata ? 0 : -ENOSPC;
@@ -1919,7 +1916,7 @@ static int esw_offloads_vport_metadata_setup(struct 
mlx5_eswitch *esw,
 static void esw_offloads_vport_metadata_cleanup(struct mlx5_eswitch *esw,
                                                struct mlx5_vport *vport)
 {
-       if (vport->vport == MLX5_VPORT_UPLINK || !vport->default_metadata)
+       if (!vport->default_metadata)
                return;
 
        WARN_ON(vport->metadata != vport->default_metadata);
-- 
2.26.2

Reply via email to