[dpdk-dev] A Question about the necessity of DPDK VF for Ethernet PMDs

Alejandro Lucero alejandro.lucero at netronome.com
Mon Feb 4 11:22:30 CET 2019


Hi Rami,

Your concern is related to this thread:

http://mails.dpdk.org/archives/dev/2019-January/123466.html

I'm working on solving the problem when PF needs to be bound to VFIO. My
proposal is to use mediated devices.
Although it is not strictly necessary to rely on current kernel WiP about
VFIO med-devices IOMMU aware

https://lwn.net/Articles/763793/

using that patch makes the implementation easier. Indeed, this solution
implies changes to current kernel netdev drivers, and the previous
commented kernel patch will likely be accepted upstream before our push.

DPDK changes for supporting mdev bus will happen soon (I hope). Intel guys
are working on this for the I/O scale case Intel is interested in, with
Netronome's case, and the one you point out, being a specific case which
can be implemented with those DPDK and kernel changes.


On Mon, Feb 4, 2019 at 7:43 AM Rami Rosen <ramirose at gmail.com> wrote:

>  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