[4/5] doc: add mlx5 design details

Message ID 20190805153222.29593-5-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series improve mlx5 guide |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Thomas Monjalon Aug. 5, 2019, 3:32 p.m. UTC
  Some details about libibverbs were missing:
- automatic detection by meson
- main ways to access the device

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/nics/mlx5.rst | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)
  

Patch

diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index dcefc65ec..b9cabfe96 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -20,12 +20,12 @@  There is also a `section dedicated to this poll mode driver
 
 .. note::
 
-   Due to external dependencies, this driver is disabled by default. It must
-   be enabled manually by setting ``CONFIG_RTE_LIBRTE_MLX5_PMD=y`` and
-   recompiling DPDK.
+   Due to external dependencies, this driver is disabled in default configuration
+   of the "make" build. It can be enabled with ``CONFIG_RTE_LIBRTE_MLX5_PMD=y``
+   or by using "meson" build system which will detect dependencies.
 
-Implementation details
-----------------------
+Design
+------
 
 Besides its dependency on libibverbs (that implies libmlx5 and associated
 kernel support), librte_pmd_mlx5 relies heavily on system calls for control
@@ -44,6 +44,16 @@  This means legacy linux control tools (for example: ethtool, ifconfig and
 more) can operate on the same network interfaces that owned by the DPDK
 application.
 
+The PMD can use libibverbs and libmlx5 to access the device firmware
+or directly the hardware components.
+There are different levels of objects and bypassing abilities
+to get the best performances:
+
+- Verbs is a complete high-level generic API
+- Direct Verbs is a device-specific API
+- DevX allows to access firmware objects
+- Direct Rules manages flow steering at low-level hardware layer
+
 Enabling librte_pmd_mlx5 causes DPDK applications to be linked against
 libibverbs.