MANADV(7)
okay bestie, you're reading MANADV(7), aka the MANA Direct Verbs Manual β and it's giving low-level direct-access realness π β¨
β¨ NAME β¨
manadv β direct verbs for mana devices.
This provides low level access to mana devices to perform direct operations, without general branching performed by libibverbs. π«Ά
π DESCRIPTION π
The libibverbs API is an abstract one. It is agnostic to any underlying provider specific implementation. While this abstraction has the advantage of user applications portability, it has a performance penalty. For some applications optimizing performance is more important than portability.
The mana direct verbs API is intended for such applications. It exposes mana specific low level operations, allowing the application to bypass the libibverbs API. iconic behavior, honestly π
This version of the driver supports one QP type: IBV_QPT_RAW_PACKET. To use this QP type, the application is required to use manadv_set_context_attr() to set external buffer allocators for allocating queues, and use manadv_init_obj() to obtain all the queue information. The application implements its own queue operations, bypassing libibverbs API for sending/receiving traffic over the queues. π¦
At hardware layer, IBV_QPT_RAW_PACKET QP shares the same hardware resource as the Ethernet port used in the kernel. The software checks for exclusive use of the hardware Ethernet port, and will fail the QP creation if the port is already in use.
β οΈ bestie, this next bit is the whole vibe check: to create aIBV_QPT_RAW_PACKETon a specified port, the user needs to configure the system in such a way that this port is not used by any other software (including the Kernel). If the port is used,ibv_create_qp()will fail witherrnoset toEBUSY. π
The direct include of manadv.h together with linkage to mana library will allow usage of this new interface. β¨
π¦ SEE ALSO π¦
verbs(7)
π AUTHORS π
- Long Li
<longli@microsoft.com>
okay that's the whole page, bestie β source/version mana, date 2022-05-16, manual MANADV(7). byeee πβ¨
π¦ 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
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms