Hello all,
Now that DPDK 19.02 was released three days ago (on time!!), hopefully there will be time for people to answer the following question: According to the "DPDK Getting Started Guide", "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 Binding and Unbinding Network Ports to/from the Kernel Modules." See: http://doc.dpdk.org/guides/linux_gsg/sys_reqs.html#bios-setting-prerequisite-on-x86 Now, when you bind a PCI device with vfio-pci, then the "max_vfs" entry is *not* created under /sys/bus/pci/devices/<BDF>/ (as opposed to the case when you bind with igb_uio). This means that you cannot create DPDK VFS in this case (as you cannot write num_vfs to the non existing max_vfs entry). You can however create Kernel VFs (by echoing into the sriov_num_vfs sysfs entry). So I assume there are deployments of DPDK (with secure boot) when the PMDs are being binded not by igb_uio but by vfio_pci. So the question is: As explained above, t probably there are setups when you cannot generated PMD VFs. Most PMD Ethernet Vendors *do* provide VF PMDs in the DPDK official repo; but what are the benefits of providing DPDK VFs PMD? is it mandatory in some use cases ? Is there any advantage for using a DPDK PF/DPDK VF combination over using Kernel VF? Regards, Rami Rosen