efadv_query_device(3) — Linux manual page

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

EFADV_QUERY_DEVICE(3)    EFA Direct Verbs Manual    EFADV_QUERY_DEVICE(3)

NAME         top

       efadv_query_device - Query device capabilities

SYNOPSIS         top

              #include <infiniband/efadv.h>

              int efadv_query_device(struct ibv_context *ibvctx,
                             struct efadv_device_attr *attr,
                             uint32_t inlen);

DESCRIPTION         top

       efadv_query_device() Queries EFA device specific attributes.

       Compatibility is handled using the comp_mask and inlen fields.

              struct efadv_device_attr {
                  uint64_t comp_mask;
                  uint32_t max_sq_wr;
                  uint32_t max_rq_wr;
                  uint16_t max_sq_sge;
                  uint16_t max_rq_sge;
                  uint16_t inline_buf_size;
                  uint8_t reserved[2];
                  uint32_t device_caps;
                  uint32_t max_rdma_size;
              };

       inlen  In: Size of struct efadv_device_attr.

       comp_mask
              Compatibility mask.

       max_sq_wr
              Maximum Send Queue (SQ) Work Requests (WRs).

       max_rq_wr
              Maximum Receive Queue (RQ) Work Requests (WRs).

       max_sq_sge
              Maximum Send Queue (SQ) Scatter Gather Elements (SGEs).

       max_rq_sge
              Maximum Receive Queue (RQ) Scatter Gather Elements (SGEs).

       inline_buf_size
              Maximum inline buffer size.

       device_caps
              Bitmask of device capabilities:

              EFADV_DEVICE_ATTR_CAPS_RDMA_READ: RDMA read is supported.

              EFADV_DEVICE_ATTR_CAPS_RNR_RETRY: RNR retry is supported
              for SRD QPs.

              EFADV_DEVICE_ATTR_CAPS_CQ_WITH_SGID: Reading source address
              (SGID) from receive completion descriptors is supported.
              Valid only for unknown AH.

              EFADV_DEVICE_ATTR_CAPS_RDMA_WRITE: RDMA write is supported

              EFADV_DEVICE_ATTR_CAPS_UNSOLICITED_WRITE_RECV: Indicates
              the device has support for creating QPs that can receive
              unsolicited RDMA write with immediate.  RQ with this
              feature enabled will not consume any work requests in order
              to receive RDMA write with immediate and a WC generated for
              such receive will be marked as unsolicited.

              EFADV_DEVICE_ATTR_CAPS_CQ_WITH_EXT_MEM_DMABUF: Indicates
              that creating CQs with external memory buffers by passing
              dmabuf is supported.

       max_rdma_size
              Maximum RDMA transfer size in bytes.

RETURN VALUE         top

       efadv_query_device() returns 0 on success, or the value of errno
       on failure (which indicates the failure reason).

SEE ALSO         top

       efadv(7)

NOTES         top

       • Compatibility mask (comp_mask) is an out field and currently has
         no values.

AUTHORS         top

       Gal Pressman ⟨galpress@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-04-22          EFADV_QUERY_DEVICE(3)