qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] vhost-net issue: does not survive reboot on ppc64


From: Alexey Kardashevskiy
Subject: Re: [Qemu-devel] vhost-net issue: does not survive reboot on ppc64
Date: Mon, 23 Dec 2013 01:48:45 +1100
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

On 12/22/2013 10:41 PM, Zhi Yong Wu wrote:
> On Sat, Dec 21, 2013 at 11:01 PM, Alexey Kardashevskiy <address@hidden> wrote:
>> Hi!
> HI, Alexey
> 
>>
>> I am having a problem with virtio-net + vhost on POWER7 machine - it does
>> not survive reboot of the guest.
> Can you let me login to your environment for debug? I am interested in
> trying to fix this issue.


You do not need my environment, just make sure your guest does not bring
the virtio's ethernet up, wait for 4 minutes and try to bring it up and use
(ping, for example). Any POWER7, POWER8 machine should be able to reproduce it.



> 
>>
>> Steps to reproduce:
>> 1. boot the guest
>> 2. configure eth0 and do ping - everything works
>> 3. reboot the guest (i.e. type "reboot")
>> 4. when it is booted, eth0 can be configured but will not work at all.
>>
>> The test is:
>> ifconfig eth0 172.20.1.2 up
>> ping 172.20.1.23
>>
>> If to run tcpdump on the host's "tap-id3" interface, it shows no trafic
>> coming from the guest. If to compare how it works before and after reboot,
>> I can see the guest doing an ARP request for 172.20.1.23 and receives the
>> response and it does the same after reboot but the answer does not come.
>>
>> If to remove vhost=on, it is all good. If to try Fedora19
>> (v3.10-something), it all good again - works before and after reboot.
>>
>>
>> And there 2 questions:
>>
>> 1. does anybody have any clue what might go wrong after reboot?
>>
>> 2. Is there any good material to read about what exactly and how vhost
>> accelerates?
>>
>> My understanding is that packets from the guest to the real network are
>> going as:
>> 1. guest's virtio-pci-net does ioport(VIRTIO_PCI_QUEUE_NOTIFY)
>> 2. QEMU's net/virtio-net.c calls qemu_net_queue_deliver()
>> 3. QEMU's net/tap.c calls tap_write_packet() and this is how the host knows
>> that there is a new packet.
>>
>>
>> Thanks!
>>
>>
>> This how I run QEMU:
>> ./qemu-system-ppc64 \
>> -enable-kvm \
>> -m 2048 \
>> -machine pseries \
>> -initrd 1.cpio \
>> -kernel vml312_virtio_net_dbg \
>> -nographic \
>> -vga none \
>> -netdev
>> tap,id=id3,ifname=tap-id3,script=ifup.sh,downscript=ifdown.sh,vhost=on \
>> -device virtio-net-pci,id=id4,netdev=id3,mac=C0:41:49:4b:00:00
>>
>>
>> That is bridge config:
>> address@hidden ~]$ brctl show
>> bridge name     bridge id               STP enabled     interfaces
>> brtest          8000.00145e992e88       no      pin     eth4
>>
>>
>> The ifup.sh script:
>> ifconfig $1 hw ether ee:01:02:03:04:05
>> /sbin/ifconfig $1 up
>> /usr/sbin/brctl addif brtest $1


-- 
Alexey



reply via email to

[Prev in Thread] Current Thread [Next in Thread]