From bdc3a54225e89fd3c857e063ff03e38d7a54ec5d Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Mon, 5 Aug 2019 17:32:21 +0200 Subject: [PATCH] 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 Acked-by: Raslan Darawsheh --- doc/guides/nics/mlx5.rst | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 7c229e0ae4..3ad234b952 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. -- 2.20.1