From: Chris Mi <c...@nvidia.com>

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 <c...@nvidia.com>
Reviewed-by: Oz Shlomo <o...@nvidia.com>
Reviewed-by: Mark Bloch <mbl...@nvidia.com>
Signed-off-by: Saeed Mahameed <sae...@nvidia.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c 
b/drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c
index abba1b801048..9e72118f2e4c 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c
@@ -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;
-- 
2.30.2

Reply via email to