Hi Team,
igb_uio is deprecated for production but we are still using for DPDK
Can i know why are using igb_uio and why cannot we use vfio-pci.
Hello , I can see the config for 6.1.147
CONFIG_UIO is not set ← UIO is DISABLED
CONFIG_VFIO=y ← VFIO is ENABLED
CONFIG_VFIO_IOMMU_TYPE1=y
CONFIG_VFIO_PCI=y ← VFIO-PCI is ENABLED
CONFIG_VFIO_PCI_CORE=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
Additionally, IOMMU support is properly configured:
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_IOMMU_DMA=y
This means your kernel is already configured to use vfio-pci, NOT igb_uio.
Can you elaborate more what kind of error you are seeing or how are you trying to use vfio-pci?
Hi @sabertooth ,
I am seeing following pci devices associated to the drivers
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 05) → driver: e1000e
04:00.0 Ethernet controller: Intel Corporation 82599 10 Gigabit TN Network Connection (rev 01) → driver: ixgbe
04:00.1 Ethernet controller: Intel Corporation 82599 10 Gigabit TN Network Connection (rev 01) → driver: ixgbe
06:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03) → driver: igb
And their is no vfio and this is eLxr setup.
Hi @schenna
Thanks for sharing this
The output you provided shows that the network interfaces are currently bound to their respective kernel drivers (e1000e, ixgbe, igb). This is the default state for a Linux system. For a DPDK application to use these devices, they must first be unbound from the kernel’s control and then bound to a user-space driver.
The “igb” you see is Intel’s kernel driver, NOT “igb_uio”
You need to manually unbind your devices and rebound them to vfio-pci for DPDK
1.Load the vfio-pci module (if not already loaded):
2.Unbind the devices from their kernel drivers and bind them to vfio-pci. I would recommend binding the ixgbe and igb devices. Be careful not to unbind your management interface (likely the e1000e at 00:19.0).
3.Verify the status: After running the commands, you can check the status again. The devices should now appear under the “Network devices using DPDK-compatible driver” section.
DPDK documentation has deeper explanation
Hi @sabertooth ,
Thanks for detailed explanation from your previous comments what i understood is for eLxr we configured vfio-pci not igb_uio then why we are still minting “igb_uio“ under eLxr project
Hi @schenna
our eLxr kernels are configured and intended to use vfio-pci, not igb_uio. The dpdk-kmods repo you found is a mirror of Debian’s dpdk-kmods and deliberately includes legacy modules (like igb_uio and kni) for portability/CI—having the source there doesn’t mean we load or ship it in production.
This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.