By switching from the default VMware OUI to range- or prefixed-based MAC address allocation through the vSphere Web Client, you can avoid and resolve MAC address duplication conflicts in vSphere deployments.

Change the allocation scheme from the default VMware OUI to range- or to prefixed-based allocation by using the Advanced Settings available for the vCenter Server instance in the vSphere Web Client.

To switch from range- or prefixed-based allocation back to VMware OUI allocation, or between range- and prefixed-based allocation, edit the vpxd.cfg file manually. See Set or Change Allocation Type.

Note:

You should use prefix-based MAC address allocation in vCenter Server 5.1 and ESXi 5.1 hosts, and later.

If a vCenter Server 5.1 instance manages hosts running ESXi versions earlier than ESXi 5.1, use VMware OUI prefix-based MAC address allocation. Virtual machines assigned non VMware OUI prefixed MAC addresses fail to power on on the pre-5.1 hosts. These hosts explicitly check if an assigned MAC address uses the VMware OUI 00:50:56 prefix.

Procedure

  1. In the vSphere Web Client, navigate to a vCenter Server instance.
  2. On the Configure tab, expand Settings and select Advanced Settings.
  3. Click Edit.
  4. Add or edit parameters for the target allocation type.
    Use only one allocation type.
    • Change to prefix-based allocation.
      Key Example Value
      config.vpxd.macAllocScheme.prefixScheme.prefix 005026
      config.vpxd.macAllocScheme.prefixScheme.prefixLength 23

      prefix and prefixLength determine the range of MAC address prefixes that newly added vNICs have. prefix is the starting OUI of MAC addresses related to the vCenter Server instance, and prefixLength determines the length of the prefix in bits.

      For example, the settings from the table result in VM NIC MAC addresses starting with 00:50:26 or 00:50:27.

    • Change to range-based allocation.
      Key Example Value
      config.vpxd.macAllocScheme.rangeScheme.range[X].begin 005067000000
      config.vpxd.macAllocScheme.rangeScheme.range[X].end 005067ffffff
      X in range[X] stands for the range sequence number. For example, 0 in range[0] represents the allocation settings of the first range for MAC address allocation.
  5. Click OK.