After receiving an IGMP general query, the switch forwards it through all ports in the VLAN except the receiving port and performs the following to the receiving port:

The switch resets the aging timer for the receiving port if the port is in the router port list.

The switch adds the receiving port to the router port list if it is not in the list and starts the aging timer for the port.

When receiving a membership report

A host sends an IGMP membership report to the IGMP querier in the following circumstances:

After receiving an IGMP query, a multicast group member host responds with an IGMP report.

When intended to join a multicast group, a host sends an IGMP report to the querier to announce its interest in the multicast information addressed to that group.

After receiving an IGMP report, the switch forwards it through all the router ports in the VLAN, resolves the address of the reported multicast group, and performs the following:

If no forwarding table entry exists for the reported group, the switch creates an entry, adds the port as a member port to the outgoing port list, and starts a member port aging timer for that port.

If a forwarding table entry exists for the reported group, but the port is not included in the outgoing port list, the switch adds the port as a member port to the outgoing port list, and starts a member port aging timer for that port.

If a forwarding table entry exists for the reported group and the port is not included in the outgoing port list, the switch resets the member port aging timer for that port.

NOTE:

A switch does not forward an IGMP report through a non-router port. If the switch forwards a report message through a member port, all the attached hosts listening to the reported multicast address will suppress their own reports after hearing this report according to the IGMP report suppression mechanism on them. This will prevent the switch from knowing whether any hosts attached to that port are still active members of the reported multicast group.

When receiving a leave group message

When an IGMPv1 host leaves a multicast group, the host does not send an IGMP leave message, so the switch cannot know immediately that the host has left the multicast group. However, as the host stops sending IGMP membership reports as soon as it leaves a multicast group, the switch deletes the forwarding entry for the member port corresponding to the host from the forwarding table when its aging timer expires.

When an IGMPv2 or IGMPv3 host leaves a multicast group, the host sends an IGMP leave message to the multicast router to announce that it has left the multicast group. When the switch receives a group-specific IGMP leave group message on a member port, it first checks whether a forwarding table entry for that group exists, and, if one exists, whether its outgoing port list contains that port.

If the forwarding table entry does not exist or if the outgoing port list does not contain the port, the switch discards the IGMP leave group message instead of forwarding it to any port.

If the forwarding table entry exists and the outgoing port list contains the port, the switch forwards the IGMP leave group message to the router ports in the VLAN. Because the switch does not know whether any other member hosts for that group still exist under the port from which the leave message arrived, the switch does not immediately remove the port from the outgoing port list. Instead, the switch resets the member port aging timer for that port.

253