On 07/15/2011 12:09 PM, Daniel P. Berrange wrote: > 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 :| Daniel, you're right about this. That's the reason I wrote an e-mail about options to use nwfilter implementation of pcap or leases-file of DHCP if available. In fact I'd recommend this priority: 1) ARP table lookup 2) leases file of DHCP server if 1 is not available 3) libpcap if even 2 is not available Michal -- Michal Novotny <minovotn@xxxxxxxxxx>, RHCE, Red Hat Virtualization | libvirt-php bindings | php-virt-control.org -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list