This article provides the best practice to be followed when a MAC address is observed to be shuffling across reboots.
VMware SD-WAN
This issue occurs if the meta-data file that is used for cloud-init creation does not consist of the MAC addresses defined under network interfaces.
This issue is because each driver, as it comes up, will scan for devices it can handle, and name them sequentially (starting from eth0, globally). So there might be a possibility where the interface order can change depending on the order of loading of the drivers (which may not be 100% stable).
Usually, this issue is seen in environments where there is a programmable environment to deploy the guest machines automatically.
This is an expected behavior and does not affect the functionality.
To resolve this issue, under the network-interfaces section of meta-data file, specify the interface names as the same names that VCO uses, spelled exactly (i.e. “GE1”, “GE2”, etc.), and pin each of them to a particular MAC address. The key here is that they must specify EVERY network interface that they attach if only to pin it to a MAC address.
You must list every interface that you attach, and each MAC address must match one of the MAC addresses in the XML file for the VM.
Example:
network-interfaces:
GE1:
mac_address: aa:bb:cc:dd:ee:ff
GE2:
mac_address: a1:b1:c1:d1:e1:f1
GE3:
mac_address: a2:b2:c2:d2:e2:f2
type: static
ipaddr: a1.b1.c1.d1
netmask: 255.255.255.0
gateway: a2.b2.c2.d2
GE4:
mac_address: a3:b3:c3:d3:e3:f3
type: static
ipaddr: a3.b3.c3.d3
netmask: 255.255.255.0
gateway: a4.b4.c4.d4
GE5:
mac_address: a4:b4:c4:d4:e4:f4
For more information see Cloud-init Creation section of the VMware SD-WAN Product Documentation.
This is seen in the deployment phase before the production traffic is actually cut over to the SD-WAN device.