Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
verbs: Add interfaces to configure and use ECE
ECE parameters are vendor specific information per-QP, provide a way to set and query ECE data. * ibv_set_ece() - overwrite default ECE options and instruct libibverbs to use ECE data while enabling QP. * ibv_query_ece() - get ECE options. Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
- Loading branch information
Leon Romanovsky
committed
Jun 15, 2020
1 parent
c80296a
commit 55b5113
Showing
10 changed files
with
220 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
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,75 @@ | ||
--- | ||
date: 2020-01-22 | ||
footer: libibverbs | ||
header: "Libibverbs Programmer's Manual" | ||
layout: page | ||
license: 'Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md' | ||
section: 3 | ||
title: IBV_QUERY_ECE | ||
--- | ||
|
||
# NAME | ||
|
||
ibv_query_ece - query ECE options. | ||
|
||
# SYNOPSIS | ||
|
||
```c | ||
#include <infiniband/verbs.h> | ||
|
||
int ibv_query_ece(struct ibv_qp *qp, struct ibv_ece *ece); | ||
``` | ||
# DESCRIPTION | ||
**ibv_query_ece()** query ECE options. | ||
Return to the user current ECE state for the QP. | ||
# ARGUMENTS | ||
*qp* | ||
: The queue pair (QP) associated with the ECE options. | ||
## *ece* Argument | ||
: The ECE values. | ||
```c | ||
struct ibv_ece { | ||
uint32_t vendor_id; | ||
uint32_t options; | ||
uint32_t comp_mask; | ||
}; | ||
``` | ||
|
||
*vendor_id* | ||
: Unique identifier of the provider vendor on the network. | ||
The providers will set IEEE OUI here to distinguish itself | ||
in non-homogenius network. | ||
|
||
*options* | ||
: Provider specific attributes which are supported. | ||
|
||
*comp_mask* | ||
: Bitmask specifying what fields in the structure are valid. | ||
|
||
# RETURN VALUE | ||
|
||
**ibv_query_ece()** returns 0 when the call was successful, or the errno value | ||
which indicates the failure reason. | ||
|
||
*EOPNOTSUPP* | ||
: libibverbs or provider driver doesn't support the ibv_set_ece() verb. | ||
|
||
*EINVAL* | ||
: In one of the following: | ||
o The QP is invalid. | ||
o The ECE options are invalid. | ||
|
||
# SEE ALSO | ||
|
||
**ibv_set_ece**(3), | ||
|
||
# AUTHOR | ||
|
||
Leon Romanovsky <leonro@mellanox.com> | ||
|
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,78 @@ | ||
--- | ||
date: 2020-01-22 | ||
footer: libibverbs | ||
header: "Libibverbs Programmer's Manual" | ||
layout: page | ||
license: 'Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md' | ||
section: 3 | ||
title: IBV_SET_ECE | ||
--- | ||
|
||
# NAME | ||
|
||
ibv_set_ece - set ECE options and use them for QP configuration stage. | ||
|
||
# SYNOPSIS | ||
|
||
```c | ||
#include <infiniband/verbs.h> | ||
|
||
int ibv_set_ece(struct ibv_qp *qp, struct ibv_ece *ece); | ||
``` | ||
# DESCRIPTION | ||
**ibv_set_ece()** set ECE options and use them for QP configuration stage. | ||
The desired ECE options will be used during various modify QP stages | ||
based on supported options in relevant QP state. | ||
# ARGUMENTS | ||
*qp* | ||
: The queue pair (QP) associated with the ECE options. | ||
## *ece* Argument | ||
: The requested ECE values. This is IN/OUT field, the accepted options | ||
will be returned in this field. | ||
```c | ||
struct ibv_ece { | ||
uint32_t vendor_id; | ||
uint32_t options; | ||
uint32_t comp_mask; | ||
}; | ||
``` | ||
|
||
*vendor_id* | ||
: Unique identifier of the provider vendor on the network. | ||
The providers will set IEEE OUI here to distinguish itself | ||
in non-homogenius network. | ||
|
||
*options* | ||
: Provider specific attributes which are supported or | ||
needed to be enabled by ECE users. | ||
|
||
*comp_mask* | ||
: Bitmask specifying what fields in the structure are valid. | ||
|
||
# RETURN VALUE | ||
|
||
**ibv_set_ece()** returns 0 when the call was successful, or the errno value | ||
which indicates the failure reason. | ||
|
||
*EOPNOTSUPP* | ||
: libibverbs or provider driver doesn't support the ibv_set_ece() verb. | ||
|
||
*EINVAL* | ||
: In one of the following: | ||
o The QP is invalid. | ||
o The ECE options are invalid. | ||
|
||
# SEE ALSO | ||
|
||
**ibv_query_ece**(3), | ||
|
||
# AUTHOR | ||
|
||
Leon Romanovsky <leonro@mellanox.com> | ||
|
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