]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/ofed/libmlx5/mlx5dv.7
sysctl(9): Fix a few mandoc related issues
[FreeBSD/FreeBSD.git] / contrib / ofed / libmlx5 / mlx5dv.7
1 .\" -*- nroff -*-
2 .\" Licensed under the OpenIB.org (MIT) - See COPYING.md
3 .\"
4 .TH MLX5DV 7 2017-02-02 1.0.0
5 .SH "NAME"
6 mlx5dv \- Direct verbs for mlx5 devices
7 .br
8 This is low level access to mlx5 devices to perform data path operations,
9 without general branching performed by \fBibv_post_send\fR(3).
10
11 .SH "DESCRIPTION"
12 The libibverbs API is an abstract one. It is agnostic to any underlying
13 provider specific implementation. While this abstraction has the advantage
14 of user applications portability it has a performance penalty. For some
15 applications optimizing performance is more important than portability.
16
17 The mlx5 direct verbs API is intended for such applications.
18 It exposes mlx5 specific low level data path (send/receive/completion)
19 operations, allowing the application to bypass the libibverbs data path API.
20
21 This interface consists from one hardware specific header file
22 with relevant inline functions and conversion logic from ibverbs structures
23 to mlx5 specific structures.
24
25 The direct include of mlx5dv.h together with linkage to mlx5 library will
26 allow usage of this new interface.
27
28 Once an application uses the direct flow the locking scheme is fully managed
29 by itself. There is an expectation that no mixed flows in the data path for both
30 direct/non-direct access will be by same application.
31
32 .SH "NOTES"
33 All Mellanox NIC devices starting from Connect-IB (Connect-IB,
34 ConnectX-4, ConnectX-4Lx, ConnectX-5, ...) implement the mlx5 API,
35 thus using the mlx5 direct verbs does not limit the applications
36 to a single NIC HW device thus keeping some level of portability.
37
38 .SH "SEE ALSO"
39 .BR ibv_post_send (3),
40 .BR verbs (7)
41
42 .SH "AUTHORS"
43 .TP
44 Leon Romanovsky <leonro@mellanox.com>