This article is to explain a known issue with Multicast Source-Specific messages that are dropped.
Some configurations work around this issue by allowing all multicast packets but in environments where a large amount of multicast traffic is seen more filtering is needed. IGMP, Snooping/SSM
Group-Specific Queries are sent when a router receives a State-Change record indicating a system is leaving a group.
Iperf command produces an IGMPv3 SSM (Source-Specific Multicast) join. When one of the clients Leaves, the physical switch responds with an SSM Specific Query. That is what is being dropped.
This is fixed in vSphere 6.7 p06 and 7.0.3
The fix makes IGMPv3 group-specific queries have the same code logic
as a general query to leverage legacy lookup to dispatch, in this way,
as long as the VNIC joins a group, the group's specific query will be
dispatched to this VNIC.
Workaround:
To work around this issue allowing all multicast to the specific vnic should be configured
Note: Additional traffic load will be sent to the VM increasing CPU. This may not be a suitable workaround in environments with large amounts of multicast traffic.
Linux
Windows
To Reproduce this issue
1. Multicast clients VM-1 and VM-2 both join the SSM group:
Note: This is only supported in Iperf2 for this protocol
2. Wait 5 seconds for each client to send 2-3 join packets
3. Make CentOS-1 leave the group:
4. The multicast router receives the Leave Request, and responds with several Specific Queries (from Dell and Cisco switches) and a Group-and-Source Specific Query (from Cisco switch) to see if there are any multicast clients left on that physical switch port:
5. ESXi correctly removes VM-1 from the group, and VM-2 remains in the group: