summaryrefslogtreecommitdiff
path: root/doc/guides/nics
diff options
context:
space:
mode:
authorThomas Monjalon <thomas@monjalon.net>2019-08-05 17:32:21 +0200
committerRaslan Darawsheh <rasland@mellanox.com>2019-08-06 17:42:12 +0200
commitbdc3a54225e89fd3c857e063ff03e38d7a54ec5d (patch)
treecfd1189c04dd11d115f9f67e2b4b1cbb257d0044 /doc/guides/nics
parent499b461f90f46a18696f4b7a24082ec5b130f8dd (diff)
downloaddpdk-bdc3a54225e89fd3c857e063ff03e38d7a54ec5d.zip
dpdk-bdc3a54225e89fd3c857e063ff03e38d7a54ec5d.tar.gz
dpdk-bdc3a54225e89fd3c857e063ff03e38d7a54ec5d.tar.xz
doc: add mlx5 design details
Some details about libibverbs were missing: - automatic detection by meson - main ways to access the device Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Raslan Darawsheh <rasland@mellanox.com>
Diffstat (limited to 'doc/guides/nics')
-rw-r--r--doc/guides/nics/mlx5.rst20
1 files changed, 15 insertions, 5 deletions
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 7c229e0..3ad234b 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.