ibv_open_qp (3) - Linux Manuals

ibv_open_qp: open a shareable queue pair (QP)


ibv_open_qp - open a shareable queue pair (QP)


#include <infiniband/verbs.h>

struct ibv_qp *ibv_open_qp(struct ibv_context *context,
                           struct ibv_qp_open_attr *qp_open_attr);


ibv_open_qp() opens an existing queue pair (QP) associated with the extended protection domain xrcd. The argument qp_open_attr is an ibv_qp_open_attr struct, as defined in <infiniband/verbs.h>.

struct ibv_qp_open_attr {
uint32_t          comp_mask;  /* Identifies valid fields */
uint32_t          qp_num;     /* QP number */
struct            *ibv_xrcd;  /* XRC domain */
void             *qp_context; /* User defined opaque value */
enum ibv_qp_type  qp_type;    /* QP transport service type */

ibv_destroy_qp() closes the opened QP and destroys the underlying QP if it has no other references. qp.


ibv_open_qp() returns a pointer to the opened QP, or NULL if the request fails. Check the QP number (qp_num) in the returned QP.


ibv_open_qp() will fail if a it is asked to open a QP that does not exist within the xrcd with the specified qp_num and qp_type.


Sean Hefty <sean.hefty [at] intel.com>