Added notes to the documentation warning that if UEFI secure boot is enabled the Linux kernel may disallow the use of UIO on the system, and a suggested workaround of using the vfio-pci kernel module instead of igb_uio or uio_pci_generic.
Signed-off-by: John McNamara <john.mcnam...@intel.com> --- doc/guides/faq/faq.rst | 7 +++++++ doc/guides/linux_gsg/linux_drivers.rst | 8 ++++++++ doc/guides/linux_gsg/sys_reqs.rst | 6 ++++++ 3 files changed, 21 insertions(+) diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst index 308a287..aa1d47d 100644 --- a/doc/guides/faq/faq.rst +++ b/doc/guides/faq/faq.rst @@ -222,3 +222,10 @@ How can hugepage-backed memory be shared among multiple processes? ------------------------------------------------------------------ See the Primary and Secondary examples in the :ref:`multi-process sample application <multi_process_app>`. + + +Why can't my application receive packets on my system with UEFI Secure Boot enabled? +------------------------------------------------------------------------------------ + +If UEFI secure boot is enabled, the Linux kernel may disallow the use of UIO on the system. +Therefore, devices for use by DPDK should be bound to the ``vfio-pci`` kernel module rather than ``igb_uio`` or ``uio_pci_generic``. diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst index b3525c0..dfb1fbd 100644 --- a/doc/guides/linux_gsg/linux_drivers.rst +++ b/doc/guides/linux_gsg/linux_drivers.rst @@ -67,6 +67,14 @@ be loaded as shown below: For some devices which lack support for legacy interrupts, e.g. virtual function (VF) devices, the ``igb_uio`` module may be needed in place of ``uio_pci_generic``. +.. note:: + + If UEFI secure boot is enabled, the Linux kernel may disallow the use of + UIO on the system. Therefore, devices for use by DPDK should be bound to + the ``vfio-pci`` kernel module rather than ``igb_uio`` or + ``uio_pci_generic``. For more details see :ref:`linux_gsg_binding_kernel` + below. + Since DPDK release 1.7 onward provides VFIO support, use of UIO is optional for platforms that support using VFIO. diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst index 0f98876..3f697c5 100644 --- a/doc/guides/linux_gsg/sys_reqs.rst +++ b/doc/guides/linux_gsg/sys_reqs.rst @@ -47,6 +47,12 @@ and high performance of small packets, BIOS setting changes may be needed. Consult the section on :ref:`Enabling Additional Functionality <Enabling_Additional_Functionality>` for more information on the required changes. +.. note:: + + If UEFI secure boot is enabled, the Linux kernel may disallow the use of UIO on the system. + Therefore, devices for use by DPDK should be bound to the ``vfio-pci`` kernel module rather than ``igb_uio`` or ``uio_pci_generic``. + For more details see :ref:`linux_gsg_binding_kernel`. + Compilation of the DPDK ----------------------- -- 2.7.4