Hypervisors provide means for controling link state of virtual NICs. Ability to control this can be usefully used for various aplications. These patches add (or propose) an API for controling link states of these nics.
API functions added: ----------------------------------------------------------------------- int virDomainInterfaceLinkSetState(virDomainPtr dom, const char *path, unsigned int state, unsigned int flags); This function sets link state for a NIC. A NIC is identified by the domain and path (which is MAC address of the NIC (in a string representation)). States are represented by the virInterfaceLinkStates enum. Flags determine manipulation impact of the command (live/persistent). int virDomainInterfaceLinkGetState(virDomainPtr dom, const char *path, unsigned int flags); This function requests the interface state and returns it as the return value. Peter Krempa (10): linkstate: XML for modification of interface's link state. linkstate: Public API for modifying link state on interfaces linkstate: Internal API for interface link state linkstate: Implementation of the public API linkstate: Wire up the remote protocol linkstate: Add parsing code for new XML element linkstate: Add usage of the new api to virsh linkstate: qemu: Add monitor support for setting link state linkstate: qemu: Add detection of link state setting capability. linkstate: qemu: Add link state modification support to qemu driver. docs/formatdomain.html.in | 21 ++++ - add examples for the new element docs/schemas/domain.rng | 11 ++ - add grammar for the new element include/libvirt/libvirt.h.in | 24 +++++ - add public API headers - add link states enum src/conf/domain_conf.c | 19 ++++ src/conf/domain_conf.h | 1 + - add new element and propertyto parsing and generating of domain configs src/driver.h | 14 +++- src/libvirt.c | 122 ++++++++++++++++++++++ src/libvirt_public.syms | 6 + - add implementation and expose public symbols src/qemu/qemu_capabilities.c | 5 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_driver.c | 228 ++++++++++++++++++++++++++++++++++++++++++ src/qemu/qemu_monitor.c | 19 ++++ src/qemu/qemu_monitor.h | 3 + src/qemu/qemu_monitor_json.c | 23 ++++ src/qemu/qemu_monitor_json.h | 4 + src/qemu/qemu_monitor_text.c | 47 +++++++++ src/qemu/qemu_monitor_text.h | 4 + src/qemu/qemu_process.c | 37 +++++++ - add support for qemu driver src/remote/remote_driver.c | 2 + src/remote/remote_protocol.x | 21 ++++- src/remote_protocol-structs | 16 +++ - remote protocol support for new API tools/virsh.c | 120 ++++++++++++++++++++++ tools/virsh.pod | 11 ++ - add comands to virsh and documentation 23 files changed, 757 insertions(+), 2 deletions(-) -- 1.7.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list