1mlx5dv_reserved_qpn_alloc /mdlexa5llPorco(g3r)ammemrl’xs5dMva_nrueaslerved_qpn_alloc / dealloc(3)
2
3
4

NAME

6       mlx5dv_reserved_qpn_alloc - Allocate a reserved QP number from device
7
8       mlx5dv_reserved_qpn_dealloc - Release the reserved QP number
9

SYNOPSIS

11              #include <infiniband/mlx5dv.h>
12
13              int mlx5dv_reserved_qpn_alloc(struct ibv_context *ctx, uint32_t *qpn);
14
15              int mlx5dv_reserved_qpn_dealloc(struct ibv_context *ctx, uint32_t qpn);
16

DESCRIPTION

18       When work with RDMA_CM RDMA_TCP_PS + external QP support, a client node
19       needs GUID level unique QP numbers to comply  with  the  CM’s  timewait
20       logic.
21
22       If  a real unique QP is not allocated, a device global QPN value is re‐
23       quired and can be allocated via this interface.
24
25       The mlx5 DCI QP is such an example, which could connect to  the  remote
26       DCT’s multiple times as long as the application provides unique QPN for
27       each new RDMA_CM connection.
28
29       These 2 APIs provide the allocation/deallocation of a unique QP  number
30       from/to device.  This qpn can be used with DC QPN in RDMA_CM connection
31       establishment, which will comply with the CM timewait kernel logic.
32

ARGUMENTS

34       ctx    The device context to issue the action on.
35
36       qpn    The allocated QP number (for alloc API), or the QP number to  be
37              deallocated (for dealloc API).
38

RETURN VALUE

40       0 on success; EOPNOTSUPP if not supported, or other errno value on oth‐
41       er failures.
42

AUTHOR

44       Mark Zhang <markzhang@nvidia.com>
45
46       Alex Rosenbaum <alexr@nvidia.com>
47
48
49
50mlx5                              2020-12m-l2x95dv_reserved_qpn_alloc / dealloc(3)
Impressum