How CGMP Leave Processing Functions
This document describes how the Cisco Group Management Protocol (CGMP) leaves processing functions; it also includes its interaction with the Hot Standby Router Protocol (HSRP).
The introduction of Internet Group Management Protocol Version 2 (IGMPv2) brings new functionality, including leave group messages. Cisco has added new functionality to CGMP to work with leave group messages: CGMP leave processing.
CGMP leave processing allows switches to detect the IGMPv2 leave group messages. Hosts send leave group messages to the all-router multicast address, 184.108.40.206, when they no longer wish to receive data for that group. The switch supervisor engine module intercepts messages.
When the supervisor engine module detects an IGMPv2 leave group message, it starts a query-response timer, and then sends an IGMP membership query message from the port that received the IGMPv2 leave group message.
If the timer expires before an IGMP membership report message is received on that port, the corresponding port multicast Media Access Control (MAC) address is removed from the switch-forwarding table.
If this port is also the last active port in the multicast group, then the switch forwards the IGMPv2 leave group message to all known router ports.
The router then starts the normal deletion process by sending a group-specific query. If the router receives no response, it removes this group from its multicast routing table for that interface.
The router then sends a CGMP leave to the switch. Upon receipt, the switch erases the group from the static table.
When CGMP leave processing is enabled, The switch needs to intercept IGMP leave group messages. In order to accomplish this, two entries are added as system addresses to the content-addressable memory (CAM) table. These two entries directly relate to the IP addresses used by IGMP. They are igmp leave messages (220.127.116.11)
and igmp membership query messages (18.104.22.168.)
You can verify these addresses have been added with the command:
Show Cam System
5000-1> (enable) sh cam sys
VLAN Dest MAC/Route Des Destination Ports or VCs
– – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Output removed for clarity
2 01-00-5e-00-00-01# 1/3
2 01-00-5e-00-00-02# 1/3
Notes on Using CGMP Leave Processing
1. Enabling CGMP leave processing – CGMP leave processing is disabled by default. To enable CGMP leave processing, enter the set cgmp leave enable command.
2. How CGMP switches learn router ports – When CGMP leave processing is enabled, Catalyst® switches learn router ports through the Protocol Independent Multicast (PIM)-v1, Hot Standby Router Protocol (HSRP), and CGMP self-join messages. When CGMP leave processing is disabled, switches discover router ports through CGMP self-join messages only.
3. HSRP/CGMP interaction – HSRP uses MAC 01-00-5e-00-00-02. This address is the all-routers address, the same address that IGMP membership report messages use. With CGMP leave enabled, all HSRP packets go to the switch CPU because they are, at a MAC level, identical to IGMP membership report messages. Because these are not IGMP packets, the switch relays them to all known router ports.
4. HSRP and CGMP possible issue – If HSRP and CGMP leave processing are both in use, then in certain topologies, unicast flooding can occur.