DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] virtio UIO / PMD issues in default Ubuntu Cloud Images
@ 2014-10-14  5:45 Matthew Hall
  2014-10-14  6:03 ` Matthew Hall
  0 siblings, 1 reply; 13+ messages in thread
From: Matthew Hall @ 2014-10-14  5:45 UTC (permalink / raw)
  To: dev

Hello,

I was working to get my open source project running in a VirtualBox Vagrant VM 
powered by an Ubuntu Cloud image the last few days to make my project and DPDK 
more developer friendly with a prebuilt environment. During this I was fixing 
the ugly hardcodings I'd used to hack it together on a desktop.

In the process I found a few things I was confused about.

1) Ubuntu doesn't include the UIO module by default in the Cloud image... only 
the virtio-net. I was wondering if we had anybody in good contact with their 
kernel group to lobby for inclusion of the UIO modules in the stock Cloud 
kernel, without having to grab linux-generic and linux-headers-generic first.

2) The directions for activating virtio-net based interfaces seem out-of-date. 
They refer to the PMD as rte_virtio_net_pmd, when the PMD calls itself 
rte_virtio_pmd in my copy of DPDK 1.7.1 w/ my clang compilation patches added.

I am getting some odd errors when I'm trying to load my app:

EAL: PCI device 0000:00:08.0 on NUMA socket -1
EAL:   probe driver: 1af4:1000 rte_virtio_pmd
EAL:   0000:00:08.0 not managed by UIO driver, skipping

3) If I try to bind the device to the igb_uio driver even though it seems like 
the wrong thing to do, just for testing, this is what happens (NOTE: unbound 
the 00:08.0 device from the kernel to show this):

$ sudo tools/dpdk_nic_bind.py --status

Network devices using DPDK-compatible driver
============================================
<none>

Network devices using kernel driver
===================================
0000:00:03.0 'Virtio network device' if= drv=virtio-pci unused=igb_uio

Other network devices
=====================
0000:00:08.0 'Virtio network device' unused=igb_uio

$ sudo tools/dpdk_nic_bind.py -b igb_uio 00:08.0
Error: bind failed for 0000:00:08.0 - Cannot bind to driver igb_uio

vagrant@vagrant-ubuntu-trusty-64:/vagrant/external/dpdk$ dmesg | tail
[ 1766.445609] igb_uio: Use MSIX interrupt by default
[ 1824.602075] igb_uio: probe of 0000:00:08.0 failed with error -2
[ 1824.602742] igb_uio: probe of 0000:00:08.0 failed with error -2

4) I found some old email threads asking about this:

http://comments.gmane.org/gmane.comp.networking.dpdk.devel/1357
(there are some others as well but this seemed closest)

But the only thing present in that thread seemed to be irritated replies which 
didn't really explain the different virtio PMD's out there and how they work, 
and didn't explain which ones were in-tree and out-of-tree either.

So let me ask this again, when somebody wrote "virtio-net or virtio-net + uio 
(QEMU, VirtualBox)" into the supported page (http://dpdk.org/doc/nics), who 
tested this to prove it worked? How did they get it to work on VirtualBox? The 
last reply stating "you have the source code" didn't really explain how they 
proved this stuff ever worked in the first place.

Thanks,
Matthew.

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

end of thread, other threads:[~2014-10-23 16:08 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-14  5:45 [dpdk-dev] virtio UIO / PMD issues in default Ubuntu Cloud Images Matthew Hall
2014-10-14  6:03 ` Matthew Hall
2014-10-14  6:34   ` Matthew Hall
2014-10-14  8:22     ` Gonzalez Monroy, Sergio
2014-10-14  8:34       ` Matthew Hall
2014-10-14 12:16         ` Gonzalez Monroy, Sergio
2014-10-17  8:56           ` Matthew Hall
2014-10-21 13:22             ` Gonzalez Monroy, Sergio
2014-10-22  7:17               ` Matthew Hall
2014-10-22 15:20                 ` Gonzalez Monroy, Sergio
2014-10-22 18:41                   ` Matthew Hall
2014-10-23 16:15                     ` Gonzalez Monroy, Sergio
2014-10-14  6:43   ` Matthew Hall

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).