Skip to content

Commit

Permalink
tap: forbid creating multiqueue tap when hub is used
Browse files Browse the repository at this point in the history
Obviously, hub does not support multiqueue tap. So this patch forbids creating
multiple queue tap when hub is used to prevent the crash when command line such
as "-net tap,queues=2" is used.

Cc: qemu-stable@nongnu.org
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
  • Loading branch information
jasowang authored and stefanhaRH committed Feb 27, 2013
1 parent 7d91ddd commit ce675a7
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions net/tap.c
Expand Up @@ -693,6 +693,13 @@ int net_init_tap(const NetClientOptions *opts, const char *name,
queues = tap->has_queues ? tap->queues : 1;
vhostfdname = tap->has_vhostfd ? tap->vhostfd : NULL;

/* QEMU vlans does not support multiqueue tap, in this case peer is set.
* For -netdev, peer is always NULL. */
if (peer && (tap->has_queues || tap->has_fds || tap->has_vhostfds)) {
error_report("Multiqueue tap cannnot be used with QEMU vlans");
return -1;
}

if (tap->has_fd) {
if (tap->has_ifname || tap->has_script || tap->has_downscript ||
tap->has_vnet_hdr || tap->has_helper || tap->has_queues ||
Expand Down

0 comments on commit ce675a7

Please sign in to comment.