DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Accessing a Virtual Function Driver in Guest Machine via VFIO
@ 2014-12-05 19:00 Aashima Arora
       [not found] ` <CY1PR0501MB1418283E203637343060EE08AE620@CY1PR0501MB1418.namprd05.prod.outlook.com>
  2014-12-10  7:12 ` Qiu, Michael
  0 siblings, 2 replies; 4+ messages in thread
From: Aashima Arora @ 2014-12-05 19:00 UTC (permalink / raw)
  To: dev

Hi,
I was trying to access the pci config space(BAR) of the virtual function
device visible in the virtual machine, similar to what DPDK does on host
via both UIO and VFIO. Did the following steps.

1. Bound PF Drivers to ixgbe and spawned virtual function drivers , bound
them to vfio-pci and set their mac addresses via ip link.  Ran Qemu and
assigned the VF Device using vfio-pci device assignment and initialized the
virtual machine.
insmod igb max_vfs=2

./x86_64-softmmu/qemu-system-x86_64 -cpu host -boot c -hda
/home/vm-images/vm2.imgsnapshot -m 2048M -smp 2 --enable-kvm -name 'vm2'
-vnc :2 -pidfile /tmp/vm2.pid -driile=fat:rw:/tmp/share,snapshot=off
-device vfio-pci,host=01:10.1,id=net1


2.  The VF Device was visible with another pci address.

00:04.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+
Network
Connection (rev 01)

Further ran DPDK testpmd on top of VM but bound the virtual function driver
to igb_uio instead of vfio-pci. It ran successfully.  The ixgbevf pmd
driver is able to access the BAR registers in pci_uio_map_resource via
mmaping somewhere close to hugepages. I was not able to bind the virtual
function driver in VM to vfio-pci and hence DPDK would not be able to run
with VFIO enabled as it complains of no IOMMU support. I also believe that
there is little logic in binding the vf device to vfio-pci again since qemu
has already taken care of it and hardware support is involved.

So my questions are
a. vfio is meant to be  a replacement for both uio and device assignment
for qemu. This doesnt seem simultaneous. Comment?
b. Is there any way to access VF device  using VFIO in guest userspace?
Have you run DPDK in guest machine with VFIO support enabled and all
dependent modules inserted and did it work?
c. Is igb_uio or uio_pci_generic in future the only way  to access the
device in guest userspace?

*Regards*

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

end of thread, other threads:[~2014-12-10  7:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-05 19:00 [dpdk-dev] Accessing a Virtual Function Driver in Guest Machine via VFIO Aashima Arora
     [not found] ` <CY1PR0501MB1418283E203637343060EE08AE620@CY1PR0501MB1418.namprd05.prod.outlook.com>
2014-12-10  6:47   ` Aashima Arora
2014-12-10  7:12 ` Qiu, Michael
2014-12-10  7:24   ` Aashima Arora

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