[v2,8/8] net/mlx5: check DevX to support more Verbs ports
Checks
Commit Message
Verbs API doesn't support device port number larger than 255 by design.
To support more VF or SubFunction port representors, forces DevX API
check when max Verbs device link ports larger than 255.
Signed-off-by: Xueming Li <xuemingl@nvidia.com>
---
drivers/net/mlx5/linux/mlx5_os.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
Comments
> -----Original Message-----
> From: Xueming(Steven) Li <xuemingl@nvidia.com>
> Sent: Saturday, October 16, 2021 11:08
> To: dev@dpdk.org
> Cc: Xueming(Steven) Li <xuemingl@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Lior Margalit <lmargalit@nvidia.com>; Matan
> Azrad <matan@nvidia.com>
> Subject: [PATCH v2 8/8] net/mlx5: check DevX to support more Verbs ports
>
> Verbs API doesn't support device port number larger than 255 by design.
>
> To support more VF or SubFunction port representors, forces DevX API check
> when max Verbs device link ports larger than 255.
>
> Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
@@ -1299,12 +1299,6 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
config->dv_flow_en = 0;
}
#endif
- if (spawn->max_port > UINT8_MAX) {
- /* Verbs can't support ports larger than 255 by design. */
- DRV_LOG(ERR, "can't support IB ports > UINT8_MAX");
- err = EINVAL;
- goto error;
- }
config->ind_table_max_size =
sh->device_attr.max_rwq_indirection_table_size;
/*
@@ -1767,6 +1761,11 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
mlx5_rxq_ibv_obj_dummy_lb_create;
priv->obj_ops.lb_dummy_queue_release =
mlx5_rxq_ibv_obj_dummy_lb_release;
+ } else if (spawn->max_port > UINT8_MAX) {
+ /* Verbs can't support ports larger than 255 by design. */
+ DRV_LOG(ERR, "must enable DV and ESW when RDMA link ports > 255");
+ err = ENOTSUP;
+ goto error;
} else {
priv->obj_ops = ibv_obj_ops;
}