qemu/net
Jason Wang 264986e2c8 tap: multiqueue support
Recently, linux support multiqueue tap which could let userspace call TUNSETIFF
for a signle device many times to create multiple file descriptors as
independent queues. User could also enable/disabe a specific queue through
TUNSETQUEUE.

The patch adds the generic infrastructure to create multiqueue taps. To achieve
this a new parameter "queues" were introduced to specify how many queues were
expected to be created for tap by qemu itself. Alternatively, management could
also pass multiple pre-created tap file descriptors separated with ':' through a
new parameter fds like -netdev tap,id=hn0,fds="X:Y:..:Z". Multiple vhost file
descriptors could also be passed in this way.

Each TAPState were still associated to a tap fd, which mean multiple TAPStates
were created when user needs multiqueue taps. Since each TAPState contains one
NetClientState, with the multiqueue nic support, an N peers of NetClientState
were built up.

A new parameter, mq_required were introduce in tap_open() to create multiqueue
tap fds.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-02-01 11:03:02 -06:00
..
checksum.c Change license from GPLv2 to GPLv2+ 2012-02-01 16:24:54 -06:00
clients.h net: reorganize headers 2012-12-19 08:31:29 +01:00
dump.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
hub.c Merge remote-tracking branch 'bonzini/header-dirs' into staging 2012-12-19 17:15:39 -06:00
hub.h net: reorganize headers 2012-12-19 08:31:29 +01:00
Makefile.objs net: move net.c to net/ 2012-12-19 08:29:59 +01:00
net.c net: multiqueue support 2013-02-01 11:03:01 -06:00
queue.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
slirp.c HMP: add QDict to info callback handler 2013-01-17 10:24:52 -02:00
socket.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
tap_int.h tap: multiqueue support 2013-02-01 11:03:02 -06:00
tap-aix.c tap: multiqueue support 2013-02-01 11:03:02 -06:00
tap-bsd.c tap: multiqueue support 2013-02-01 11:03:02 -06:00
tap-haiku.c tap: multiqueue support 2013-02-01 11:03:02 -06:00
tap-linux.c tap: multiqueue support 2013-02-01 11:03:02 -06:00
tap-linux.h tap: import linux multiqueue constants 2013-02-01 11:03:01 -06:00
tap-solaris.c tap: multiqueue support 2013-02-01 11:03:02 -06:00
tap-win32.c tap: support enabling or disabling a queue 2013-02-01 11:03:02 -06:00
tap.c tap: multiqueue support 2013-02-01 11:03:02 -06:00
util.c net: reorganize headers 2012-12-19 08:31:29 +01:00
util.h net: move parse_macaddr() to net/util.[ch] 2009-12-03 09:41:34 -06:00
vde.c net: add missing include file 2012-12-22 12:06:48 +00:00