[dpdk-dev] A Question about the necessity of DPDK VF for Ethernet PMDs
Rami Rosen
ramirose at gmail.com
Mon Feb 4 08:43:06 CET 2019
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
More information about the dev
mailing list