Skip to main content

2. IGMP Snooping Recommendations

The following sections describe the forwarding rules for control and data packets.

2.1. Forwarding Rules

The switch must snoop on all IGMP packets and maintain a state table for each port.

2.1.1. IGMP Membership Reports

  1. The switch must forward all IGMP Membership Reports to all ports that are detected as router ports.
  2. The switch should not forward IGMP Membership Reports to non-router ports. This prevents other hosts from suppressing their own reports (in IGMPv1 and IGMPv2).

2.1.2. IGMP Leave Group

  1. The switch must forward IGMP Leave Group messages to all router ports.
  2. The switch should process the Leave Group message to determine if there are other members of the group on the port. If not, it should stop forwarding multicast data for that group to that port.
  3. The switch should implement a membership timeout mechanism such as the router-side functionality of the IGMP protocol as described in the IGMP and MLD specifications (See Normative Reference section for IGMPv1-3 and MLDv1-2) on all its non-router ports. This timeout value should be configurable.

2.2. Data Forwarding Rules

  1. Packets with a destination IP address outside 224.0.0.X which are not IGMP should be forwarded according to group-based port membership tables.
  2. Packets with a destination IP address in the 224.0.0.X range which are not IGMP must be forwarded on all ports.
  3. The practical implementation of the (G,S1,S2,...) based data forwarding tables are not within the scope of this document. However, one possibility is to maintain two (G,S) forwarding lists: one for the INCLUDE filter where a match of a specific (G,S) is required before forwarding will happen, and one for the EXCLUDE filter where a match of a specific (G,S) will result in no forwarding.