[xen-discuss] How to get the MAC address of a domU?

Joseph Mocker mock at sun.com
Mon Mar 2 11:42:01 PST 2009


Thanks for the info. I'm doing something similar to the original where I 
want to get the generated MAC addresses when I create a domain, which I 
then use to create static DHCP assignments.

I was hoping there was a better way, than parsing virsh XML, but it 
sounds like that's all there is. I suppose I could probably write 
utility using libvirt, but that's just overachieving then, isn't it.

 :-)

  --joe

Ian Blenke wrote:
> If a domain isn't running, it won't have a dynamically assigned MAC address assigned.
>
> Starting with Xen 3.0.4, "xm new" keeps a "persistent config" copy to remember the config when a domain isn't running.
>
> The virsh equivalent to this is "virsh define". When you "virsh define config.sxp", that will be parsed by libvirt and turned into an "xm new" persistent config.
>
> Under Solaris xVM, xend keeps this "persistent config" copy in /var/lib/xend/domains/${uuid}/config.sxp
>
> That's that "nasty LISPish" SXP format.
>
> You are correct in that only running domains are shown using the xenstore tools, as the only time xenstored (which hooks into the xen hypervisor xenstore with callbacks, etc) are aware of a domain's configuration is when the domain is running.
>
> Hope this helps.
>
> - Ian C. Blenke <ian at blenke.com> <iblenke at csdvrs.com> http://ian.blenke.com/
>
> On 3/2/09 1:21 PM, "Joseph Mocker" <mock at sun.com> wrote:
>
> Will the xenstore method get all VMs or just running VMs? With my
> limited use of the xenstore commands I recall seeing the later behavior.
>
>   --joe
>
> Ian Blenke wrote:
>   
>> This seems to come up every few months.
>>
>> If you're dead set on shell scripting it, there are always the xenstore
>> commands.
>>
>> You're probably used to seeing the SXP formatted format of "xm list -l".
>> That's a bit difficult to parse using shell tools. Try this instead:
>>
>>   /usr/lib/xen/bin/xenstore-ls
>>
>> To list all of the VMs and their MAC address, you could use:
>>
>>   /usr/lib/xen/bin/xenstore-list /vm | while read uuid ; do
>>     echo $(/usr/lib/xen/bin/xenstore-read /vm/${uuid}/name \
>>            /vm/${uuid}/device/vif/0/mac ) ; \
>>   done
>>
>> Hope this helps.
>>
>>  - Ian Blenke <ian at blenke.com> <iblenke at csdvrs.com> http://ian.blenke.com/
>>
>> On 3/2/09 12:46 AM, "David Edmondson" <dme at sun.com> wrote:
>>
>>
>>     
>>> On 28 Feb 2009, at 11:01pm, James Adams wrote:
>>>
>>>
>>>       
>>>> I'm creating a new domU using 'virsh create <xmlfile>' without
>>>> specifying the MAC address within the XML file, under the assumption
>>>> that the dom0 or hypervisor generates the MAC address for me.  Next
>>>> I'd like to get the MAC address that was assigned to this new domU,
>>>> and I don't see a way to get that information from the command line
>>>> via virsh or xm.  The closest thing I've found is that you can use
>>>> 'xm info' and it will give you some MAC address-looking values in
>>>> its hw_caps line, but I can't find any documentation which explains
>>>> how to interpret these values and whether or not they're actually
>>>> related to any of the domUs.  I'd like to leverage a shell command
>>>> if possible for this since I'm communicating with the machine that
>>>> is running xVM via ssh from a Java program.  Can anyone give me any
>>>> suggestions on how I'd go about doing this?
>>>>
>>>>         
>>> As Andrew says, dumping the configuration of the domain is the right
>>> way to go. I'd encourage you to parse the XML with a more complete
>>> tool than 'grep' though ;-)
>>>
>>> _______________________________________________
>>> xen-discuss mailing list
>>> xen-discuss at opensolaris.org
>>>
>>>
>>>       
>> _______________________________________________
>> xen-discuss mailing list
>> xen-discuss at opensolaris.org
>>
>>     
>
>   




More information about the xen-discuss mailing list