Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ibv_close_xrcd(3) [centos man page]

IBV_OPEN_XRCD(3)					  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 <infiniband/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 associated 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). NOTES
ibv_close_xrcd() may fail if any other resource is still associated with the XRCD being closed. 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)

Check Out this Related Man Page

IBV_CREATE_QP_EX(3)					  Libibverbs Programmer's Manual				       IBV_CREATE_QP_EX(3)

NAME
ibv_create_qp_ex, ibv_destroy_qp - create or destroy a queue pair (QP) SYNOPSIS
#include <infiniband/verbs.h> struct ibv_qp *ibv_create_qp_ex(struct ibv_context *context, struct ibv_qp_init_attr_ex *qp_init_attr); int ibv_destroy_qp(struct ibv_qp *qp); DESCRIPTION
ibv_create_qp_ex() creates a queue pair (QP) associated with the protection domain pd. The argument qp_init_attr_ex is an ibv_qp_init_attr_ex struct, as defined in <infiniband/verbs.h>. struct ibv_qp_init_attr_ex { void *qp_context; /* Associated context of the QP */ struct ibv_cq *send_cq; /* CQ to be associated with the Send Queue (SQ) */ struct ibv_cq *recv_cq; /* CQ to be associated with the Receive Queue (RQ) */ struct ibv_srq *srq; /* SRQ handle if QP is to be associated with an SRQ, otherwise NULL */ struct ibv_qp_cap cap; /* QP capabilities */ enum ibv_qp_type qp_type; /* QP Transport Service Type: IBV_QPT_RC, IBV_QPT_UC, IBV_QPT_UD or IBV_QPT_RAW_PACKET */ int sq_sig_all; /* If set, each Work Request (WR) submitted to the SQ generates a completion entry */ uint32_t comp_mask; /* Identifies valid fields */ struct ibv_pd *pd; /* PD to be associated with the QP */ struct ibv_xrcd *xrcd; /* XRC domain to be associated with the target QP */ enum ibv_qp_create_flags create_flags; /* Creation flags for this QP */ }; struct ibv_qp_cap { uint32_t max_send_wr; /* Requested max number of outstanding WRs in the SQ */ uint32_t max_recv_wr; /* Requested max number of outstanding WRs in the RQ */ uint32_t max_send_sge; /* Requested max number of scatter/gather (s/g) elements in a WR in the SQ */ uint32_t max_recv_sge; /* Requested max number of s/g elements in a WR in the SQ */ uint32_t max_inline_data;/* Requested max number of data (bytes) that can be posted inline to the SQ, otherwise 0 */ }; The function ibv_create_qp_ex() will update the qp_init_attr_ex->cap struct with the actual QP values of the QP that was created; the val- ues will be greater than or equal to the values requested. ibv_destroy_qp() destroys the QP qp. RETURN VALUE
ibv_create_qp_ex() returns a pointer to the created QP, or NULL if the request fails. Check the QP number (qp_num) in the returned QP. ibv_destroy_qp() returns 0 on success, or the value of errno on failure (which indicates the failure reason). NOTES
The attributes max_recv_wr and max_recv_sge are ignored by ibv_create_qp_ex() if the QP is to be associated with an SRQ. ibv_destroy_qp() fails if the QP is attached to a multicast group. SEE ALSO
ibv_alloc_pd(3), ibv_modify_qp(3), ibv_query_qp(3) AUTHORS
Yishai Hadas <yishaih@mellanox.com> libibverbs 2013-06-26 IBV_CREATE_QP_EX(3)
Man Page