efadv_create_qp_ex(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | SEE ALSO | AUTHORS | COLOPHON

EFADV_CREATE_QP_EX(3)    EFA Direct Verbs Manual    EFADV_CREATE_QP_EX(3)

NAME         top

       efadv_create_qp_ex - Create EFA specific extended Queue Pair

SYNOPSIS         top

              #include <infiniband/efadv.h>

              struct ibv_qp *efadv_create_qp_ex(struct ibv_context *ibvctx,
                                struct ibv_qp_init_attr_ex *attr_ex,
                                struct efadv_qp_init_attr *efa_attr,
                                uint32_t inlen);

DESCRIPTION         top

       efadv_create_qp_ex() creates device-specific extended Queue Pair.

       The argument attr_ex is an ibv_qp_init_attr_ex struct, as defined
       in <infiniband/verbs.h>.

       Use ibv_qp_to_qp_ex() to get the ibv_qp_ex for accessing the send
       ops iterator interface, when QP create attr
       IBV_QP_INIT_ATTR_SEND_OPS_FLAGS is used.

       Scalable Reliable Datagram (SRD) transport provides reliable
       out-of-order delivery, transparently utilizing multiple network
       paths to reduce network tail latency.  Its interface is similar to
       UD, in particular it supports message size up to MTU, with error
       handling extended to support reliable communication.

       Compatibility is handled using the comp_mask and inlen fields.

              struct efadv_qp_init_attr {
                  uint64_t comp_mask;
                  uint32_t driver_qp_type;
                  uint16_t flags;
                  uint8_t sl;
                  uint8_t reserved[1];
              };

       inlen  In: Size of struct efadv_qp_init_attr.

       comp_mask
              Compatibility mask.

       driver_qp_type
              The type of QP to be created:

              EFADV_QP_DRIVER_TYPE_SRD: Create an SRD QP.

       flags

              A bitwise OR of the values described below.

              EFADV_QP_FLAGS_UNSOLICITED_WRITE_RECV: Receive WRs will not
              be consumed for RDMA write with imm.

       sl     Service Level - 0 value implies default level.

RETURN VALUE         top

       efadv_create_qp_ex() returns a pointer to the created QP, or NULL
       if the request fails.

SEE ALSO         top

       efadv(7), ibv_create_qp_ex(3)

AUTHORS         top

       Gal Pressman ⟨galpress@amazon.com⟩ Daniel Kranzdorf
       ⟨dkkranzd@amazon.com⟩

COLOPHON         top

       This page is part of the rdma-core (RDMA Core Userspace Libraries
       and Daemons) project.  Information about the project can be found
       at ⟨https://github.com/linux-rdma/rdma-core⟩.  If you have a bug
       report for this manual page, send it to
       linux-rdma@vger.kernel.org.  This page was obtained from the
       project's upstream Git repository
       ⟨https://github.com/linux-rdma/rdma-core.git⟩ on 2025-08-11.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2025-08-04.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there is
       a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

efa                             2019-08-06          EFADV_CREATE_QP_EX(3)