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)

Referenced By

rdma_cm(7), rdma_create_id(3).

2007-08-06 Librdmacm Programmer's Manual