net/mlx5: E-switch, Consider maximum vf vports for steering init
authorParav Pandit <parav@mellanox.com>
Mon, 20 Jul 2020 11:02:15 +0000 (14:02 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Tue, 28 Jul 2020 09:37:31 +0000 (02:37 -0700)
When eswitch is enabled, VFs might not be enabled. Hence, consider
maximum number of VFs.
This further closes the gap between handling VF vports between ECPF and
PF.

Fixes: ea2128fd632c ("net/mlx5: E-switch, Reduce dependency on num_vfs during mode set")
Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Reviewed-by: Bodong Wang <bodong@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c

index db856d7..a21b00d 100644 (file)
@@ -1986,15 +1986,9 @@ static void esw_destroy_uplink_offloads_acl_tables(struct mlx5_eswitch *esw)
 
 static int esw_offloads_steering_init(struct mlx5_eswitch *esw)
 {
-       int num_vfs = esw->esw_funcs.num_vfs;
-       int total_vports;
+       int total_vports = esw->total_vports;
        int err;
 
-       if (mlx5_core_is_ecpf_esw_manager(esw->dev))
-               total_vports = esw->total_vports;
-       else
-               total_vports = num_vfs + MLX5_SPECIAL_VPORTS(esw->dev);
-
        memset(&esw->fdb_table.offloads, 0, sizeof(struct offloads_fdb));
        mutex_init(&esw->fdb_table.offloads.vports.lock);
        hash_init(esw->fdb_table.offloads.vports.table);