This API adds methods to modify link state of virtual
interfaces of a domain.
Idea of this API is to enable simulation of unplugging
(virtual) cable from the machine to test networks or
to allow propagation of topology changes on the host.
---
include/libvirt/libvirt.h.in | 24 ++++++++++++++++++++++++
src/libvirt_public.syms | 6 ++++++
2 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index b1bda31..b149eb9 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -1022,6 +1022,30 @@ int virDomainGetControlInfo (virDomainPtr
domain,
virDomainControlInfoPtr info,
unsigned int flags);
+
+/*
+ * Domain network interface link state modification
+ */
+
+int virDomainInterfaceLinkSetState(virDomainPtr dom,
+ const char *path,
+ unsigned int state,
+ unsigned int flags);
+int virDomainInterfaceLinkGetState(virDomainPtr dom,
+ const char *path,
+ unsigned int flags);
+/**
+ * virInterfaceLinkStates
+ *
+ * Link state options
+ */
+typedef enum {
+ VIR_LINK_STATE_DEFAULT = 0, /* Default link state (up) */
+ VIR_LINK_STATE_UP, /* Link is up. ("cable" connected) */
+ VIR_LINK_STATE_DOWN , /* Link is down. ("cable" disconnected) */
+} virInterfaceLinkStates;
+
+
/*
* Return scheduler type in effect 'sedf', 'credit', 'linux'
*/
diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms
index c2b6666..ac77c02 100644
--- a/src/libvirt_public.syms
+++ b/src/libvirt_public.syms
@@ -481,3 +481,9 @@ LIBVIRT_0.9.4 {
} LIBVIRT_0.9.3;
# .... define new API here using predicted next version number ....
+
+LIBVIRT_0.9.5 {
+ global:
+ virDomainInterfaceLinkSetState;
+ virDomainInterfaceLinkGetState;
+} LIBVIRT_0.9.4;
--
1.7.6