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);
Librdmacm Programmer's Manual 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. Currently level
RDMA_OPTION_ID is supported.
optname Name of the option, relative to the level, to set. The
supported options are RDMA_OPTION_ID_REUSEADDR and
RDMA_OPTION_ID_TOS for level RDMA_OPTION_ID.
optval Reference to the option data. The data is dependent on the
level and optname. For the options RDMA_OPTION_ID_REUSE-
ADDR and RDMA_OPTION_ID_TOS, an integer is passed.
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.
The RDMA_OPTION_ID_REUSEADDR option can be used to enable or disable
REUSEADDR option for a CMID. A value of 0 disables the option and a
non-zero value enables the option. This option can be set before call-
ing rdma_bind_addr(3) or the rdma_resolve_addr(3) API. Listening for
connection requests, using rdma_listen(3), is not supported for CMIDs
set with this option. This option enables multiple connections to share
the same source IP Port on the active side of the connection. The
RDMA_OPTION_ID_TOS option can be used to set the Terms of Service
level. A value of 0 disables the option and a non-zero value enables
the option.
RETURN VALUE
Returns 0 on success, or -1 on error. If an error occurs, errno will
be set to indicate the failure reason.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+-----------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------------+
|Availability | network/open-fabrics |
+---------------+-----------------------+
|Stability | Pass-through volatile |
+---------------+-----------------------+
NOTES
Option details may be found in the relevent header files.
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from ['https://www.openfabrics.org/down-
loads/ibutils/ibutils-1.5.7-0.2.gbd7e502.tar.gz', 'https://www.openfab-
rics.org/downloads/libibverbs/libibverbs-1.1.8.tar.gz',
'https://www.openfabrics.org/downloads/libmlx4/libmlx4-1.0.6.tar.gz',
'https://www.openfabrics.org/downloads/libsdp/lib-
sdp-1.1.108-0.15.gd7fdb72.tar.gz', 'https://www.openfabrics.org/down-
loads/management/infiniband-diags-1.6.5.tar.gz', 'https://www.openfab-
rics.org/downloads/management/libibmad-1.3.12.tar.gz',
'https://www.openfabrics.org/downloads/management/libibu-
mad-1.3.10.2.tar.gz', 'https://www.openfabrics.org/downloads/manage-
ment/opensm-3.3.19.tar.gz', 'https://www.openfabrics.org/down-
loads/perftest/perftest-1.3.0-0.42.gf350d3d.tar.gz', 'https://www.open-
fabrics.org/downloads/qperf/qperf-0.4.9.tar.gz', 'https://www.openfab-
rics.org/downloads/rdmacm/librdmacm-1.0.21.tar.gz', 'https://www.open-
fabrics.org/downloads/rds-tools/rds-tools-2.0.4.tar.gz'].
Further information about this software can be found on the open source
community website at http://www.openfabrics.org/.
SEE ALSO
rdma_create_id(3)
librdmacm 2007-08-06 RDMA_SET_OPTION(3)