This PMD adds support for Mellanox ConnectX-3-based adapters through the verbs framework. It relies on external libraries (libibverbs and user space driver libmlx4) and kernel support to do so.
While these libraries and kernel modules are available on OpenFabrics Alliance's website [1] and provided by package managers on most distributions, this PMD requires Ethernet extensions that may not be supported at the moment (this is a work in progress). Mellanox OFED [2] includes the necessary support and should be used in the meantime. For DPDK, only libibverbs, libmlx4 and mlnx-ofed-kernel packages are required from that distribution. The following kernel modules must be loaded before using this PMD: - mlx4_core (hardware driver, does global initialization) - mlx4_en (Ethernet device driver) - mlx4_ib (InfiniBand device driver) - ib_uverbs (user space driver for verbs) [1] https://www.openfabrics.org/ [2] http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers v2: - Include minor bugfix for VLAN filtering. - Add maintainers entry. - Add documentation. v3: - Add script and documentation to MAINTAINERS. - Make cosmetic changes to copyright notices. - Remove unwanted executable bits. - Fix coding style and typos found by checkpatch. - Add shared library compilation support. Adrien Mazarguil (3): scripts: check features to generate configuration header mlx4: new poll mode driver doc: add librte_pmd_mlx4 documentation MAINTAINERS | 6 + config/common_bsdapp | 11 + config/common_linuxapp | 11 + doc/guides/prog_guide/index.rst | 1 + doc/guides/prog_guide/mlx4_poll_mode_drv.rst | 326 ++ doc/guides/prog_guide/source_org.rst | 1 + lib/Makefile | 1 + lib/librte_pmd_mlx4/Makefile | 121 + lib/librte_pmd_mlx4/mlx4.c | 4749 ++++++++++++++++++++++++++ lib/librte_pmd_mlx4/mlx4.h | 165 + lib/librte_pmd_mlx4/rte_pmd_mlx4_version.map | 4 + mk/rte.app.mk | 8 + scripts/auto-config-h.sh | 136 + 13 files changed, 5540 insertions(+) create mode 100644 doc/guides/prog_guide/mlx4_poll_mode_drv.rst create mode 100644 lib/librte_pmd_mlx4/Makefile create mode 100644 lib/librte_pmd_mlx4/mlx4.c create mode 100644 lib/librte_pmd_mlx4/mlx4.h create mode 100644 lib/librte_pmd_mlx4/rte_pmd_mlx4_version.map create mode 100755 scripts/auto-config-h.sh -- 2.1.0