1MANADV(7) MANA Direct Verbs Manual MANADV(7)
2
3
4
6 manadv - Direct verbs for mana devices
7
8 This provides low level access to mana devices to perform direct opera‐
9 tions, without general branching performed by libibverbs.
10
12 The libibverbs API is an abstract one. It is agnostic to any underly‐
13 ing provider specific implementation. While this abstraction has the
14 advantage of user applications portability, it has a performance penal‐
15 ty. For some applications optimizing performance is more important
16 than portability.
17
18 The mana direct verbs API is intended for such applications. It expos‐
19 es mana specific low level operations, allowing the application to by‐
20 pass the libibverbs API.
21
22 This version of the driver supports one QP type: IBV_QPT_RAW_PACKET.
23 To use this QP type, the application is required to use manadv_set_con‐
24 text_attr() to set external buffer allocators for allocating queues,
25 and use manadv_init_obj() to obtain all the queue information. The ap‐
26 plication implements its own queue operations, bypassing libibverbs API
27 for sending/receiving traffic over the queues. At hardware layer,
28 IBV_QPT_RAW_PACKET QP shares the same hardware resource as the Ethernet
29 port used in the kernel. The software checks for exclusive use of the
30 hardware Ethernet port, and will fail the QP creation if the port is
31 already in use. To create a IBV_QPT_RAW_PACKET on a specified port,
32 the user needs to configure the system in such a way that this port is
33 not used by any other software (including the Kernel). If the port is
34 used, ibv_create_qp() will fail with errno set to EBUSY.
35
36 The direct include of manadv.h together with linkage to mana library
37 will allow usage of this new interface.
38
40 verbs(7)
41
43 Long Li <longli@microsoft.com>
44
45
46
47mana 2022-05-16 MANADV(7)