On 01/08/2013 05:49 PM, Wanlong Gao wrote: > On 01/08/2013 05:29 PM, Jason Wang wrote: >> On 01/08/2013 05:07 PM, Wanlong Gao wrote: >>> On 12/28/2012 06:32 PM, Jason Wang wrote: >>>> + } else if (nc->peer->info->type != NET_CLIENT_OPTIONS_KIND_TAP) { >>>> + ret = -1; >>>> + } else { >>>> + ret = tap_detach(nc->peer); >>>> + } >>>> + >>>> + return ret; >>>> +} >>>> + >>>> +static void virtio_net_set_queues(VirtIONet *n) >>>> +{ >>>> + int i; >>>> + >>>> + for (i = 0; i < n->max_queues; i++) { >>>> + if (i < n->curr_queues) { >>>> + assert(!peer_attach(n, i)); >>>> + } else { >>>> + assert(!peer_detach(n, i)); >>> I got a assert here, >>> qemu-system-x86_64: /work/git/qemu/hw/virtio-net.c:330: virtio_net_set_queues: Assertion `!peer_detach(n, i)' failed. >>> >>> Any thoughts? >>> >>> Thanks, >>> Wanlong Gao >> Thanks for the testing, which steps or cases did you met this assertion, >> migration, reboot or just changing the number of virtqueues? > I use the 3.8-rc2 to test it again, I saw this tag has the multi-tap support. > > I just can't start the QEMU use -netdev tap,id=hostnet0,queues=2,fd=%d,fd=%d -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ce:7b:29,bus=pci.0,addr=0x3 > > I pre-opened two tap fds, did I missing something? Nothing missed :) It should work. Could you please try not use fd=X and let qemu to create the file descriptors by itself? Btw, how did you create the two tap fds? Thanks > > Thanks, > Wanlong Gao > >>>> + } >>>> + } >>>> +} >>>> + >>>> +static void virtio_net_set_multiqueue(VirtIONet *n, int multiqueue, int ctrl); >>>> + >>> -- >>> To unsubscribe from this list: send the line "unsubscribe kvm" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html