Does anyone know how a VM announces its MAC address to the physical switch? For instance, I have a VM on a host that has four NICs, each connected to a port on a phycial switch.
My understanding is that when the VM is powered on (or Vmotioned) the VMkernel sends a RARP packet to the switch announcing it's MAC. But when I look at the switch, the MAC seems to be coming accross on only one port. I guess I would expect to see the MAC on all four ports. BTW, the NICs are teamed by default. Any thoughts?
Take a look at this article. http://www.vmware.com/support/esx21/doc/esx21admin_MACaddress.html
Tony G
Well, that just tells me how the MAC is created. I need to know how VMware announces the MAC to the physical switch ports when using more than one physical NIC.
When I query the switch for that MAC address, I only get a reply from one port. So by some method, the MAC was only announced via one NIC intead of all 4 NICs. Just trying to figure out what the process is.
The MAC address is virtually assigned to a virtual guest. That virtual guest should brodcast it's MAC address.VMware isn't turely Load Balanced yet, so you would see that MAC address only from one NIC. Not from all four.
Message was edited by: tgradig
VMware isn't truly Load Balanced yet
There is unfortunately no such thing as "true networking load balancing". The very nature of switched/routed networks, the concepts on which computer networks were designed, prevent load balancers like ESX's to use efficient & truly balanced algorithms.
That's why smart guys keep on inventing fatter & fatter pipes
If you are using the load balancing options based on port ID and source MAC address hash these always send traffic from a single vNIC out the same physical interface and therefore explains what you see.
IP Hash balances the load based on source-destination IP pairs. This allows the source vNIC MAC address to appear on two or more switch ports at the same time. However unless your switch is configured to expect this behaviour it's going to get very confused