NAME
rdma_set_option - Set communication options for an rdma_cm_id.
SYNOPSIS
#include <rdma/rdma_cma.h>
int rdma_set_option (struct rdma_cm_id *id, int level, int optname, void *optval, size_t optlen);
ARGUMENTS
- id
-
RDMA identifier.
- level
-
Protocol level of the option to set.
- optname
-
Name of the option, relative to the level, to set.
- optval
-
Reference to the option data. The data is dependent on the level and optname.
- optlen
-
The size of the %optval buffer.
DESCRIPTION
Sets communication options for an rdma_cm_id. This call is used to override the default system settings.
- optname can be one of
- RDMA_OPTION_ID_TOS
-
Specify the quality of service provided by a connection. The expected optlen is size of uint8_t.
- RDMA_OPTION_ID_REUSEADDR
-
Bound the rdma_cm_id to a reuseable address. This will allow other users to bind to that same address. The expected optlen is size of int.
- RDMA_OPTION_ID_AFONLY
-
Set IPV6_V6ONLY socket. The expected optlen is size of int.
- RDMA_OPTION_IB_PATH
-
Set IB path record data. The expected optlen is size of struct ibv_path_data[].
- RDMA_OPTION_ID_ACK_TIMEOUT
-
Set QP ACK timeout. The value calculated according to the formula 4.096 * 2^(ack_timeout) usec.
RETURN VALUE
Returns 0 on success, or -1 on error. If an error occurs, errno will be set to indicate the failure reason.
NOTES
Option details may be found in the relevant header files.