If you remember correctly, about 1.2 years ago, we had...
https://www.redhat.com/archives/libvir-list/2013-September/msg00351.html
In short, the patch proposed a generalized mechanism for finding out
IP addresses, with flags for choosing method(s) (SNOOP|LEASE|AGENT).
But since not all methods were supported (only qemu-ga worked), the
API was deferred.
After exploring a bit, it seems that in all, we can have:
(i) Leases Method
(ii) Qemu Guest Agent
(iiI) DHCP Snooping (exists, but isn't publicly exposed?)
(iv) ARP Snooping (we can ask the virtual network interfaces to share
their arp tables with the public?)
Now that we have the dhcp-leases API fully furnished, why not visit
the qemu-guest-agent again?
OP1. Should we have separate APIs + virsh commands for each one of
these and then combine them together under
virDomainInterfaceAddresses?
- If each one has to be a different API and then combined later, then
what should be the corresponding name for the virsh command for
exposing the querying guest agent API?
OP2. Implement virDomainInterfaceAddresses API with two flags, one for
dhcp-leases and another for qemu-ga and keep adding others whenever
they are completed?
I don't see any real reason to have separate APIs for each method.
The API signature will be the same in all cases, so having a single
virDomainGetInterfaceAddrs() method with a bunch of flags to control
what data source is used is preferrable. I'd expect the DHCP leases
method to be used as the default, since that's the most likely method
to succeed in the common case.
Regards,
Daniel
--
|: