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.
See Also
Referenced By
rdma_cm(7), rdma_create_id(3).