This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH]: xl: use libuuid to generate random UUID's

To: Ian Pratt <Ian.Pratt@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH]: xl: use libuuid to generate random UUID's
From: Vincent Hanquez <vincent.hanquez@xxxxxxxxxxxxx>
Date: Thu, 5 Aug 2010 10:19:18 +0100
Cc: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>, "Gianni Tedesco \(3P\)" <gianni.tedesco@xxxxxxxxxx>, Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Delivery-date: Thu, 05 Aug 2010 02:20:11 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4FA716B1526C7C4DB0375C6DADBC4EA37AD0596B2F@xxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1280944162.18490.219.camel@xxxxxxxxxxxxxxxxxxxxxx> <4FA716B1526C7C4DB0375C6DADBC4EA37AD0596B2F@xxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20100620 Icedove/3.0.5
On 05/08/10 03:19, Ian Pratt wrote:
Link to libuuid in xl et al and bring in the header file. Use libuuid to
generate UUID's which are actually UU and not merely pseudo-random :)

As a side-effect I have also used libuuid to generate more random MAC
addresses rather than keeping the old code and simply xoring getpid() in
to the PRNG seed.

The MAC generation scheme in xend was awful -- it might be a good idea to take 
this opportunity to fix things in libxl.

The best approach is to generate locally administered MAC addresses hence 
giving us 46 bits of freedom rather than XenSource registered OUI addresses 
which have just 24 bits -- collisions will be *much* less likely. Further, it's 
best not to generate random addresses every time, but to derive the MAC address 
from a good hash of the VM UUID and the NIC number so that they are 

Adding some details here...

In general it would be a good idea to recopy already *existing* schemes (unless it can be proven to be the wrong thing to do) already available in XCP and XCI into libxl, instead of reinventing new square wheels like here. (although this square wheel is in xl not in libxl actually)

The MAC generation, as the one Ian mentioned, is already available in the XCI toolstack and in the XCP toolstack (the code there is a bit more scattered so i'ld recommend reading the XCI one).


Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>