efadv_query_device - Man Page

Query device capabilities

Synopsis

#include <infiniband/efadv.h>

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

Description

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

max_rdma_size

Maximum RDMA transfer size in bytes.

Return Value

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

See Also

efadv(7)

Notes

Authors

Gal Pressman <galpress@amazon.com>

Info

2019-04-22 EFA Direct Verbs Manual