net/mlx5: E-switch, Set per vport table default group number
authorChris Mi <cmi@nvidia.com>
Fri, 9 Oct 2020 03:06:33 +0000 (11:06 +0800)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 7 Apr 2021 04:36:02 +0000 (21:36 -0700)
Different per voprt table is created using a different per vport table
namespace. Because we can't use variable to set the namespace member
value.  If max group number is 0 in the namespace, use the eswitch
default max group number.

Signed-off-by: Chris Mi <cmi@nvidia.com>
Reviewed-by: Oz Shlomo <ozsh@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c

index abba1b8..9e72118 100644 (file)
@@ -28,7 +28,10 @@ esw_vport_tbl_create(struct mlx5_eswitch *esw, struct mlx5_flow_namespace *ns,
        struct mlx5_flow_table_attr ft_attr = {};
        struct mlx5_flow_table *fdb;
 
-       ft_attr.autogroup.max_num_groups = vport_ns->max_num_groups;
+       if (vport_ns->max_num_groups)
+               ft_attr.autogroup.max_num_groups = vport_ns->max_num_groups;
+       else
+               ft_attr.autogroup.max_num_groups = esw->params.large_group_num;
        ft_attr.max_fte = vport_ns->max_fte;
        ft_attr.prio = FDB_PER_VPORT;
        ft_attr.flags = vport_ns->flags;