3 .TH IBV_CREATE_XRC_RCV_QP 3 2008-02-10 libibverbs "Libibverbs Programmer's Manual"
5 ibv_create_xrc_rcv_qp \- create an XRC queue pair (QP) for serving as a receive-side only QP
8 .B #include <infiniband/verbs.h>
10 .BI "int ibv_create_xrc_rcv_qp(struct ibv_qp_init_attr " "*init_attr" ,
11 .BI " uint32_t " "*xrc_rcv_qpn" );
14 .B ibv_create_xrc_rcv_qp()
15 creates an XRC queue pair (QP) for serving as a receive-side only QP and returns its number through the pointer
17 This QP number should be passed to the remote node (sender).
18 The remote node will use
22 when sending to an XRC SRQ on this host in the same xrc domain as the XRC receive QP.
23 This QP is created in kernel space, and persists until the last process registered for the QP
25 .B ibv_unreg_xrc_rcv_qp()
26 (at which time the QP is destroyed).
28 The process which creates this QP is automatically registered for it, and should also call
29 .B ibv_unreg_xrc_rcv_qp()
30 at some point, to unregister.
32 Processes which wish to receive on an XRC SRQ via this QP should call
33 .B ibv_reg_xrc_rcv_qp()
34 for this QP, to guarantee that the QP will not be destroyed while they are still using it for receiving on the XRC SRQ.
38 is an ibv_qp_init_attr struct, as defined in <infiniband/verbs.h>.
41 struct ibv_qp_init_attr {
43 void *qp_context; /* value is being ignored */
44 struct ibv_cq *send_cq; /* value is being ignored */
45 struct ibv_cq *recv_cq; /* value is being ignored */
46 struct ibv_srq *srq; /* value is being ignored */
47 struct ibv_qp_cap cap; /* value is being ignored */
48 enum ibv_qp_type qp_type; /* value is being ignored */
49 int sq_sig_all; /* value is being ignored */
50 struct ibv_xrc_domain *xrc_domain; /* XRC domain the QP will be associated with */
55 Most of the attributes in
57 are being ignored because this QP is a receive only QP and all RR are being posted to an SRQ.
59 .B ibv_create_xrc_rcv_qp()
60 returns 0 on success, or the value of errno on failure (which indicates the failure reason).
62 .BR ibv_open_xrc_domain (3),
63 .BR ibv_modify_xrc_rcv_qp (3),
64 .BR ibv_query_xrc_rcv_qp (3),
65 .BR ibv_reg_xrc_rcv_qp (3),
66 .BR ibv_unreg_xrc_rcv_qp (3),
70 Dotan Barak <dotanb@mellanox.co.il>