.\" Automatically generated by Pandoc 2.9.2.1
.\"
.TH "EFADV_QUERY_DEVICE" "3" "2019-04-22" "efa" "EFA Direct Verbs Manual"
.hy
.SH NAME
.PP
efadv_query_device - Query device capabilities
.SH SYNOPSIS
.IP
.nf
\f[C]
#include <infiniband/efadv.h>

int efadv_query_device(struct ibv_context *ibvctx,
               struct efadv_device_attr *attr,
               uint32_t inlen);
\f[R]
.fi
.SH DESCRIPTION
.PP
\f[B]efadv_query_device()\f[R] Queries EFA device specific attributes.
.PP
Compatibility is handled using the comp_mask and inlen fields.
.IP
.nf
\f[C]
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;
};
\f[R]
.fi
.TP
\f[I]inlen\f[R]
In: Size of struct efadv_device_attr.
.TP
\f[I]comp_mask\f[R]
Compatibility mask.
.TP
\f[I]max_sq_wr\f[R]
Maximum Send Queue (SQ) Work Requests (WRs).
.TP
\f[I]max_rq_wr\f[R]
Maximum Receive Queue (RQ) Work Requests (WRs).
.TP
\f[I]max_sq_sge\f[R]
Maximum Send Queue (SQ) Scatter Gather Elements (SGEs).
.TP
\f[I]max_rq_sge\f[R]
Maximum Receive Queue (RQ) Scatter Gather Elements (SGEs).
.TP
\f[I]inline_buf_size\f[R]
Maximum inline buffer size.
.TP
\f[I]device_caps\f[R]
Bitmask of device capabilities:
.RS
.PP
EFADV_DEVICE_ATTR_CAPS_RDMA_READ: RDMA read is supported.
.PP
EFADV_DEVICE_ATTR_CAPS_RNR_RETRY: RNR retry is supported for SRD QPs.
.PP
EFADV_DEVICE_ATTR_CAPS_CQ_WITH_SGID: Reading source address (SGID) from
receive completion descriptors is supported.
Valid only for unknown AH.
.RE
.TP
\f[I]max_rdma_size\f[R]
Maximum RDMA transfer size in bytes.
.SH RETURN VALUE
.PP
\f[B]efadv_query_device()\f[R] returns 0 on success, or the value of
errno on failure (which indicates the failure reason).
.SH SEE ALSO
.PP
\f[B]efadv\f[R](7)
.SH NOTES
.IP \[bu] 2
Compatibility mask (comp_mask) is an out field and currently has no
values.
.SH AUTHORS
.PP
Gal Pressman <galpress@amazon.com>
