Bind one port to DPDK, the other to the kernel

Stephen Hemminger stephen at networkplumber.org
Mon Sep 30 23:25:56 CEST 2024


On Mon, 30 Sep 2024 23:40:36 +0300
Igor Gutorov <igootorov at gmail.com> wrote:

> Hi,
> 
> I wanted to ask for a bit of clarification/guidance on binding and
> unbinding network ports.
> 
> Consider the following - a server with an Intel XXV710 NIC (i40e PMD).
> This NIC has 2 ports. One port is bound to vfio-pci (no VFs are used,
> if that matters) and is used by a DPDK application, the other port is
> bound to the kernel i40e driver. The kernel bound port is used for
> general networking (such as ssh, and so on).
> 
> Based on the DPDK getting started guide [1], am I understanding
> correctly that this is not the recommended setup?
> Specifically, these parts:
> > Most devices require that the hardware to be used by DPDK be
> > unbound from the kernel driver it uses, and instead be bound
> > to the vfio-pci kernel module before the application is run.  
> 
> > physical devices may require either all ports bound to VFIO, or
> > some of them bound to VFIO while others not being bound to
> > anything at all.  
> 
> If that's the case, what's the correct way to support such a
> configuration? I guess, something like this?
> - Bind one port to vfio-pci, used entirely by DPDK
> - Bind the second port to vfio-pci
> - Create a VF for the second port
> - Bind that VF to the kernel i40e driver
> Am I understanding this correctly?

If you have access to the PF in Linux, then using a VF for the
DPDK device is an option. But still vfio-pci is unlikely to allow
it since maybe in same IOMMU group.


More information about the users mailing list