ibv_open_xrcd - open or close an XRC protection domain (XRCDs)
#include <infiniband/verbs.h> struct ibv_xrcd *ibv_open_xrcd(struct ibv_context *context, struct ibv_xrcd_init_attr *xrcd_init_attr); int ibv_close_xrcd(struct ibv_xrcd *xrcd);
Libibverbs Programmer's Manual IBV_OPEN_XRCD(3) NAME ibv_open_xrcd, ibv_close_xrcd - open or close an XRC protection domain (XRCDs) SYNOPSIS #include <infiniband/verbs.h> struct ibv_xrcd *ibv_open_xrcd(struct ibv_context *context, struct ibv_xrcd_init_attr *xrcd_init_attr); int ibv_close_xrcd(struct ibv_xrcd *xrcd); DESCRIPTION ibv_open_xrcd() open an XRC domain for the RDMA device context context xrcd_init_attr is an ibv_xrcd_init_attr struct, as defined in <infini- band/verbs.h>. struct ibv_xrcd_init_attr { uint32_t comp_mask; /* Identifies valid fields */ int fd; int oflag; fd is the file descriptor to associate with the XRCD. oflag describes the desired creation attributes. It is a bitwise OR of zero or more of the following flags: O_CREAT Indicates that an XRCD should be created and associated with the inode referenced by the given fd. If the XRCD exists, this flag has no effect except as noted under O_EXCL below. O_EXCL If O_EXCL and O_CREAT are set, open will fail if an XRCD associ- ated with the inode exists. If fd equals -1, no inode is associated with the XRCD. To indicate that XRCD should be created, use oflag = O_CREAT. ibv_close_xrcd() closes the XRCD xrcd. If this is the last reference, the XRCD will be destroyed. RETURN VALUE ibv_open_xrcd() returns a pointer to the opened XRCD, or NULL if the request fails. ibv_close_xrcd() returns 0 on success, or the value of errno on failure (which indicates 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 ibv_close_xrcd() may fail if any other resource is still associated with the XRCD being closed. 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 ibv_create_srq_ex(3), ibv_create_qp_ex(3), AUTHORS Sean Hefty <sean.hefty@intel.com> libibverbs 2011-06-17 IBV_OPEN_XRCD(3)