Disabling IGMP snooping
Managed switches may implement IGMP snooping to direct multicast traffic to ports. The purpose of IGMP snooping is to block unnecessary multicast traffic from hosts who are not interested in the traffic. The switch forwards multicast traffic out to ports where it heard an IGMP join message within a configurable time (typically around 5 minutes).
Swarm nodes are recommended to exist in a separate private VLAN so there are no other hosts in the broadcast domain. Disable IGMP snooping from the Swarm nodes' VLAN because there is no benefit to having IGMP snooping configured in a VLAN solely including Swarm products.
Configure an IGMP querier for the cluster's multicast group(s) if IGMP snooping from the VLAN cannot be disabled.
Warning
Enabling IGMP snooping without an IGMP querier results in nodes that cannot communicate with each other.
See the router documentation for details on enabling an IGMP querier.
For more information on IGMP Snooping, see RFC 1112, RFC 2236, and RFC 3376.
Enabling an IGMP querier
When a Swarm node joins a cluster, it sends an initial set of unsolicited join requests for the configured multicast group. At that point, all Swarm nodes are visible from the Swarm Admin Console of all other nodes. IGMP queriers periodically send another query to see if there are any hosts still interested in the multicast group. As required by the IGMP RFCs, Swarm nodes do not send addition unsolicited join requests. If there is no querier for that multicast group in the network, the switch stops forwarding multicast traffic for that particular group out of that particular switch port when the switch timer for that multicast group runs out. After the timeout, all Swarm nodes appear to be unable to contact each other because the router did not send a query to prompt a subsequent join by the Swarm node.
Some switches are configured to act as IGMP queriers in an IPv4 network for multicast group memberships, but other switches are not unless configured appropriately. Since multicast routing is not configured by default on all switches, an IGMP querier may not exist on the network unless one has been specifically configured.
Swarm can be configured to perform this function if a querier is not available in the network. Swarm elects a node in the cluster to act as an IGMP querier when configured to do so, guaranteeing multicast membership queries are sent so cluster operation can continue. The Swarm IGMP querier has no impact on networks with IGMP Snooping disabled.
To enable an IGMP querier on the Swarm cluster itself, set it via the SNMP MIB entry networkIGMPTimeout and enable the network.igmpTimeout configuration parameter in Swarm.
Node logging of IGMP snooping
To help identify cluster networks where IGMP snooping is enabled without an IGMP querier, a node logs a critical error on the Swarm Admin Console and in the syslog, recommending administrators check for the presence of IGMP snooping. The node does this when these conditions occur:
It previously multicasted to a node.
It can no longer multicast to that node.
It can still unicast to that node.
By default, Swarm uses IGMPv2 responses to host membership queries. The igmpVersion parameter can be used to force the use of version 1, 2, or 3.