Steps to reproduce. You need a NIC device capable of creating VFs in order to reproduce this. I've reproduced with Intel E810, and XL710 NICs, but I think any NIC that creates VFs that DPDK can use should work.
1. Download and build DPDK [https://github.com/DPDK/dpdk] 2. Create a virtual function on a NIC device by writing to sriov_numvfs in sysfs 3. Bind that VF device to vfio-pci rather than kernel driver. The "usertools/dpdk-devbind.py" script included with DPDK provides an easy way to do this. "dpdk-devbind.py -b vfio-pci <device>" 4. Run a DPDK application such as DPDK testpmd: ./build/app/dpdk-testpmd -l 1,2 5. Look for device probing information, as each device is checked. When the error occurs you get "Getting a vfio_dev_fd for <device> failed" If you need more information about what DPDK is doing, you can enable debug-level logging, which should show you the device probing as it happens. Add "--log-level=*:debug" to the testpmd command-line, to enable full logging. You can also replace "*" with specific components to limit the debug output, e.g. "log-level=bus.pci:debug" to just see extra device probing info. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2118903 Title: Cannot use VFs with DPDK on Ubuntu kernels Status in linux package in Ubuntu: Fix Released Bug description: When running DPDK on Ubuntu, we can no longer use virtual function (VF) devices. VFIO framework is giving errors. Tested with Intel E810 and XL710 NICs. After creating a VF on each NIC, and then binding those NICs to vfio- pci for DPDK use as normal, when we actually try running DPDK to use those NICs, we get the error e.g "Getting a vfio_dev_fd for 0000:41:01.0 failed". This error is due to a failure of ioctl() call "VFIO_GROUP_GET_DEVICE_FD" on the vfio group for the VF device. Thus far, we have only been able to reproduce this issue with Ubuntu kernels. While far from a kernel expert, and so may have missed some settings, the follow are what has been tested: * Ubuntu kernels shipped with Ubuntu 25.04 - FAIL * Using a kernel built from latest kernel.org source - WORKS ok * Using a 6.14 stock kernel build from kernel.org sources - WORKS ok * Using a stock kernel built using the config copied from the 6.14 Ubuntu source package - WORKS ok * Manually built kernel using the 6.14 Ubuntu sources [tested with the VFIO_DEVICE_CDEV on and off] - FAIL * Using an Ubuntu-mainline-kernel package 6.15.8-061508-generic - WORKS ok To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2118903/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp

