RDMA_SET_OPTION(3)

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.

SEE ALSO
rdma_create_id(3)