EFADV_CREATE_QP_EX(3)
π NAME π
okay so this is EFADV_CREATE_QP_EX(3), straight out of the EFA Direct Verbs Manual β and it's literally the page for efadv_create_qp_ex: Create EFA specific extended Queue Pair. iconic behavior only π
β¨ SYNOPSIS β¨
#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 π
efadv_create_qp_ex() creates a device-specific extended Queue Pair. yes bestie, that's the whole vibe: you're making the fancy EFA QP π
The argument attr_ex is an ibv_qp_init_attr_ex struct, as defined in <infiniband/verbs.h>. keep that include energy, no cap π«Ά
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. that's the little doorway to the send-ops iterator situation, iykyk β¨
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. so yes, reliable out-of-order delivery with multiple paths doing the most to reduce tail latency π
Compatibility is handled using the comp_mask and inlen fields. very "we planned ahead" of it all π
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 structefadv_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 -0value implies default level.
π₯ RETURN VALUE π₯
efadv_create_qp_ex() returns a pointer to the created QP, or NULL if the request fails. so if you get NULL, bestie, the request said "not today" ππ
π¦ SEE ALSO π¦
πΈ AUTHORS πΈ
Shoutout to Gal Pressman <galpress@amazon.com> and Daniel Kranzdorf <dkkranzd@amazon.com> β they wrote this page, and we respect it π«Ά
okay that's the whole page β source/version is efa, date 2019-08-06, and yes bestie, this is the EFADV_CREATE_QP_EX(3) page. byeee π
β¨
π¦ where this page comes from
- alpine 3.24: rdma-core-doc 61.0-r0 Β· GPL-2.0-only OR BSD-2-Clause
- centos-stream 10: rdma-core-devel 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms