rdma_set_option - Set communication options for an rdma_cm_id.
#include <rdma/rdma_cma.h>
int rdma_set_option (struct rdma_cm_id
*id, int level, int
optname, void *optval, size_t
optlen);
- 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.
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.
Returns 0 on success, or -1 on error. If an error occurs, errno
will be set to indicate the failure reason.
Option details may be found in the relevant header files.