[libvirt] [PATCH v3 0/7] Introduce API for dumping domain IP addresses

Michal Privoznik mprivozn at redhat.com
Thu Aug 2 18:08:42 UTC 2012


This feature has been requested for a very long time. However,
we had to wait for guest agent to obtain reliable results as
user might create totally different structure of interfaces than
seen from outside (e.g. bonding, virtual interfaces, etc.).
That's the main reason why sniffing for domain traffic can
return bogus results. Fortunately, qemu guest agent implement
requested part for a while so nothing holds us back anymore.

To make matters worse, guest OS can assign whatever name to
an interface and changing MAC inside guest isn't propagated
to the host which in the end see original one.

Therefore, finding correlation between interface within guest
and the host side end is left as exercise for mgmt applications.

This API is called virDomainInterfacesAddresses (okay, maybe
too many plurals) and returns a dynamically allocated array
of virDomainInterface struct. We agreed on this in previous versions.

Michal Privoznik (7):
  Introduce virDomainInterfacesAddresses API
  virsh: Expose virDomainInterfacesAddresses
  qemu_agent: Implement 'guest-network-get-interfaces' command handling
  qemu: Implement virDomainInterfacesAddresses
  remote: Implement virDomainInterfacesAddresses
  python: Expose virDomainInterfacesAddresses
  python: create example for dumping domain IP addresses

 daemon/remote.c                 |  124 +++++++++++++++++++++++++++++++
 examples/python/Makefile.am     |    2 +-
 examples/python/README          |    1 +
 examples/python/domipaddrs.py   |   50 +++++++++++++
 include/libvirt/libvirt.h.in    |   36 +++++++++
 python/generator.py             |    1 +
 python/libvirt-override-api.xml |    6 ++
 python/libvirt-override.c       |  115 ++++++++++++++++++++++++++++
 src/driver.h                    |    5 +
 src/libvirt.c                   |   98 ++++++++++++++++++++++++
 src/libvirt_public.syms         |    1 +
 src/qemu/qemu_agent.c           |  156 +++++++++++++++++++++++++++++++++++++++
 src/qemu/qemu_agent.h           |    3 +
 src/qemu/qemu_driver.c          |   76 +++++++++++++++++++
 src/remote/remote_driver.c      |   88 ++++++++++++++++++++++
 src/remote/remote_protocol.x    |   24 ++++++-
 src/remote_protocol-structs     |   24 ++++++
 tools/virsh-domain-monitor.c    |  112 ++++++++++++++++++++++++++++
 tools/virsh.pod                 |   11 +++
 19 files changed, 931 insertions(+), 2 deletions(-)
 create mode 100644 examples/python/domipaddrs.py

-- 
1.7.8.6




More information about the libvir-list mailing list