Brief explanation of Above mentioned Scenario:
There are three VMs connected to vSwitch.
VM1 Mac Adress is AA
VM2 Mac Address is BB
VM3 Mac Address is CC
vmnic0 is uplink connected to Physical Switch Port ( Let’s say 0/1).
This Uplink Mac Address is XX.
The question here is
How Physical Switch will be processing VMs Packets coming from vSwitch and goes on Wire.
- Physical Switch will be masking all VMs MAC address with Uplink Mac Address(XX) ( similar to NAT implementation)
- Virtual Switch will be masking all outgoing VMs MAC address with Uplink Mac Address
- Physical Switch Will be learning VMs MAC address and updating MAC table with only VMs MAC address.
- Physical Switch will having both VM MAC address and Uplink Mac Address in its MAC table
3) Physical Switch Will be learning VMs MAC address and updating MAC table with only VMs MAC address.
In Physical Networking, Ethernet Frames coming from Host will be encapsulated with MAC address of NIC Cards installed on Physical Host. When Switch receives frame on its switch port to which NIC card was connected, then it updates its MAC table with Source NIC MAC address along with Port details from which this frame was received.
In Virtual Networking, There is no significance of Physical NIC Cards (Uplinks) MAC address installed on ESXi Host.
Reason Being, VMkernel configure every Uplink port connected to vSwitch in Promiscous Mode. Once Uplink is configured in Promiscous Mode then its becomes like a PASS-THROUGH Device which forwards all the frames coming from virtual machine to Physical Switch port directly without any modification.
Since, Virtual Machines Frames are not masked by Uplink Port MAC address due to its PASS-THROUGH Behavior, Physical Switch receives frame as its directly talking to Virtual Machines.
That’s the reason, Physical Switch Learns VM Mac address and Mapped it to respective Port in its MAC table.
I hope I could clarify answer to this question with proper reasoning.
Please feel free to post your queries if you still have any query.