| .\" -*- nroff -*- |
| .\" Licensed under the OpenIB.org (MIT) - See COPYING.md |
| .\" |
| .TH MLX5DV 7 2017-02-02 1.0.0 |
| .SH "NAME" |
| mlx5dv \- Direct verbs for mlx5 devices |
| .br |
| This is low level access to mlx5 devices to perform data path operations, |
| without general branching performed by \fBibv_post_send\fR(3). |
| |
| .SH "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 mlx5 direct verbs API is intended for such applications. |
| It exposes mlx5 specific low level data path (send/receive/completion) |
| operations, allowing the application to bypass the libibverbs data path API. |
| |
| This interface consists from one hardware specific header file |
| with relevant inline functions and conversion logic from ibverbs structures |
| to mlx5 specific structures. |
| |
| The direct include of mlx5dv.h together with linkage to mlx5 library will |
| allow usage of this new interface. |
| |
| Once an application uses the direct flow the locking scheme is fully managed |
| by itself. There is an expectation that no mixed flows in the data path for both |
| direct/non-direct access will be by same application. |
| |
| .SH "NOTES" |
| All Mellanox NIC devices starting from Connect-IB (Connect-IB, |
| ConnectX-4, ConnectX-4Lx, ConnectX-5, ...) implement the mlx5 API, |
| thus using the mlx5 direct verbs does not limit the applications |
| to a single NIC HW device thus keeping some level of portability. |
| |
| .SH "SEE ALSO" |
| .BR ibv_post_send (3), |
| .BR verbs (7), |
| .BR mlx5dv_is_supported(3) |
| |
| .SH "AUTHORS" |
| .TP |
| Leon Romanovsky <leonro@mellanox.com> |