DPDK usage discussions
 help / color / mirror / Atom feed
* Bind one port to DPDK, the other to the kernel
@ 2024-09-30 20:40 Igor Gutorov
  2024-09-30 21:25 ` Stephen Hemminger
  0 siblings, 1 reply; 2+ messages in thread
From: Igor Gutorov @ 2024-09-30 20:40 UTC (permalink / raw)
  To: users

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?

Thanks!

[1] https://doc.dpdk.org/guides/linux_gsg/linux_drivers.html

Sincerely,
Igor.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Bind one port to DPDK, the other to the kernel
  2024-09-30 20:40 Bind one port to DPDK, the other to the kernel Igor Gutorov
@ 2024-09-30 21:25 ` Stephen Hemminger
  0 siblings, 0 replies; 2+ messages in thread
From: Stephen Hemminger @ 2024-09-30 21:25 UTC (permalink / raw)
  To: Igor Gutorov; +Cc: users

On Mon, 30 Sep 2024 23:40:36 +0300
Igor Gutorov <igootorov@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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-09-30 21:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-30 20:40 Bind one port to DPDK, the other to the kernel Igor Gutorov
2024-09-30 21:25 ` Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).