aboutsummaryrefslogtreecommitdiff
path: root/qapi-schema.json
diff options
context:
space:
mode:
authorVincenzo Maffione <v.maffione@gmail.com>2013-11-06 11:44:06 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2013-12-09 13:33:19 +0100
commit58952137b0b3e1c9e3ce718ed952c1baf8832652 (patch)
tree10348a2f1a0fcf536d2b393ad716eaa4f696206a /qapi-schema.json
parenta1d22a367d5780c9553b2cd5a24f665534ce6ed6 (diff)
downloadqemu-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.json24
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