pktcap-uw) running on the ESXi host uplink indicate that ingress packets are being dropped.fwdcheckpolicy with details indicating a vlantag mismatch.Symptom:
The VM is configured on a Secondary VLAN (e.g., ##91).
The VDS is configured with a Primary VLAN (e.g., ##90).
Ingress traffic from the physical switch arrives tagged with the Secondary VLAN ID (##91).
"pktcap-uw --trace --mac [MAC_Address_Of_Target_VM]" output example:
VMware vCenter Server.
VMware vSphere ESXi.
This issue occurs because the upstream physical switch is configured to tag traffic with the Secondary VLAN ID (e.g., ##91) instead of the Primary VLAN ID (e.g., ##90).
In a vSphere Distributed Switch PVLAN implementation, the VDS handles the translation between Secondary and Primary VLANs. The physical uplink of dvSwitch expects all PVLAN ingress traffic to be tagged with the Primary VLAN ID only. If the physical switch sends packets tagged with the Secondary VLAN ID, the ESXi host's forwarding check policy rejects the packet because it does not match the valid VLAN encapsulation expected on the uplink for that PVLAN domain.
To resolve this issue, reconfigure the upstream physical switch ports connected to the ESXi hosts.
Identify the Primary VLAN ID associated with the PVLAN.
Configure the Physical Switch Port to Trunk/Allow both the Primary VLAN ID (e.g., ##90) and Secondary VLAN ID (e.g., ##91).
switchport trunk private-vlan secondary or switchport vlan translation out on the physical interface. The distributed virtual switch (dvSwitch) handles all necessary VLAN translation.Verification Step: Run pktcap-uw on the uplink to confirm traffic is now arriving with the Primary VLAN tag.
pktcap-uw --uplink vmnicX --dir 0 --vlan [Primary_VLAN_ID] --mac [MAC_Address_Of_VM] -o - | tcpdump-uw -enr -