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

efadv_query_device - Query device capabilities

#include <infiniband/efadv.h>
int efadv_query_device(struct ibv_context *ibvctx,
               struct efadv_device_attr *attr,
               uint32_t inlen);

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;
};
In: Size of struct efadv_device_attr.
Compatibility mask.
Maximum Send Queue (SQ) Work Requests (WRs).
Maximum Receive Queue (RQ) Work Requests (WRs).
Maximum Send Queue (SQ) Scatter Gather Elements (SGEs).
Maximum Receive Queue (RQ) Scatter Gather Elements (SGEs).
Maximum inline buffer size.
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

Maximum RDMA transfer size in bytes.

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

efadv(7)

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

Gal Pressman <galpress@amazon.com>

2019-04-22 efa