DPDK usage discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Verghis Koshi <vkoshi@gmail.com>
Cc: users@dpdk.org
Subject: Re: Issues with basicfwd
Date: Tue, 18 Apr 2023 18:47:19 -0700	[thread overview]
Message-ID: <20230418184719.4a6a1d01@hermes.local> (raw)
In-Reply-To: <CAANwsYPbQ8x5PJugkQrLBnhWDoXVMavaxD_6oaUOBodGQsDORQ@mail.gmail.com>

On Tue, 18 Apr 2023 17:14:21 -0700
Verghis Koshi <vkoshi@gmail.com> wrote:

>     It appears that the vdev_device_list is empty - isn't this where the
> probe function for VFIO lives?
> 
> rte_bus_probe, file ../lib/eal/common/eal_common_bus.c, vbus->name vdev
> vdev_probe, file ../drivers/bus/vdev/vdev.c, PROBE, &vdev_device_list
> 0x56337bb30d30
> vdev_probe, file ../drivers/bus/vdev/vdev.c, dev is (nil)
> 
>     This is how I call basicfwd, am I missing something?
> 
> sudo examples/dpdk-skeleton -l 1 -n 4
> 
>     Thanks,.
> 
> Verghis
> 
> 
> 
> 
> m
> 
> On Tue, Apr 18, 2023 at 10:11 AM Verghis Koshi <vkoshi@gmail.com> wrote:
> 
> >     I'm having trouble running the basicfwd example and would appreciate
> > any help.
> >     I'm running Linux Mint 21.1 inside VirtualBox, and I've created two
> > NICs:
> >
> > verghis@verghis-VirtualBox:~/dpdk-stable-22.11.1/build$
> > ../usertools/dpdk-devbind.py --status
> >
> > Network devices using DPDK-compatible driver
> > ============================================
> > 0000:00:03.0 '79c970 [PCnet32 LANCE] 2000' drv=vfio-pci unused=pcnet32
> >
> > Network devices using kernel driver
> > ===================================
> > 0000:00:08.0 '82540EM Gigabit Ethernet Controller 100e' if=enp0s8
> > drv=e1000 unused=vfio-pci *Active*
> >
> >     The first is bound to vfio-pci, to be used by basicfwd, and the second
> > uses the normal e1000 driver.
> >     But when I run the code, it doesn't seem to see the VFIO driver at
> > all; further, it seems to think that 00:08.0
> > is using a non-kernel driver - why?
> >     Here's the debug output; it should pick up the single VFIO port.  I
> > don't care about the 'even number of ports', that's
> > easy to fix.
> >     My apologies if I'm overlooking something simple.
> >
> > verghis@verghis-VirtualBox:~/dpdk-stable-22.11.1/build$ sudo
> > examples/dpdk-skeleton -l 1 -n 4
> > EAL: Detected CPU lcores: 2
> > EAL: Detected NUMA nodes: 1
> > EAL: Detected static linkage of DPDK
> > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
> > EAL: Selected IOVA mode 'VA'
> > EAL: VFIO support initialized
> > rte_vfio_enable, file ../lib/eal/linux/eal_vfio.c, VFIO support initialized
> > 0: examples/dpdk-skeleton (rte_dump_stack+0x42) [55bed7d42d62]
> > 1: examples/dpdk-skeleton (55bed6cbb000+0x23b39f) [55bed6ef639f]
> > 2: examples/dpdk-skeleton (55bed6cbb000+0x239211) [55bed6ef4211]
> > 3: examples/dpdk-skeleton (main+0xf) [55bed70ac51f]
> > 4: /lib/x86_64-linux-gnu/libc.so.6 (7fbde5fb2000+0x29d90) [7fbde5fdbd90]
> > 5: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0x80) [7fbde5fdbe40]
> > 6: examples/dpdk-skeleton (_start+0x25) [55bed7b86055]
> > rte_bus_probe, file ../lib/eal/common/eal_common_bus.c, bus->name auxiliary
> > rte_bus_probe, file ../lib/eal/common/eal_common_bus.c, bus->name dpaa_bus
> > rte_bus_probe, file ../lib/eal/common/eal_common_bus.c, bus->name fslmc
> > rte_bus_probe, file ../lib/eal/common/eal_common_bus.c, bus->name ifpga
> > rte_bus_probe, file ../lib/eal/common/eal_common_bus.c, bus->name pci
> > pci_probe, file ../drivers/bus/pci/pci_common.c, dev->name 0000:00:01.1
> > pci_probe, file ../drivers/bus/pci/pci_common.c, dev->name 0000:00:02.0
> > pci_probe, file ../drivers/bus/pci/pci_common.c, dev->name 0000:00:03.0
> > pci_probe, file ../drivers/bus/pci/pci_common.c, dev->name 0000:00:04.0
> > pci_probe, file ../drivers/bus/pci/pci_common.c, dev->name 0000:00:05.0
> > pci_probe, file ../drivers/bus/pci/pci_common.c, dev->name 0000:00:06.0
> > pci_probe, file ../drivers/bus/pci/pci_common.c, dev->name 0000:00:07.0
> > pci_probe, file ../drivers/bus/pci/pci_common.c, dev->name 0000:00:08.0
> > rte_pci_map_device, file ../drivers/bus/pci/linux/pci.c,
> > rte_pci_device->name 0000:00:08.0, dev->kdrv 0
> > pci_probe, file ../drivers/bus/pci/pci_common.c, dev->name 0000:00:0d.0
> > rte_bus_probe, file ../lib/eal/common/eal_common_bus.c, bus->name vmbus
> > rte_bus_probe, file ../lib/eal/common/eal_common_bus.c, bus->name dsa
> > rte_bus_probe, file ../lib/eal/common/eal_common_bus.c, vbus->name vdev
> > vdev_probe, file ../drivers/bus/vdev/vdev.c, PROBE, &vdev_device_list
> > 0x55bed8764d30
> > vdev_probe, file ../drivers/bus/vdev/vdev.c, dev is (nil)
> > TELEMETRY: No legacy callbacks, legacy socket not created
> > main, file ../examples/skeleton/basicfwd.c, nb_ports 0
> > EAL: Error - exiting with code: 1
> >   Cause: Error: number of ports must be even
> >
> > Verghis
> >  

You need to create two virtual nic's and bind them to VFIO which
will remove from the kernel driver. Not familiar with VirtualBox config.
Is the virtual NIC in Virtual Box is not the same as virtio.
If it depends on the proprietary kernel driver, then
you are unlikely to get DPDK to work in virtual box environment.

  reply	other threads:[~2023-04-19  1:47 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-18 17:11 Verghis Koshi
2023-04-19  0:14 ` Verghis Koshi
2023-04-19  1:47   ` Stephen Hemminger [this message]
2023-04-19 23:31     ` Verghis Koshi
2023-04-20  0:20       ` Stephen Hemminger
2023-04-20  0:25         ` Verghis Koshi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230418184719.4a6a1d01@hermes.local \
    --to=stephen@networkplumber.org \
    --cc=users@dpdk.org \
    --cc=vkoshi@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).