qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Subject: [Qemu-devel] vhost-net issue: does not survive reboot on ppc64
Date: Sun, 22 Dec 2013 02:01:23 +1100	[thread overview]
Message-ID: <52B5AD43.5020700@ozlabs.ru> (raw)

Hi!

I am having a problem with virtio-net + vhost on POWER7 machine - it does
not survive reboot of the guest.

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:
[aik@dyn232 ~]$ 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	other threads:[~2013-12-21 15:01 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-21 15:01 Alexey Kardashevskiy [this message]
2013-12-22 10:56 ` [Qemu-devel] vhost-net issue: does not survive reboot on ppc64 Michael S. Tsirkin
2013-12-22 14:46   ` Alexey Kardashevskiy
2013-12-22 15:01     ` Alexey Kardashevskiy
2013-12-23 16:24       ` Michael S. Tsirkin
2013-12-24  3:09         ` Alexey Kardashevskiy
2013-12-24  9:40           ` Michael S. Tsirkin
2013-12-24 14:15             ` Alexey Kardashevskiy
2013-12-24 15:43               ` Michael S. Tsirkin
2013-12-25  1:36                 ` Alexey Kardashevskiy
2013-12-25  9:52                   ` Michael S. Tsirkin
2013-12-26 10:13                     ` Alexey Kardashevskiy
2013-12-26 10:49                       ` Michael S. Tsirkin
2013-12-26 12:51                         ` Alexey Kardashevskiy
2013-12-26 13:48                           ` Michael S. Tsirkin
2013-12-26 14:59                             ` Alexey Kardashevskiy
2013-12-26 15:12                               ` Michael S. Tsirkin
2013-12-27  1:44                                 ` Alexey Kardashevskiy
2014-01-06  9:57                                   ` Alexey Kardashevskiy
2014-01-07 13:18                 ` Alexey Kardashevskiy
2014-01-10  5:13                   ` Alexey Kardashevskiy
2014-01-10 12:41                     ` Michael S. Tsirkin
2014-01-10 13:44                       ` Alexey Kardashevskiy
2013-12-22 11:41 ` Zhi Yong Wu
2013-12-22 14:48   ` Alexey Kardashevskiy

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=52B5AD43.5020700@ozlabs.ru \
    --to=aik@ozlabs.ru \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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).