[libvirt] [PATCHv7 0/4] Introduce API to query IP addresses for given domain
Nehal J Wani
nehaljw.kkd1 at gmail.com
Tue Jan 13 13:36:28 UTC 2015
On Wed, Dec 17, 2014 at 5:46 AM, Nehal J Wani <nehaljw.kkd1 at gmail.com> wrote:
> This feature has been requested for a very long time. Since qemu guest
> agent gives us reliable results, now the wait is over.
>
> The RFC was first proposed by Michal Privoznik:
> http://www.redhat.com/archives/libvir-list/2012-February/msg00437.html
> A patch was submitted, using structs:
> https://www.redhat.com/archives/libvir-list/2012-June/msg00220.html
> Another patch was submitted, using XML:
> https://www.redhat.com/archives/libvir-list/2012-June/msg00904.html
>
> Neither of the patches were accepted, probably due to lack of extensibility
> and usability. Hence, we thought of using virTypedParameters for reporting
> list of interfaces along with their MAC address and IP addresses. The RFC
> can be found here:
> https://www.redhat.com/archives/libvir-list/2013-July/msg00084.html
>
> The idea of extensibility was rejected and rendered out of scope of
> libvirt. Hence, we were back to structs.
>
> This API is called virDomainInterfaceAddresses which returns a dynamically
> allocated array of virDomainInterface struct. The great disadvantage is
> once this gets released, it's written in stone and we cannot change
> or add an item into it.
>
> The virsh CLI supports two methods:
>
> * Return information (list of all associated interfaces with MAC address
> and IP addresses) of all of the domain interfaces by default (if
> no interface name is provided)
>
> * Return information for the specified interface (if an interface name
> is provided)
>
> v7:
> * Enable support for DHCP lease file parsing method
>
> v6:
> * Inclusion of flags, readonly check for guest agent connection
> * Correction of memory leaks, other small nits.
> * https://www.redhat.com/archives/libvir-list/2013-September/msg00350.html
>
> v5:
> * s/virDomainInterfacesAddresses/virDomainInterfaceAddresses.
> * Case for IP aliasing handled using virHashTable.
> * New test cases added, involving multiple and 0 IP addresse(s)
> per interface.
> * IP prefix changed from int to unsigned int.
> * Changes to practice libvirt habits.
> * https://www.redhat.com/archives/libvir-list/2013-September/msg00003.html
>
> v4:
> * Various style nits, indentation errors, memory leaks fixed.
> * https://www.redhat.com/archives/libvir-list/2013-August/msg01265.html
>
> v3:
> * Upper bounds to number of interfaces and addresses per interface
> introduced.
> * Change from array of structs to array of pointers
> * ifaces_count moved from function argument to return value
> * Changes in variable names
> * Test cases added for qemuAgentGetInterfaces.
> * https://www.redhat.com/archives/libvir-list/2013-August/msg01215.html
>
> v2:
> * Logical errors, memory leaks and few other errors fixed.
> * https://www.redhat.com/archives/libvir-list/2013-August/msg00631.html
>
> v1:
> * http://www.redhat.com/archives/libvir-list/2013-July/msg01553.html
>
>
> Nehal J Wani (4):
> domifaddr: Implement the public APIs
> domifaddr: Implement the remote protocol
> domifaddr: Implement the API for qemu
> domifaddr: Add virsh support
>
> daemon/remote.c | 134 +++++++++++++++++++++++++
> include/libvirt/libvirt-domain.h | 27 +++++
> src/driver-hypervisor.h | 5 +
> src/libvirt-domain.c | 129 ++++++++++++++++++++++++
> src/libvirt_public.syms | 2 +
> src/qemu/qemu_agent.c | 202 ++++++++++++++++++++++++++++++++++++++
> src/qemu/qemu_agent.h | 4 +
> src/qemu/qemu_driver.c | 153 +++++++++++++++++++++++++++++
> src/remote/remote_driver.c | 100 +++++++++++++++++++
> src/remote/remote_protocol.x | 42 +++++++-
> src/remote_protocol-structs | 24 +++++
> tests/qemuagenttest.c | 188 +++++++++++++++++++++++++++++++++++
> tools/virsh-domain-monitor.c | 141 ++++++++++++++++++++++++++
> tools/virsh.pod | 16 +++
> 14 files changed, 1166 insertions(+), 1 deletion(-)
>
> --
> 1.7.10.4
>
Ping! :-)
--
Nehal J Wani
More information about the libvir-list
mailing list