diff options
author | Vincenzo Maffione <v.maffione@gmail.com> | 2013-11-06 11:44:06 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2013-12-09 13:33:19 +0100 |
commit | 58952137b0b3e1c9e3ce718ed952c1baf8832652 (patch) | |
tree | 10348a2f1a0fcf536d2b393ad716eaa4f696206a /qapi-schema.json | |
parent | a1d22a367d5780c9553b2cd5a24f665534ce6ed6 (diff) | |
download | qemu-58952137b0b3e1c9e3ce718ed952c1baf8832652.zip qemu-58952137b0b3e1c9e3ce718ed952c1baf8832652.tar.gz qemu-58952137b0b3e1c9e3ce718ed952c1baf8832652.tar.bz2 |
net: Adding netmap network backend
This patch adds support for a network backend based on netmap.
netmap is a framework for high speed packet I/O. You can use it
to build extremely fast traffic generators, monitors, software
switches or network middleboxes. Its companion software switch
VALE lets you interconnect virtual machines.
netmap and VALE are implemented as a non-intrusive kernel module,
support NICs from multiple vendors, are part of standard FreeBSD
distributions and available in source format for Linux too.
To compile QEMU with netmap support, use the following configure
options:
./configure [...] --enable-netmap --extra-cflags=-I/path/to/netmap/sys
where "/path/to/netmap" contains the netmap source code, available at
http://info.iet.unipi.it/~luigi/netmap/
The same webpage contains more information about the netmap project
(together with papers and presentations).
Signed-off-by: Vincenzo Maffione <v.maffione@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'qapi-schema.json')
-rw-r--r-- | qapi-schema.json | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/qapi-schema.json b/qapi-schema.json index 8630eb5..d6f8615 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -3009,6 +3009,27 @@ 'hubid': 'int32' } } ## +# @NetdevNetmapOptions +# +# Connect a client to a netmap-enabled NIC or to a VALE switch port +# +# @ifname: Either the name of an existing network interface supported by +# netmap, or the name of a VALE port (created on the fly). +# A VALE port name is in the form 'valeXXX:YYY', where XXX and +# YYY are non-negative integers. XXX identifies a switch and +# YYY identifies a port of the switch. VALE ports having the +# same XXX are therefore connected to the same switch. +# +# @devname: #optional path of the netmap device (default: '/dev/netmap'). +# +# Since 1.8 +## +{ 'type': 'NetdevNetmapOptions', + 'data': { + 'ifname': 'str', + '*devname': 'str' } } + +## # @NetClientOptions # # A discriminated record of network device traits. @@ -3025,7 +3046,8 @@ 'vde': 'NetdevVdeOptions', 'dump': 'NetdevDumpOptions', 'bridge': 'NetdevBridgeOptions', - 'hubport': 'NetdevHubPortOptions' } } + 'hubport': 'NetdevHubPortOptions', + 'netmap': 'NetdevNetmapOptions' } } ## # @NetLegacy |