d6b92ffa99
kernel APIs. List of sources used: 1) rdma-core was cloned from "https://github.com/linux-rdma/rdma-core.git" Top commit d65138ef93af30b3ea249f3a84aa6a24ba7f8a75 2) OpenSM was cloned from git://git.openfabrics.org/~halr/opensm.git Top commit 85f841cf209f791c89a075048a907020e924528d 3) libibmad was cloned from "git://git.openfabrics.org/~iraweiny/libibmad.git" Tag 1.3.13 with some additional patches from Mellanox. 4) infiniband-diags was cloned from "git://git.openfabrics.org/~iraweiny/infiniband-diags.git" Tag 1.6.7 with some additional patches from Mellanox. Added the required Makefiles for building and installing. Sponsored by: Mellanox Technologies
50 lines
2.0 KiB
Groff
50 lines
2.0 KiB
Groff
.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
|
|
.TH "RDMA_CREATE_QP" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
|
|
.SH NAME
|
|
rdma_create_qp \- Allocate a QP.
|
|
.SH SYNOPSIS
|
|
.B "#include <rdma/rdma_cma.h>"
|
|
.P
|
|
.B "int" rdma_create_qp
|
|
.BI "(struct rdma_cm_id *" id ","
|
|
.BI "struct ibv_pd *" pd ","
|
|
.BI "struct ibv_qp_init_attr *" qp_init_attr ");"
|
|
.SH ARGUMENTS
|
|
.IP "id" 12
|
|
RDMA identifier.
|
|
.IP "pd" 12
|
|
Optional protection domain for the QP.
|
|
.IP "qp_init_attr" 12
|
|
Initial QP attributes.
|
|
.SH "DESCRIPTION"
|
|
Allocate a QP associated with the specified rdma_cm_id and transition it
|
|
for sending and receiving.
|
|
.SH "RETURN VALUE"
|
|
Returns 0 on success, or -1 on error. If an error occurs, errno will be
|
|
set to indicate the failure reason.
|
|
.SH "NOTES"
|
|
The rdma_cm_id must be bound to a local RDMA device before calling this
|
|
function, and the protection domain must be for that same device.
|
|
QPs allocated to an rdma_cm_id are automatically transitioned by the
|
|
librdmacm through their states. After being allocated, the QP will be
|
|
ready to handle posting of receives. If the QP is unconnected, it will
|
|
be ready to post sends.
|
|
.P
|
|
If a protection domain is not given - pd parameter is NULL - then
|
|
the rdma_cm_id will be created using a default protection domain. One
|
|
default protection domain is allocated per RDMA device.
|
|
.P
|
|
The initial QP attributes are specified by the qp_init_attr parameter. The
|
|
send_cq and recv_cq fields in the ibv_qp_init_attr are optional. If
|
|
a send or receive completion queue is not specified, then a CQ will be
|
|
allocated by the rdma_cm for the QP, along with corresponding completion
|
|
channels. Completion channels and CQ data created by the rdma_cm are
|
|
exposed to the user through the rdma_cm_id structure.
|
|
.P
|
|
The actual capabilities and properties of the created QP will be
|
|
returned to the user through the qp_init_attr parameter. An rdma_cm_id
|
|
may only be associated with a single QP.
|
|
.SH "SEE ALSO"
|
|
rdma_bind_addr(3), rdma_resolve_addr(3), rdma_destroy_qp(3), ibv_create_qp(3),
|
|
ibv_modify_qp(3)
|