This series adds support for the QEMU vhost-user feature to libvirt.
vhost-user enables the communication between a QEMU virtual machine
and other userspace process using the Virtio transport protocol.
It uses a char dev (e.g. Unix socket) for the control plane,
while the data plane based on shared memory.
The XML looks like:
<interface type='vhostuser'>
<source type='unix' path='/tmp/vhost.sock'
mode='server'/>
<mac address='52:54:00:3b:83:1a'/>
<model type='virtio'/>
</interface>
Our use case is the deployment of Snabbswitch in an OpenStack/NFV
environment. Snabbswitch uses a Unix socket to implement the
vhost-user control plane, thus we focused on the support for the
type=unix attribute of the <source> element.
To test it with Snabbswitch, it is necessary to apply the
following patches (respectively from Chen Fan and Michele Paolino):
http://www.redhat.com/archives/libvir-list/2014-June/msg01195.html
http://www.redhat.com/archives/libvir-list/2014-June/msg01418.html
It is also possible to directly checkout the Virtual Open Systems'
libvirt repository(branch "vhost-user_support) at the address:
https://github.com/virtualopensystems/libvirt.
This patch is based on the previous work from Luke Gorrie:
http://www.redhat.com/archives/libvir-list/2014-May/msg00934.html
Michele Paolino (4):
vhost-user support: domain configuration
vhost-user support: qemu command-line
vhost-user support: tests and docs
vhost-user support: lxc,xenxs,uml
docs/formatdomain.html.in | 34 +++++++++
docs/schemas/domaincommon.rng | 39 +++++++++++
src/conf/domain_conf.c | 81 ++++++++++++++++++++++
src/conf/domain_conf.h | 10 ++-
src/lxc/lxc_process.c | 1 +
src/qemu/qemu_command.c | 58 ++++++++++++++++
src/uml/uml_conf.c | 5 ++
src/xenxs/xen_sxpr.c | 1 +
.../qemuxml2argv-net-vhostuser.args | 7 ++
.../qemuxml2argv-net-vhostuser.xml | 33 +++++++++
tests/qemuxml2argvtest.c | 1 +
tests/qemuxml2xmltest.c | 1 +
12 files changed, 269 insertions(+), 2 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.xml
--
1.9.3