RDMA/mlx5: Create flow table with max size supported
Instead of failing the request, just use the supported number of flow entries. Signed-off-by: Mark Bloch <markb@mellanox.com> Reviewed-by: Maor Gottlieb <maorg@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
13a4376568
commit
3b70508a6b
|
@ -3233,12 +3233,11 @@ static struct mlx5_ib_flow_prio *get_flow_table(struct mlx5_ib_dev *dev,
|
|||
if (!ns)
|
||||
return ERR_PTR(-ENOTSUPP);
|
||||
|
||||
if (num_entries > max_table_size)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
max_table_size = min_t(int, num_entries, max_table_size);
|
||||
|
||||
ft = prio->flow_table;
|
||||
if (!ft)
|
||||
return _get_prio(ns, prio, priority, num_entries, num_groups,
|
||||
return _get_prio(ns, prio, priority, max_table_size, num_groups,
|
||||
flags);
|
||||
|
||||
return prio;
|
||||
|
@ -3838,8 +3837,7 @@ _get_flow_table(struct mlx5_ib_dev *dev,
|
|||
priority = FDB_BYPASS_PATH;
|
||||
}
|
||||
|
||||
if (max_table_size < MLX5_FS_MAX_ENTRIES)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
max_table_size = min_t(int, max_table_size, MLX5_FS_MAX_ENTRIES);
|
||||
|
||||
ns = mlx5_get_flow_namespace(dev->mdev, fs_matcher->ns_type);
|
||||
if (!ns)
|
||||
|
@ -3858,7 +3856,7 @@ _get_flow_table(struct mlx5_ib_dev *dev,
|
|||
if (prio->flow_table)
|
||||
return prio;
|
||||
|
||||
return _get_prio(ns, prio, priority, MLX5_FS_MAX_ENTRIES,
|
||||
return _get_prio(ns, prio, priority, max_table_size,
|
||||
MLX5_FS_MAX_TYPES, flags);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue