-
Notifications
You must be signed in to change notification settings - Fork 653
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mlx5: Add reserved_qpn allocation/deallocation support
Support allocate and deallocate a reserved QP number over DEVX APIs. Signed-off-by: Mark Zhang <[email protected]> Signed-off-by: Yishai Hadas <[email protected]>
- Loading branch information
1 parent
b8986e3
commit 628fb16
Showing
10 changed files
with
257 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
--- | ||
layout: page | ||
title: mlx5dv_reserved_qpn_alloc / dealloc | ||
section: 3 | ||
tagline: Verbs | ||
date: 2020-12-29 | ||
header: "mlx5 Programmer's Manual" | ||
footer: mlx5 | ||
--- | ||
|
||
# NAME | ||
|
||
mlx5dv_reserved_qpn_alloc - Allocate a reserved QP number from device | ||
|
||
mlx5dv_reserved_qpn_dealloc - Release the reserved QP number | ||
|
||
# SYNOPSIS | ||
|
||
```c | ||
#include <infiniband/mlx5dv.h> | ||
|
||
int mlx5dv_reserved_qpn_alloc(struct ibv_context *ctx, uint32_t *qpn); | ||
|
||
int mlx5dv_reserved_qpn_dealloc(struct ibv_context *ctx, uint32_t qpn); | ||
``` | ||
# DESCRIPTION | ||
When work with RDMA_CM RDMA_TCP_PS + external QP support, a client node needs GUID level unique QP numbers to comply with the CM's timewait logic. | ||
If a real unique QP is not allocated, a device global QPN value is required and can be allocated via this interface. | ||
The mlx5 DCI QP is such an example, which could connect to the remote DCT's multiple times as long as the application provides unique QPN for each new RDMA_CM connection. | ||
These 2 APIs provide the allocation/deallocation of a unique QP number from/to device. This qpn can be used with | ||
DC QPN in RDMA_CM connection establishment, which will comply with the CM timewait kernel logic. | ||
# ARGUMENTS | ||
*ctx* | ||
: The device context to issue the action on. | ||
*qpn* | ||
: The allocated QP number (for alloc API), or the QP number to be deallocated (for dealloc API). | ||
# RETURN VALUE | ||
0 on success; EOPNOTSUPP if not supported, or other errno value on other failures. | ||
# AUTHOR | ||
Mark Zhang <[email protected]> | ||
Alex Rosenbaum <[email protected]> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters