[dpdk-users] access to different ports on the same NIC by 2 DPDK applications
Stephen Hemminger
stephen at networkplumber.org
Thu May 20 22:54:18 CEST 2021
On Thu, 20 May 2021 13:34:35 -0700
Sudharshan Krishnakumar <sudhar.ckrishna at gmail.com> wrote:
> Hi All,
>
> Have a Qs related to-> access to different ports on the same NIC by 2 DPDK
> applications.
>
>
>
> Setup: 4-Port 10 Gig NIC card with ports bound for DPDK usage.
>
>
>
> With intel’s igb_uio kernel driver (used for binding NIC’s ports) using
> dpdk-setup.sh, at the /dev level, I see 4 device paths created,
>
> /dev/uio0, /dev/uio1, /dev/ui02, /dev/uio3
>
>
>
> And I was able to run 2 DPDK applications concurrently(by blacklisting the
> ports in EAL parameters), and they were able to take ownership of different
> ports on the same NIC.
>
> For example DPDK_APP1 can take access of ports->0,1 and DPDK_APP2 can take
> access of ports->2,3.
>
>
>
> Currently, I am using another DPDK app that relies on binding to VFIO
> driver.
>
>
>
> So I am trying to switch to binding NIC’s 4 ports to VFIO driver.
>
>
>
> Enabled VTIO in BIOS and added intel_iommu=on in kernel boot-param in GRUB.
>
>
>
> After binding all 4 ports to VFIO driver, using dpdk-setup,sh, at the /dev
> level, I only see these 2 device paths created-> /dev/vfio/vfio(control
> channel)
>
> and /dev/vfio/1(essentially just 1 path).
>
>
>
> I am able to run one DPDK application, for example-> PacketGen tool.
>
> But not able to run 2 DPDK applications concurrently accessing different
> ports on the same NIC, due to DPDK application not being able to get access
> to the ports.
>
> For example, if I launch DPDK_APP1 first, it can get access to the ports,
> but DPDK_APP2 is NOT able to get access, and vice-versa.
>
> Note that both apps are trying to access different ports on the same NIC,
> and also ports have been black-listed as part of EAL params to the DPDK
> apps.
>
> I know this is possible with igb_uio driver.
>
>
>
> Please let me know, if it is possible to do this when ports are bound to
> VFIO driver.
>
> Thanks,
>
> Sudha
The issue is that the IOMMU can't map two different areas at once
to same device. You might be able to use DPDK primary/secondary process
model to do this.
More information about the users
mailing list