.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2015 Intel Corporation.
- Copyright(c) 2017 Mellanox Corporation.
+ Copyright 2017 Mellanox Technologies, Ltd
All rights reserved.
.. _linux_gsg_linux_drivers:
``vfio-pci`` kernel module rather than ``igb_uio`` or ``uio_pci_generic``.
For more details see :ref:`linux_gsg_binding_kernel` below.
+.. note::
+
+ If the devices used for DPDK are bound to the ``uio_pci_generic`` kernel module,
+ please make sure that the IOMMU is disabled or passthrough. One can add
+ ``intel_iommu=off`` or ``amd_iommu=off`` or ``intel_iommu=on iommu=pt``in GRUB
+ command line on x86_64 systems, or add ``iommu.passthrough=1`` on arm64 system.
+
Since DPDK release 1.7 onward provides VFIO support, use of UIO is optional
for platforms that support using VFIO.
VFIO can be used without IOMMU. While this is just as unsafe as using UIO, it does make it possible for the user to keep the degree of device access and programming that VFIO has, in situations where IOMMU is not available.
+.. _bifurcated_driver:
+
Bifurcated Driver
-----------------
- It enables the user to use legacy linux tools such as ``ethtool`` or
``ifconfig`` while running DPDK application on the same network ports.
- It enables the DPDK application to filter only part of the traffic,
- While the rest will be directed and handled by the kernel driver.
+ while the rest will be directed and handled by the kernel driver.
+ The flow bifurcation is performed by the NIC hardware.
+ As an example, using :ref:`flow_isolated_mode` allows to choose
+ strictly what is received in DPDK.
More about the bifurcated driver can be found in
`Mellanox Bifurcated DPDK PMD
-<https://dpdksummit.com/Archive/pdf/2016Userspace/Day02-Session04-RonyEfraim-Userspace2016.pdf>`__.
+<https://www.dpdk.org/wp-content/uploads/sites/35/2016/10/Day02-Session04-RonyEfraim-Userspace2016.pdf>`__.
.. _linux_gsg_binding_kernel: