rdma_accept
Accepts a connection request.
Syntax
#include <rdma/rdma_cma.h>
int rdma_accept(struct rdma_cm_id *id, struct rdma_conn_param *conn_param);
Description
The rdma_accept function is used to accept a connection lookup request.
Notes:
- The rdma_accept operation is not called on a listening
rdma_cm_id
identifier. After the rdma_listen operation is run, you must wait for a connection request event to occur. - The
rdma_cm_id
identifier is created by the connection request events similar to a new socket, but therdma_cm_id
identifier is associated to a specific RDMA device. The rdma_accept operation is called on the newrdma_cm_id
identifier.
Connection Properties
Refer to the rdma_connect routine for details on establishing a connection with the identifier.
Parameters
Item | Description |
---|---|
id | Specifies the connection identifier that is associated with the request. |
conn_param | Specifies the information required to establish the connection. |
Return Values
The rdma_accept function
returns the following values:
Item | Description |
---|---|
0 | On success. |
-1 | Error, see errno. |
InfiniBand specific
The InfiniBand QPs are configured with minimum RNR NAK timer and local ACK timeout values. The minimum RNR NAK timer value is set to 0, for a delay of 655 ms. The local ACK timeout is calculated based on the packet lifetime and local HCA ACK delay. The packet lifetime is determined by the InfiniBand Subnet Administrator and is part of the route (path record) information that is obtained from the active side of the connection. The HCA ACK delay is a property of the locally used HCA.
The RNR retry count is a 3-bit value.