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 the rdma_cm_id identifier is associated to a specific RDMA device. The rdma_accept operation is called on the new rdma_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.