[libvirt-users] automatically detaching PCI host devices from guest for SRIOV usage.
Alex Jia
ajia at redhat.com
Tue Aug 21 04:04:24 UTC 2012
On 08/21/2012 11:22 AM, Rajesh Kumar Mallah wrote:
>
> Dear Alex / List ,
>
> Thanks for the response.
>
> The problem is regarding detaching from the guest not host.
I see, if you attach a PCI device into guest with 'managed'
mode(managed='yes') then the device is automatically detached from guest
and returned to host after guest exiting, for example.
# lspci | grep Eth
00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network
Connection (rev 02)
# readlink /sys/bus/pci/devices/0000\:00\:19.0/driver/ -f
/sys/bus/pci/drivers/e1000e
# virsh start foo
Domain foo started
# ping -c 3 xx.xx.xx.xx
PING xx.xx.xx.xx (xx.xx.xx.xx) 56(84) bytes of data.
64 bytes from nx-in-f160.1e100.net (xx.xx.xx.xx): icmp_seq=1 ttl=49
time=87.8 ms
64 bytes from nx-in-f160.1e100.net (xx.xx.xx.xx): icmp_seq=2 ttl=49
time=85.2 ms
64 bytes from nx-in-f160.1e100.net (xx.xx.xx.xx): icmp_seq=3 ttl=49
time=91.8 ms
--- xx.xx.xx.xx ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2093ms
rtt min/avg/max/mdev = 85.240/88.327/91.881/2.731 ms
# cat hostdev.xml
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x00' slot='0x19' function='0x0'/>
</source>
</hostdev>
# virsh attach-device foo hostdev.xml
Device attached successfully
# readlink /sys/bus/pci/devices/0000\:00\:19.0/driver/ -f
/sys/bus/pci/drivers/pci-stub
# ping -c 3 xx.xx.xx.xx
connect: Network is unreachable
# virsh destroy foo
Domain foo destroyed
# readlink /sys/bus/pci/devices/0000\:00\:19.0/driver/ -f
/sys/bus/pci/drivers/e1000e
# ping -c 3 xx.xx.xx.xx
PING xx.xx.xx.xx (xx.xx.xx.xx) 56(84) bytes of data.
64 bytes from xx.xx.xx.xx: icmp_seq=1 ttl=49 time=79.7 ms
64 bytes from xx.xx.xx.xx: icmp_seq=2 ttl=49 time=83.2 ms
64 bytes from xx.xx.xx.xx: icmp_seq=3 ttl=49 time=84.5 ms
--- xx.xx.xx.xx ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2087ms
rtt min/avg/max/mdev = 79.714/82.480/84.513/2.040 ms
Notes, need to wait for local network recovery again then check network
connectivity.
If your network still is disconnect, it may be a bug IMHO, please show
your libvirt
and qemu-kvm version, or my example is not what you want, please let me
know.
Thanks,
Alex
> In our case since ixgbevf driver is NOT present in the host hence the
> virtual
> interfaces never really attach themselves to the host.
>
> Regards,
> Rajesh Kumar Mallah
> Tel. 91-11-46710500 (Ext:303)
> Cell +919811255597
> Website: http://www.tradeindia.com/
> \|/ \|/ \|/ stop printing \|/ \|/ \|/
> | | | start planting | | |
>
>
> ----- "Alex Jia" <ajia at redhat.com> wrote:
> | From: "Alex Jia" <ajia at redhat.com>
> | To: "Rajesh Kumar Mallah" <mallah at tradeindia.com>
> | Cc: libvirt-users at redhat.com
> | Sent: Tuesday, August 21, 2012 8:31:21 AM
> | Subject: Re: [libvirt-users] automatically detaching PCI host
> devices from guest for SRIOV usage.
> |
> | On 08/20/2012 08:34 PM, Rajesh Kumar Mallah wrote:
>
> Dear List ,
>
> We are using intel 82599EB based SRIOV capable 10GbE cards
> on the host machine.The VFs are being assigned to the guest
> in pass through mode and are providing the network connectivity
> as expected.
>
> However when we shutdown the guest the connectivity does not
> comes back via the VFs on the guest in next boot unless
> the VFs are detached from the *guest* *before* initiating a
> shutdown of the guests.
>
> Dear Rajesh,
> |
> | Please see the following comments.
> |
> |
>
> (
> the detach is explicitly done via virsh command
> /usr/local/libvirt/bin/virsh detach-device guest01 ~/nic.xml
> nic.xml contained
> <hostdev mode='subsystem' type='pci' managed='yes'>
> <source>
> <address domain='0x0000' bus='0x04' slot='0x10' function='0x0'/>
> </source>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
> </hostdev>
> )
>
> The question is anyone else facing similar problem and
> if so what solution was used?
>
> Secondly , is there anyway to automate the detaching of the
> VFs from the guest when the guest is put in the shutdown
> sequence ? (or for that matter destroyed).
>
>
> | When *|managed|* is *"yes"* for a PCI device, it is automatically
> detached from the host before being passed on to the guest, and
> automatically *reattached* to the host after the *guest exits* such as
> shutdown a guest.
> |
> | Regards,
> | Alex
> |
> |
>
> Regards,
> Rajesh Kumar Mallah
> Tel. 91-11-46710500 (Ext:303)
> Cell +919811255597
> Website:http://www.tradeindia.com/
> \|/ \|/ \|/ stop printing \|/ \|/ \|/
> | | | start planting | | |
>
> _______________________________________________
> libvirt-users mailing list
> libvirt-users at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-users
>
>
> |
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20120821/23252938/attachment.htm>
More information about the libvirt-users
mailing list