EFADV_QUERY_AH(3)
π EFADV_QUERY_AH(3) β like, the EFA Direct Verbs manual, bestie π¦
okay so welcome to the EFA Direct Verbs Manual, section 3, page EFADV_QUERY_AH β yes the whole title, we're doing this properly β¨
πΈ NAME πΈ
efadv_query_ah β it queries the EFA-specific Address Handle attributes. that's it, that's the whole vibe π
β¨ SYNOPSIS β¨
#include <infiniband/efadv.h>
int efadv_query_ah(struct ibv_ah *ibvah, struct efadv_ah_attr *attr,
uint32_t inlen);
like, three args, one include, zero drama π«Ά
π DESCRIPTION π
efadv_query_ah() goes and asks the device for its device-specific Address Handle attributes. lowkey iconic of it, honestly π
so how do we not break everything when the struct changes? compatibility is handled using the comp_mask and inlen fields β that's the whole trick, no cap π
struct efadv_ah_attr {
uint64_t comp_mask;
uint16_t ahn;
uint8_t reserved[6];
};
ngl this struct is serving exactly what it needs to serve:
inlenβ In: the size ofstruct efadv_ah_attr. just tell it how big your struct is, bestie πcomp_maskβ the compatibility mask. it's the β¨vibe checkβ¨ for which fields you're using.ahnβ the device's Address Handle number. literally the number. that's the field. π
π₯ RETURN VALUE π₯
efadv_query_ah() returns 0 on success β slay π β or the value of errno on failure (which indicates the failure reason, so read it, don't just ignore it π).
π SEE ALSO π
go read that one too, iykyk π¦
β NOTES β
- the compatibility mask (
comp_mask) is an out field and currently has no values. so like, it's out here being out π«Ά
π AUTHORS π
Gal Pressman <galpress@amazon.com> β wrote it, we stan π
fr fr do not mess with the struct layout, the inlen field is load-bearing π
and that's the page!! brought to you by efa, dated 2019-05-19, filed under EFADV_QUERY_AH(3) β mwah, bestie, go query some address handles π
β¨π
π¦ 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
- ubuntu jammy: libibverbs-dev 39.0-1 Β· BSD-MIT OR GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms