
On 02/06/2012 02:11 AM, Osier Yang wrote:
The auto-generated WWN comply with the new addressing schema of WWN:
<quote> the first nibble is either hex 5 or 6 followed by a 3-byte vendor identifier and 36 bits for a vendor-specified serial number. </quote>
We choose hex 5 for the first nibble. And use Qumranet's OUI (00:1A:4A) as the 3-byte vendor indentifier. The last 36 bits are auto-generated. --- src/conf/node_device_conf.c | 36 +++++++++++++++++++----------------- src/libvirt_private.syms | 1 + src/util/virrandom.c | 18 ++++++++++++++++++ src/util/virrandom.h | 1 + 4 files changed, 39 insertions(+), 17 deletions(-)
+ +#define QUMRANET_OUI "001a4a" + +int +virRandomGenerateWWN(char **wwn) { + if (virAsprintf(wwn, "5" QUMRANET_OUI "%09" PRIx64, + virRandomBits(36)) < 0) { + virReportOOMError(); + return -1; + } + + return 0;
ACK. It looks a lot shorter than v4, which is a good thing :) -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org