[libvirt] Using libvirt to obtain mac address of virtual domain

Daniel Veillard veillard at redhat.com
Wed Oct 21 09:40:58 UTC 2009


On Tue, Oct 20, 2009 at 11:30:12PM -0500, Charles Duffy wrote:
> Daniel Berteaud wrote:
>> If you need to get the mac address from bash, you can use this:
>>
>> virsh dumpxml myguest | grep 'mac address' | cut -d\' -f2
>>
>> You'll get one mac address per line (one line per NIC on the guest)
>
> An alternate approach which doesn't depend on the specific manner in  
> which the XML is pretty-printed follows:
>
> virsh dumpxml myguest \
>   | xmlstarlet sel -t \
>       -m "/domain/devices/interface[@type='network']/mac" \
>       -v '@address' \
>       -n
>
> This does add an external dependency (see http://xmlstar.sf.net/), but I  
> find XMLStarlet useful in conjunction with libvirt in other cases -- for  
> instance, for programatically adding or modifying devices within the  
> domain XML.

  Agreed, its cleaner !
I added a --xpath option to xmllint to allow
   virsh dumpxml myguest | xmllint --xpath "//interface[@type='network']/mac"
but I commited this last week only so it's not yet in any libxml2
release. When libxml2-2.7.7 or successors are out then this may be
sufficient (but less complete than XMLStarlet !)

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list