.\" -*- nroff -*- .\" .TH IBV_CREATE_XRC_RCV_QP 3 2008-02-10 libibverbs "Libibverbs Programmer's Manual" .SH "NAME" ibv_create_xrc_rcv_qp \- create an XRC queue pair (QP) for serving as a receive-side only QP .SH "SYNOPSIS" .nf .B #include .sp .BI "int ibv_create_xrc_rcv_qp(struct ibv_qp_init_attr " "*init_attr" , .BI " uint32_t " "*xrc_rcv_qpn" ); .fi .SH "DESCRIPTION" .B ibv_create_xrc_rcv_qp() creates an XRC queue pair (QP) for serving as a receive-side only QP and returns its number through the pointer .I xrc_rcv_qpn\fR. This QP number should be passed to the remote node (sender). The remote node will use .I xrc_rcv_qpn in .B ibv_post_send() when sending to an XRC SRQ on this host in the same xrc domain as the XRC receive QP. This QP is created in kernel space, and persists until the last process registered for the QP calls .B ibv_unreg_xrc_rcv_qp() (at which time the QP is destroyed). .PP The process which creates this QP is automatically registered for it, and should also call .B ibv_unreg_xrc_rcv_qp() at some point, to unregister. Processes which wish to receive on an XRC SRQ via this QP should call .B ibv_reg_xrc_rcv_qp() for this QP, to guarantee that the QP will not be destroyed while they are still using it for receiving on the XRC SRQ. .PP The argument .I qp_init_attr is an ibv_qp_init_attr struct, as defined in . .PP .nf struct ibv_qp_init_attr { .in +8 void *qp_context; /* value is being ignored */ struct ibv_cq *send_cq; /* value is being ignored */ struct ibv_cq *recv_cq; /* value is being ignored */ struct ibv_srq *srq; /* value is being ignored */ struct ibv_qp_cap cap; /* value is being ignored */ enum ibv_qp_type qp_type; /* value is being ignored */ int sq_sig_all; /* value is being ignored */ struct ibv_xrc_domain *xrc_domain; /* XRC domain the QP will be associated with */ .in -8 }; .fi .PP Most of the attributes in .I qp_init_attr are being ignored because this QP is a receive only QP and all RR are being posted to an SRQ. .SH "RETURN VALUE" .B ibv_create_xrc_rcv_qp() returns 0 on success, or the value of errno on failure (which indicates the failure reason). .SH "SEE ALSO" .BR ibv_open_xrc_domain (3), .BR ibv_modify_xrc_rcv_qp (3), .BR ibv_query_xrc_rcv_qp (3), .BR ibv_reg_xrc_rcv_qp (3), .BR ibv_unreg_xrc_rcv_qp (3), .BR ibv_post_send (3) .SH "AUTHORS" .TP Dotan Barak