I always thought that MAC addresses assigned by ESX were of the format 00:50:56:XX:XX:XX and still is as confirmed here
However when trying to hunt down some particular weird happenings on a DC; whilst in the ARP cache I noticed a lot of 00:0c:29:XX:XX:XX addresses. By chance I then noticed these were linked to a group VM's on a stand alone host.
These haven't been manually changed and I was expecting 00:50:56:XX:XX:XX. Googling around I found nothing direct from VMware on this, however I did find a blog that stated the 00:0c:29:XX:XX:XX range is used when a VM is created directly on an ESXi host. Is this true? These VM's were not created directly on any host however they were manually added to the inventory of the standalone host - would this cause this?
In addition the blog also mentioned the OUI 00:05:69 as potentially being used by VMware.
Can any clarify this please?
Automatically generated MACs are 00:05:69 and manually generated ones are 00:50:56. However none of these VM's were manually generated and never have been, what constitues an automatically generated MAC address?
No mentioned of 00:0c:29 either
Thanks! Not sure why that didn't come up in my searches.
Do you know when does the UUID algorithm comes into play over the "old" algorithm? I have VM's created today on ESXi 4.1, HW version 7, and their MACs are in the 00:50:56 range. They were not manually assigned either.
Vodder, I had similar questions and after some digging I cobbled together the folowing info:
VMware has four OUI for MAC addresses
00:0C:29 (Used when auto-generating a MAC for a VM created directly on an ESXi host)
00:50:56 (Used for vCenter generated & static MAC addresses)
00:05:69 (Used for auto-generated MACs on ESX 1.0 - 2.5)
00-1C-14 (I’m not sure what they are doing or going to do with this one)
The static and vCenter generated MACs don’t overlap because the static range ends at 00:50:56:3F:FF:FF and the vCenter generated range starts with 00:50:56:80:00:00 which is always greater than 00:50:56:3F:FF:FF.
I believe the algorithm vCenter uses is 00:50:56:(80+ vCenter ID#):XX:XX where 80 is Hex and the vCenter ID is a Dec number between 0 and 63 automatically generated when vCenter is installed but it can be changed manually. The last two bytes are generated based on a hash of the VM name
For instance a VM has a MAC 00:50:56:8A:00:2D so we know that it was set automatically by vCenter because it is higher than 00:50:56:3F:00:00 and the vCenter ID is 10 because the 4th byte is 8A and in Hex 8A-80=A which is 10 in Dec.
A VM generated on an ESX host uses the formula 00:0C:29: (SMBIOS UUID of host):(Hash of VM name)
I hope that helps.