This patchset adds the ability for libvirt users to control interface
link state of the virtual network devices provided by hypervisors.
Modification of the link state is accomplished by adding a new XML
element <link state"up"> or "down" to the domain XML. The
corresponding
network interface is thereafter initialised with the desired state.
Live modification of the link state is achieved by calling
virDomainUpdateDeviceFlags containing a modified interface configuration.
Yet, users may modify only link state of an interface.
This feature allows propagation of network topology changes to guests,
testing scenarios in complex virtual networks, etc ...
Future upgrade:
- add support for VirtualBox
Modifications to v1:
- use virUpdateDeviceFlags instead of dedicated API
- incorporate helpful comments by Eric Blake
https://bugzilla.redhat.com/show_bug.cgi?id=643373
Peter Krempa (5):
link-state: util: Add equality comparision functions for structures
link-state: conf: Add element to XML for controling link state
link-state: qemu: Add monitor handling for link state modification
link-state: qemu: Add net intf modification to virUpdateDeviceFlags
link-state: virsh: Add wrapper commands for changing link state
docs/formatdomain.html.in | 21 +++
docs/schemas/domain.rng | 11 ++
src/conf/domain_conf.c | 24 ++++
src/conf/domain_conf.h | 11 ++
src/qemu/qemu_driver.c | 24 ++++
src/qemu/qemu_hotplug.c | 176 ++++++++++++++++++++++++++
src/qemu/qemu_hotplug.h | 8 ++
src/qemu/qemu_monitor.c | 19 +++
src/qemu/qemu_monitor.h | 4 +
src/qemu/qemu_monitor_json.c | 23 ++++
src/qemu/qemu_monitor_json.h | 4 +
src/qemu/qemu_monitor_text.c | 46 +++++++
src/qemu/qemu_monitor_text.h | 4 +
src/qemu/qemu_process.c | 47 +++++++-
src/util/network.c | 62 +++++++++
src/util/network.h | 5 +
tools/virsh.c | 286 ++++++++++++++++++++++++++++++++++++++++++
tools/virsh.pod | 11 ++
18 files changed, 785 insertions(+), 1 deletions(-)
--
1.7.3.4