On Fri, Apr 26, 2013 at 12:49:53PM +0200, Aurelien Jarno wrote: > On Thu, Apr 25, 2013 at 03:24:23PM +0800, Jason Wang wrote: > > Multiqueue patchset conditionally add control vq only when guest negotiate > > the > > feature. Though the spec is not clear on this but it breaks the minix guest > > since it will identify the ctrl vq even if it does not support it. Though > > this > > behavior seems a violation on the spec "If the VIRTIO_NET_F_CTRL_VQ feature > > bit > > is negotiated, identify the control virtqueue.", to keep the backward > > compatibility, always add the ctrl vq at end of the queues. > > > > Reported-by: Aurelien Jarno <aurel...@aurel32.net> > > Cc: Aurelien Jarno <aurel...@aurel32.net> > > Signed-off-by: Jason Wang <jasow...@redhat.com> > > > > --- > > Changes from V1: > > - Drop the unrelated cleanups > > - Drop the meaningless ctrl parameter of virtio_net_set_multiqueue() > > --- > > hw/net/virtio-net.c | 15 ++++++++------- > > 1 files changed, 8 insertions(+), 7 deletions(-) > > > Thanks a lot for this patch. It fixes the issue observed on Minix. For > the record it also fixes virtio-net with NetBSD 6.0.1, before it was > triggering an assertion in QEMU. > > Now that the problem is clear, I will try to work on fixing the problem > on the OS side when I find some time. >
For the record, now that I understand the problem, I have been able to fix the issue on the guest side. Here are the links to the bug reports and patches: - Minix: https://gforge.cs.vu.nl/gf/project/minix/tracker/?action=TrackerItemEdit&tracker_item_id=653 - NetBSD: http://gnats.netbsd.org/47780 -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net