[libvirt] RFC: Implement virDomainGetIPAddress()
Daniel P. Berrange
berrange at redhat.com
Fri Jul 15 10:09:54 UTC 2011
On Thu, Jul 14, 2011 at 05:14:57PM +0200, Michal Novotny wrote:
> Hi guys,
> some time ago I've been investigating the options to get the guest's IP
> address information without having to connect to guest's VNC window or
> console. It was for one project I've been working on and I found that
> the solution lies in the procfs, precisely in the /proc/{PID}/net/arp...
>
> The format is as follows:
>
> $ cat /proc/{PID}/net/arp
> IP address HW type Flags HW address Mask
> Device
> 192.168.122.36 0x1 0x2 52:54:00:35:76:e6 *
> virbr0
>
> where the HW address matches the MAC address associated to the guest's
> NIC. Implementing such an API shouldn't be a big problem however I know
> that there's some option to run libvirt on Windows machines. It should
> be just the client so it shouldn't really matter however I'd like to ask
> you whether it's really not an issue.
>
> The function should return a string of the guest's IP address as read
> from the procfs or return a NULL value if there's no IP address
> associated with the guest.
>
> If the multiple NICs are being used by the guest then the function
> should return either the IP address matching the MAC address passed to
> the function or the first IP address if omitted.
>
> The prototype should be:
>
> char *virDomainGetIPAddress(virDomainPtr domain, char *devmac);
>
> For this the internal information about PID of the process spawned
> should be used (this is already being tracked and stored by libvirt
> IMHO) to access the /proc/{PID}/net/arp file.
>
> This API function would be very useful since it would give libvirt users
> option to get the information of the guest's IP address without having
> to connect to guest's VNC window or console.
>
> For virsh this could be implemented directly into the dominfo subcommand.
>
> What do you think about implementing this ?
I'm not entirely convinced was want to have this in our APIs, since the
arp probing is not really a reliable basis for reporting guest IP details.
In the near future there will be guest agents for QEMU which can report
this information reliably and I think they're a better bet for any app
which would want this information.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list