- Preface
- Using the Command-Line Interface
-
- Managing Switch Stacks
- Security Features Overview
- Preventing Unauthorized Access
- Controlling Switch Access with Passwords and Privilege Levels
- Configuring TACACS+
- Configuring RADIUS
- Configuring Kerberos
- Configuring Local Authentication and Authorization
- Configuring Secure Shell (SSH)
- Configuring Secure Socket Layer HTTP
- Configuring IPv4 ACLs
- Configuring IPv6 ACLs
- Configuring DHCP
- Configuring IP Source Guard
- Configuring Dynamic ARP Inspection
- Configuring IEEE 802.1x Port-Based Authentication
- Configuring Web-Based Authentication
- Configuring Port-Based Traffic Control
- Configuring IPv6 First Hop Security
- Configuring Cisco TrustSec
- Configuring FIPS
- XML Schema for SNMP Endpoint Proxy
- Important Notice
- Index
- Finding Feature Information
- Restrictions for IGMP Snooping
- Information About IGMP Snooping
- How to Configure IGMP Snooping
- Enabling or Disabling IGMP Snooping on a Switch
- Enabling or Disabling IGMP Snooping on a VLAN Interface
- Setting the Snooping Method
- Configuring a Multicast Router Port
- Configuring a Host Statically to Join a Group
- Enabling IGMP Immediate Leave
- Configuring the IGMP Leave Timer
- Configuring TCN-Related Commands
- Configuring the IGMP Snooping Querier
- Disabling IGMP Report Suppression
- Configuring IGMP Profiles
- Applying IGMP Profiles
- Setting the Maximum Number of IGMP Groups
- Configuring the IGMP Throttling Action
- Monitoring IGMP Snooping
- Configuration Examples for IGMP Snooping
- Example: Configuring IGMP Snooping Using CGMP Packets
- Example: Enabling a Static Connection to a Multicast Router
- Example: Statically Configuring a Host on a Port
- Example: Enable Immediate Leave on a VLAN
- Example: Setting the IGMP Snooping Querier Source Address
- Example: Setting the IGMP Snooping Querier Maximum Response Time
- Example: Setting the IGMP Snooping Querier Timeout
- Example: Setting the IGMP Snooping Querier Feature
- Example: Configuring IGMP Profiles
- Example: Applying IGMP Profile
- Example: Setting the Maximum Number of IGMP Groups
- Where to Go Next for IGMP Snooping
- Additional References
- Feature History and Information for IGMP Snooping
Configuring IGMP Snooping
- Finding Feature Information
- Restrictions for IGMP Snooping
- Information About IGMP Snooping
- How to Configure IGMP Snooping
- Monitoring IGMP Snooping
- Configuration Examples for IGMP Snooping
- Where to Go Next for IGMP Snooping
- Additional References
- Feature History and Information for IGMP Snooping
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Restrictions for IGMP Snooping
The following are the restrictions for IGMP snooping:
The switch supports homogeneous stacking and mixed stacking. Mixed stacking is supported only with the Catalyst 2960-S switches. A homogenous stack can have up to eight stack members, while a mixed stack can have up to four stack members. All switches in a switch stack must be running the LAN Base image.
Information About IGMP Snooping
IGMP Snooping
Layer 2 switches can use IGMP snooping to constrain the flooding of multicast traffic by dynamically configuring Layer 2 interfaces so that multicast traffic is forwarded to only those interfaces associated with IP multicast devices. As the name implies, IGMP snooping requires the LAN switch to snoop on the IGMP transmissions between the host and the router and to keep track of multicast groups and member ports. When the switch receives an IGMP report from a host for a particular multicast group, the switch adds the host port number to the forwarding table entry; when it receives an IGMP Leave Group message from a host, it removes the host port from the table entry. It also periodically deletes entries if it does not receive IGMP membership reports from the multicast clients.
![]() Note | For more information on IP multicast and IGMP, see RFC 1112 and RFC 2236. |
The multicast router sends out periodic general queries to all VLANs. All hosts interested in this multicast traffic send join requests and are added to the forwarding table entry. The switch creates one entry per VLAN in the IGMP snooping IP multicast forwarding table for each group from which it receives an IGMP join request.
The switch supports IP multicast group-based bridging, instead of MAC-addressed based groups. With multicast MAC address-based groups, if an IP address being configured translates (aliases) to a previously configured MAC address or to any reserved multicast MAC addresses (in the range 224.0.0.xxx), the command fails. Because the switch uses IP multicast groups, there are no address aliasing issues.
The IP multicast groups learned through IGMP snooping are dynamic. However, you can statically configure multicast groups by using the ip igmp snooping vlan vlan-id static ip_address interface interface-id global configuration command. If you specify group membership for a multicast group address statically, your setting supersedes any automatic manipulation by IGMP snooping. Multicast group membership lists can consist of both user-defined and IGMP snooping-learned settings.
![]() Note | You can manage IP multicast group addresses through features such as IGMP snooping and Multicast VLAN Registration (MVR), or by using static IP addresses. For information about MVR, see the next chapter. |
You can configure an IGMP snooping querier to support IGMP snooping in subnets without multicast interfaces because the multicast traffic does not need to be routed.
If a port spanning tree, a port group, or a VLAN ID change occurs, the IGMP snooping-learned multicast groups from this port on the VLAN are deleted.
IGMP Versions
The switch supports IGMP Version 1, IGMP Version 2, and IGMP Version 3. These versions are interoperable on the switch. For example, if IGMP snooping is enabled on an IGMPv2 switch and the switch receives an IGMPv3 report from a host, the switch can forward the IGMPv3 report to the multicast router.
![]() Note | The switch supports IGMPv3 snooping based only on the destination multicast MAC address. It does not support snooping based on the source MAC address or on proxy reports. |
An IGMPv3 switch supports Basic IGMPv3 Snooping Support (BISS), which includes support for the snooping features on IGMPv1 and IGMPv2 switches and for IGMPv3 membership report messages. BISS constrains the flooding of multicast traffic when your network includes IGMPv3 hosts. It constrains traffic to approximately the same set of ports as the IGMP snooping feature on IGMPv2 or IGMPv1 hosts.
![]() Note | IGMPv3 join and leave messages are not supported on switches running IGMP filtering or MVR. |
An IGMPv3 switch can receive messages from and forward messages to a device running the Source Specific Multicast (SSM) feature.
Joining a Multicast Group
When a host connected to the switch wants to join an IP multicast group and it is an IGMP version 2 client, it sends an unsolicited IGMP join message, specifying the IP multicast group to join. Alternatively, when the switch receives a general query from the router, it forwards the query to all ports in the VLAN. IGMP version 1 or version 2 hosts wanting to join the multicast group respond by sending a join message to the switch. The switch CPU creates a multicast forwarding-table entry for the group if it is not already present. The CPU also adds the interface where the join message was received to the forwarding-table entry. The host associated with that interface receives multicast traffic for that multicast group.

Router A sends a general query to the switch, which forwards the query to ports 2 through 5, all of which are members of the same VLAN. Host 1 wants to join multicast group 224.1.2.3 and multicasts an IGMP membership report (IGMP join message) to the group. The switch CPU uses the information in the IGMP report to set up a forwarding-table entry that includes the port numbers connected to Host 1 and to the router.
The switch hardware can distinguish IGMP information packets from other packets for the multicast group. The information in the table tells the switching engine to send frames addressed to the 224.1.2.3 multicast IP address that are not IGMP packets to the router and to the host that has joined the group.

Leaving a Multicast Group
The router sends periodic multicast general queries, and the switch forwards these queries through all ports in the VLAN. Interested hosts respond to the queries. If at least one host in the VLAN wants to receive multicast traffic, the router continues forwarding the multicast traffic to the VLAN. The switch forwards multicast group traffic only to those hosts listed in the forwarding table for that IP multicast group maintained by IGMP snooping.
When hosts want to leave a multicast group, they can silently leave, or they can send a leave message. When the switch receives a leave message from a host, it sends a group-specific query to learn if any other devices connected to that interface are interested in traffic for the specific multicast group. The switch then updates the forwarding table for that MAC group so that only those hosts interested in receiving multicast traffic for the group are listed in the forwarding table. If the router receives no reports from a VLAN, it removes the group for the VLAN from its IGMP cache.
Immediate Leave
The switch uses IGMP snooping Immediate Leave to remove from the forwarding table an interface that sends a leave message without the switch sending group-specific queries to the interface. The VLAN interface is pruned from the multicast tree for the multicast group specified in the original leave message. Immediate Leave ensures optimal bandwidth management for all hosts on a switched network, even when multiple multicast groups are simultaneously in use.
Immediate Leave is only supported on IGMP version 2 hosts. IGMP version 2 is the default version for the switch.
IGMP Configurable-Leave Timer
You can configure the time that the switch waits after sending a group-specific query to determine if hosts are still interested in a specific multicast group. The IGMP leave response time can be configured from 100 to 32767 milliseconds.
IGMP Report Suppression
![]() Note | IGMP report suppression is supported only when the multicast query has IGMPv1 and IGMPv2 reports. This feature is not supported when the query includes IGMPv3 reports. |
The switch uses IGMP report suppression to forward only one IGMP report per multicast router query to multicast devices. When IGMP report suppression is enabled (the default), the switch sends the first IGMP report from all hosts for a group to all the multicast routers. The switch does not send the remaining IGMP reports for the group to the multicast routers. This feature prevents duplicate reports from being sent to the multicast devices.
If the multicast router query includes requests only for IGMPv1 and IGMPv2 reports, the switch forwards only the first IGMPv1 or IGMPv2 report from all hosts for a group to all the multicast routers.
If the multicast router query also includes requests for IGMPv3 reports, the switch forwards all IGMPv1, IGMPv2, and IGMPv3 reports for a group to the multicast devices.
If you disable IGMP report suppression, all IGMP reports are forwarded to the multicast routers.
IGMP Snooping and Switch Stacks
IGMP snooping functions across the switch stack; that is, IGMP control information from one switch is distributed to all switches in the stack. Regardless of the stack member through which IGMP multicast data enters the stack, the data reaches the hosts that have registered for that group.
If a switch in the stack fails or is removed from the stack, only the members of the multicast group that are on that switch will not receive the multicast data. All other members of a multicast group on other switches in the stack continue to receive multicast data streams. However, multicast groups that are common for both Layer 2 and Layer 3 (IP multicast routing) might take longer to converge if the active switch is removed.
IGMP Filtering and Throttling
In some environments, for example, metropolitan or multiple-dwelling unit (MDU) installations, you might want to control the set of multicast groups to which a user on a switch port can belong. You can control the distribution of multicast services, such as IP/TV, based on some type of subscription or service plan. You might also want to limit the number of multicast groups to which a user on a switch port can belong.
With the IGMP filtering feature, you can filter multicast joins on a per-port basis by configuring IP multicast profiles and associating them with individual switch ports. An IGMP profile can contain one or more multicast groups and specifies whether access to the group is permitted or denied. If an IGMP profile denying access to a multicast group is applied to a switch port, the IGMP join report requesting the stream of IP multicast traffic is dropped, and the port is not allowed to receive IP multicast traffic from that group. If the filtering action permits access to the multicast group, the IGMP report from the port is forwarded for normal processing. You can also set the maximum number of IGMP groups that a Layer 2 interface can join.
IGMP filtering controls only group-specific query and membership reports, including join and leave reports. It does not control general IGMP queries. IGMP filtering has no relationship with the function that directs the forwarding of IP multicast traffic. The filtering feature operates in the same manner whether CGMP or MVR is used to forward the multicast traffic.
IGMP filtering applies only to the dynamic learning of IP multicast group addresses, not static configuration.
With the IGMP throttling feature, you can set the maximum number of IGMP groups that a Layer 2 interface can join. If the maximum number of IGMP groups is set, the IGMP snooping forwarding table contains the maximum number of entries, and the interface receives an IGMP join report, you can configure an interface to drop the IGMP report or to replace the randomly selected multicast entry with the received IGMP report.
![]() Note | IGMPv3 join and leave messages are not supported on switches running IGMP filtering. |
Default IGMP Snooping Configuration
TCN1 flood query count |
|
Default IGMP Filtering and Throttling Configuration
How to Configure IGMP Snooping
Enabling or Disabling IGMP Snooping on a Switch
When IGMP snooping is globally enabled or disabled, it is also enabled or disabled in all existing VLAN interfaces. IGMP snooping is enabled on all VLANs by default, but can be enabled and disabled on a per-VLAN basis.
Global IGMP snooping overrides the VLAN IGMP snooping. If global snooping is disabled, you cannot enable VLAN snooping. If global snooping is enabled, you can enable or disable VLAN snooping.
Follow these steps to globally enable IGMP snooping on the switch:
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | ip igmp
snooping
Example: Switch(config)# ip igmp snooping |
Globally enables IGMP snooping in all existing VLAN interfaces.
| ||
Step 4 | end
Example: Switch(config)# end | |||
Step 5 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Enabling or Disabling IGMP Snooping on a VLAN Interface
Follow these steps to enable IGMP snooping on a VLAN interface:
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | ip igmp snooping
vlan
vlan-id
Example: Switch(config)# ip igmp snooping vlan 7 |
Enables IGMP snooping on the VLAN interface. The VLAN ID range is 1 to 1001 and 1006 to 4094. IGMP snooping must be globally enabled before you can enable VLAN snooping.
| ||
Step 4 | end
Example: Switch(config)# end | |||
Step 5 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Setting the Snooping Method
Multicast-capable router ports are added to the forwarding table for every Layer 2 multicast entry. The switch learns of the ports through one of these methods:
-
Snooping on IGMP queries, Protocol-Independent Multicast (PIM) packets, and Distance Vector Multicast Routing Protocol (DVMRP) packets.
- Listening to Cisco Group Management Protocol (CGMP) packets from other routers.
-
Statically connecting to a multicast router port using the ip igmp snooping mrouter global configuration command.
You can configure the switch either to snoop on IGMP queries and PIM/DVMRP packets or to listen to CGMP self-join or proxy-join packets. By default, the switch snoops on PIM/DVMRP packets on all VLANs. To learn of multicast router ports through only CGMP packets, use the ip igmp snooping vlan vlan-id mrouter learn cgmp global configuration command. When this command is entered, the router listens to only CGMP self-join and CGMP proxy-join packets and to no other CGMP packets. To learn of multicast router ports through only PIM-DVMRP packets, use the ip igmp snooping vlan vlan-id mrouter learn pim-dvmrp global configuration command.
If you want to use CGMP as the learning method and no multicast routers in the VLAN are CGMP proxy-enabled, you must enter the ip cgmp router-only command to dynamically access the router.
1.
enable
3.
ip igmp snooping vlan
vlan-id
mrouter
learn
{cgmp |
pim-dvmrp }
6.
copy running-config
startup-config
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | ip igmp snooping vlan
vlan-id
mrouter
learn
{cgmp |
pim-dvmrp }
Example: Switch(config)# ip igmp snooping
vlan 1 mrouter learn cgmp
|
Specifies the multicast router learning method:
| ||
Step 4 | end
Example: Switch(config)# end | |||
Step 5 | show ip igmp
snooping
Example: Switch# show ip igmp snooping | |||
Step 6 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Configuring a Multicast Router Port
Perform these steps to add a multicast router port (enable a static connection to a multicast router) on the switch.
![]() Note | Static connections to multicast routers are supported only on switch ports. |
1.
enable
3.
ip igmp snooping
vlan
vlan-id
mrouter interface
interface-id
5.
show ip igmp snooping
mrouter [vlan
vlan-id]
6.
copy running-config
startup-config
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | ip igmp snooping
vlan
vlan-id
mrouter interface
interface-id
Example: Switch(config)# ip igmp snooping vlan 5 mrouter interface gigabitethernet1/0/1 |
Specifies the multicast router VLAN ID and the interface to the multicast router.
| ||
Step 4 | end
Example: Switch(config)# end | |||
Step 5 | show ip igmp snooping
mrouter [vlan
vlan-id]
Example: Switch# show ip igmp snooping mrouter vlan 5 |
Verifies that IGMP snooping is enabled on the VLAN interface. | ||
Step 6 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Configuring a Host Statically to Join a Group
Hosts or Layer 2 ports normally join multicast groups dynamically, but you can also statically configure a host on an interface.
Follow these steps to add a Layer 2 port as a member of a multicast group:
1.
enable
3.
ip igmp snooping
vlan
vlan-id
static
ip_address
interface
interface-id
5.
show ip igmp
snooping groups
6.
copy running-config
startup-config
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | ip igmp snooping
vlan
vlan-id
static
ip_address
interface
interface-id
Example: Switch(config)# ip igmp snooping vlan 105 static 230.0.0.1 interface gigabitethernet1/0/1 |
Statically configures a Layer 2 port as a member of a multicast group:
| ||
Step 4 | end
Example: Switch(config)# end | |||
Step 5 | show ip igmp
snooping groups
Example: Switch# show ip igmp snooping groups | |||
Step 6 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Enabling IGMP Immediate Leave
When you enable IGMP Immediate Leave, the switch immediately removes a port when it detects an IGMP Version 2 leave message on that port. You should use the Immediate-Leave feature only when there is a single receiver present on every port in the VLAN.
![]() Note | Immediate Leave is supported only on IGMP Version 2 hosts. IGMP Version 2 is the default version for the switch. |
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | ip igmp snooping
vlan
vlan-id
immediate-leave
Example: Switch(config)# ip igmp snooping vlan 21 immediate-leave |
Enables IGMP Immediate Leave on the VLAN interface.
| ||
Step 4 | end
Example: Switch(config)# end | |||
Step 5 | show ip igmp
snooping vlan
vlan-id
Example: Switch# show ip igmp snooping vlan 21 |
Verifies that Immediate Leave is enabled on the VLAN interface. | ||
Step 6 | end
Example: Switch(config)# end |
Configuring the IGMP Leave Timer
You can configure the leave time globally or on a per-VLAN basis. Follow these steps to enable the IGMP configurable-leave timer:
1.
enable
3.
ip igmp snooping
last-member-query-interval
time
4.
ip igmp snooping
vlan
vlan-id
last-member-query-interval
time
7.
copy running-config
startup-config
DETAILED STEPS
Command or Action | Purpose | |||||
---|---|---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||||
Step 3 | ip igmp snooping
last-member-query-interval
time
Example: Switch(config)# ip igmp snooping last-member-query-interval 1000 |
Configures the IGMP leave timer globally. The range is 100 to 32767 milliseconds. The default leave time is 1000 milliseconds.
| ||||
Step 4 | ip igmp snooping
vlan
vlan-id
last-member-query-interval
time
Example: Switch(config)# ip igmp snooping vlan 210 last-member-query-interval 1000 |
(Optional) Configures the IGMP leave time on the VLAN interface. The range is 100 to 32767 milliseconds.
| ||||
Step 5 | end
Example: Switch(config)# end | |||||
Step 6 | show ip igmp
snooping
Example: Switch# show ip igmp snooping | |||||
Step 7 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Configuring TCN-Related Commands
Controlling the Multicast Flooding Time After a TCN Event
You can configure the number of general queries by which multicast data traffic is flooded after a topology change notification (TCN) event. If you set the TCN flood query count to 1 the flooding stops after receiving 1 general query. If you set the count to 7, the flooding continues until 7 general queries are received. Groups are relearned based on the general queries received during the TCN event.
Some examples of TCN events are when the client location is changed and the receiver is on same port that was blocked but is now forwarding, and when a port goes down without sending a leave message.
Follow these steps to configure the TCN flood query count:
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | ip igmp snooping
tcn flood query count
count
Example: Switch(config)# ip igmp snooping tcn flood query count 3 |
Specifies the number of IGMP general queries for which the multicast traffic is flooded. The range is 1 to 10. The default, the flooding query count is 2.
| ||
Step 4 | end
Example: Switch(config)# end | |||
Step 5 | show ip igmp
snooping
Example: Switch# show ip igmp snooping | |||
Step 6 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Recovering from Flood Mode
When a topology change occurs, the spanning-tree root sends a special IGMP leave message (also known as global leave) with the group multicast address 0.0.0.0. However, you can enable the switch to send the global leave message whether it is the spanning-tree root or not. When the router receives this special leave, it immediately sends general queries, which expedite the process of recovering from the flood mode during the TCN event. Leaves are always sent if the switch is the spanning-tree root regardless of this configuration.
Follow these steps to enable sending of leave messages:
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | ip igmp snooping
tcn query solicit
Example: Switch(config)# ip igmp snooping tcn query solicit |
Sends an IGMP leave message (global leave) to speed the process of recovering from the flood mode caused during a TCN event. By default, query solicitation is disabled.
| ||
Step 4 | end
Example: Switch(config)# end | |||
Step 5 | show ip igmp
snooping
Example: Switch# show ip igmp snooping | |||
Step 6 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Disabling Multicast Flooding During a TCN Event
When the switch receives a TCN, multicast traffic is flooded to all the ports until 2 general queries are received. If the switch has many ports with attached hosts that are subscribed to different multicast groups, this flooding might exceed the capacity of the link and cause packet loss. Follow these steps to control TCN flooding:
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | interface
interface-id
Example: Switch(config)# interface gigabitethernet 1/0/1 |
Specifies the interface to be configured, and enters interface configuration mode. | ||
Step 4 | no ip igmp
snooping tcn flood
Example: Switch(config-if)# no ip igmp snooping tcn flood |
Disables the flooding of multicast traffic during a spanning-tree TCN event. By default, multicast flooding is enabled on an interface.
| ||
Step 5 | end
Example: Switch(config)# end | |||
Step 6 | show ip igmp
snooping
Example: Switch# show ip igmp snooping | |||
Step 7 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Configuring the IGMP Snooping Querier
Follow these steps to enable the IGMP snooping querier feature in a VLAN:
1.
enable
4.
ip igmp snooping
querier address
ip_address
5.
ip igmp snooping
querier query-interval
interval-count
6.
ip igmp snooping querier tcn
query [count
count | interval
interval]
7.
ip igmp snooping
querier timer expiry
timeout
8.
ip igmp snooping
querier version
version
10.
show ip igmp
snooping vlan
vlan-id
11.
copy running-config
startup-config
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | ip igmp snooping
querier
Example: Switch(config)# ip igmp snooping querier | |||
Step 4 | ip igmp snooping
querier address
ip_address
Example: Switch(config)# ip igmp snooping querier address 172.16.24.1 |
(Optional) Specifies an IP address for the IGMP snooping querier. If you do not specify an IP address, the querier tries to use the global IP address configured for the IGMP querier.
| ||
Step 5 | ip igmp snooping
querier query-interval
interval-count
Example: Switch(config)# ip igmp snooping querier query-interval 30 |
(Optional) Sets the interval between IGMP queriers. The range is 1 to 18000 seconds. | ||
Step 6 | ip igmp snooping querier tcn
query [count
count | interval
interval]
Example: Switch(config)# ip igmp snooping querier tcn query interval 20 |
(Optional) Sets the time between Topology Change Notification (TCN) queries. The count range is 1 to 10. The interval range is 1 to 255 seconds. | ||
Step 7 | ip igmp snooping
querier timer expiry
timeout
Example: Switch(config)# ip igmp snooping querier timer expiry 180 |
(Optional) Sets the length of time until the IGMP querier expires. The range is 60 to 300 seconds. | ||
Step 8 | ip igmp snooping
querier version
version
Example: Switch(config)# ip igmp snooping querier version 2 |
(Optional) Selects the IGMP version number that the querier feature uses. Select 1 or 2. | ||
Step 9 | end
Example: Switch(config)# end | |||
Step 10 | show ip igmp
snooping vlan
vlan-id
Example: Switch# show ip igmp snooping vlan 30 |
(Optional) Verifies that the IGMP snooping querier is enabled on the VLAN interface. The VLAN ID range is 1 to 1001 and 1006 to 4094. | ||
Step 11 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Disabling IGMP Report Suppression
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | no ip igmp
snooping report-suppression
Example: Switch(config)# no ip igmp snooping report-suppression |
Disables IGMP report suppression. When report suppression is disabled, all IGMP reports are forwarded to the multicast routers. IGMP report suppression is enabled by default.
| ||
Step 4 | end
Example: Switch(config)# end | |||
Step 5 | show ip igmp
snooping
Example: Switch# show ip igmp snooping | |||
Step 6 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Configuring IGMP Profiles
Follow these steps to create an IGMP profile:
This task is optional.
1.
enable
3.
ip igmp
profile
profile number
7.
show ip igmp
profile
profile number
9.
copy running-config
startup-config
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | ip igmp
profile
profile number
Example: Switch(config)# ip igmp profile 3 |
The default is for the switch to have no IGMP profiles configured.
| ||
Step 4 | permit |
deny
Example: Switch(config-igmp-profile)# permit |
(Optional) Sets the action to permit or deny access to the IP multicast address. If no action is configured, the default for the profile is to deny access. | ||
Step 5 | range
ip multicast
address
Example: Switch(config-igmp-profile)# range 229.9.9.0 |
Enters the IP multicast address or range of IP multicast addresses to which access is being controlled. If entering a range, enter the low IP multicast address, a space, and the high IP multicast address. You can use the range command multiple times to enter multiple addresses or ranges of addresses.
| ||
Step 6 | end
Example: Switch(config)# end | |||
Step 7 | show ip igmp
profile
profile number
Example: Switch# show ip igmp profile 3 | |||
Step 8 | show running-config
Example: Switch# show running-config | |||
Step 9 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Applying IGMP Profiles
To control access as defined in an IGMP profile, you have to apply the profile to the appropriate interfaces. You can apply IGMP profiles only to Layer 2 access ports; you cannot apply IGMP profiles to routed ports or SVIs. You cannot apply profiles to ports that belong to an EtherChannel port group. You can apply a profile to multiple interfaces, but each interface can have only one profile applied to it.
Follow these steps to apply an IGMP profile to a switch port:
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | interface
interface-id
Example: Switch(config)# interface gigabitethernet1/0/1 |
Specifies the physical interface, and enters interface configuration mode. The interface must be a Layer 2 port that does not belong to an EtherChannel port group. | ||
Step 4 | ip igmp
filter
profile number
Example: Switch(config-if)# ip igmp filter 321 |
Applies the specified IGMP profile to the interface. The range is 1 to 4294967295.
| ||
Step 5 | end
Example: Switch(config-if)# end | |||
Step 6 | show running-config
Example: Switch# show running-config | |||
Step 7 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Setting the Maximum Number of IGMP Groups
You can set the maximum number of IGMP groups that a Layer 2 interface can join by using the ip igmp max-groups interface configuration command.
Use the no form of this command to set the maximum back to the default, which 208.
This restriction can be applied to Layer 2 ports only; you cannot set a maximum number of IGMP groups on routed ports or SVIs. You also can use this command on a logical EtherChannel interface but cannot use it on ports that belong to an EtherChannel port group.
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 | configure
terminal
Example: Switch# configure terminal | |||
Step 2 | interface interface-id Example: Switch(config)# interface gigabitethernet1/0/2 | Specifies the interface to be configured, and enters interface configuration mode. The interface can be a Layer 2 port that does not belong to an EtherChannel group or a EtherChannel interface. | ||
Step 3 | ip igmp max-groups number Example: Switch(config-if)# ip igmp max-groups 20 | Sets the maximum number of IGMP groups that the interface can join. The range is 0 to 4294967294. The default is 208.
| ||
Step 4 | end Example: Switch(config-if)# end | |||
Step 5 | show running-config interface interface-id Example: Switch# show running-config interface gigabitethernet1/0/1 | |||
Step 6 | copy running-config startup-config Example: Switch# copy running-config startup-config |
Configuring the IGMP Throttling Action
After you set the maximum number of IGMP groups that a Layer 2 interface can join, you can configure an interface to replace the existing group with the new group for which the IGMP report was received.
Follow these steps to configure the throttling action when the maximum number of entries is in the forwarding table:
1.
enable
4.
ip igmp max-groups
action {deny |
replace}
6.
show
running-config interface
interface-id
7.
copy running-config
startup-config
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable
Example:
Switch> enable
|
Enables privileged EXEC mode. Enter your password if prompted. | ||
Step 2 | configure
terminal
Example: Switch# configure terminal | |||
Step 3 | interface
interface-id
Example: Switch(config)# interface gigabitethernet 1/0/1 |
Specifies the physical interface to be configured, and enters interface configuration mode. The interface can be a Layer 2 port that does not belong to an EtherChannel group or an EtherChannel interface. The interface cannot be a trunk port. | ||
Step 4 | ip igmp max-groups
action {deny |
replace}
Example: Switch(config-if)# ip igmp max-groups action replace |
When an interface receives an IGMP report and the maximum number of entries is in the forwarding table, specifies the action that the interface takes:
To prevent the switch from removing the forwarding-table entries, you can configure the IGMP throttling action before an interface adds entries to the forwarding table.
| ||
Step 5 | end
Example: Switch(config)# end | |||
Step 6 | show
running-config interface
interface-id
Example: Switch# show running-config interface gigabitethernet1/0/1 | |||
Step 7 | copy running-config
startup-config
Example:
Switch# copy running-config startup-config
|
(Optional) Saves your entries in the configuration file. |
Monitoring IGMP Snooping
Monitoring IGMP Snooping Information
You can display IGMP snooping information for dynamically learned and statically configured router ports and VLAN interfaces. You can also display MAC address multicast entries for a VLAN configured for IGMP snooping.
Command |
Purpose |
||
---|---|---|---|
Displays the snooping configuration information for all VLANs on the switch or for a specified VLAN. (Optional) Enter vlan vlan-id to display information for a single VLAN. The VLAN ID range is 1 to 1001 and 1006 to 4094. |
|||
show ip igmp snooping groups [count |dynamic [count] | user [count]] |
Displays multicast table information for the switch or about a specific parameter: |
||
show ip igmp snooping groups vlan vlan-id [ip_address | count | dynamic [count] | user[count]] |
Displays multicast table information for a multicast VLAN or about a specific parameter for the VLAN: |
||
Displays information on dynamically learned and manually configured multicast router interfaces.
(Optional) Enter the vlan vlan-id to display information for a particular VLAN. |
|||
Displays information about the IP address and receiving port of the most-recently received IGMP query message in the VLAN and the configuration and operational state of the IGMP snooping querier in the VLAN. |
Monitoring IGMP Filtering and Throttling Configuration
You can display IGMP profile characteristics, and you can display the IGMP profile and maximum group configuration for all interfaces on the switch or for a specified interface. You can also display the IGMP throttling configuration for all interfaces on the switch or for a specified interface.
Command |
Purpose |
---|---|
show ip igmp profile [profile number] |
Displays the specified IGMP profile or all the IGMP profiles defined on the switch. |
Displays the configuration of the specified interface or the configuration of all interfaces on the switch, including (if configured) the maximum number of IGMP groups to which an interface can belong and the IGMP profile applied to the interface. |
Configuration Examples for IGMP Snooping
- Example: Configuring IGMP Snooping Using CGMP Packets
- Example: Enabling a Static Connection to a Multicast Router
- Example: Statically Configuring a Host on a Port
- Example: Enable Immediate Leave on a VLAN
- Example: Setting the IGMP Snooping Querier Source Address
- Example: Setting the IGMP Snooping Querier Maximum Response Time
- Example: Setting the IGMP Snooping Querier Timeout
- Example: Setting the IGMP Snooping Querier Feature
- Example: Configuring IGMP Profiles
- Example: Applying IGMP Profile
- Example: Setting the Maximum Number of IGMP Groups
Example: Configuring IGMP Snooping Using CGMP Packets
Switch# configure terminal Switch(config)# ip igmp snooping vlan 1 mrouter learn cgmp Switch(config)# end
Example: Enabling a Static Connection to a Multicast Router
This example shows how to enable a static connection to a multicast router:
Switch# configure terminal Switch(config)# ip igmp snooping vlan 200 mrouter interface gigabitethernet1/0/2 Switch(config)# end
Example: Statically Configuring a Host on a Port
This example shows how to statically configure a host on a port:
Switch# configure terminal Switch(config)# ip igmp snooping vlan 105 static 224.2.4.12 interface gigabitethernet1/0/1 Switch(config)# end
Example: Enable Immediate Leave on a VLAN
This example shows how to enable IGMP Immediate Leave on VLAN 130:
Switch# configure terminal Switch(config)# ip igmp snooping vlan 130 immediate-leave Switch(config)# end
Example: Setting the IGMP Snooping Querier Source Address
This example shows how to set the IGMP snooping querier source address to 10.0.0.64:
Switch# configure terminal Switch(config)# ip igmp snooping querier 10.0.0.64 Switch(config)# end
Example: Setting the IGMP Snooping Querier Maximum Response Time
This example shows how to set the IGMP snooping querier maximum response time to 25 seconds:
Switch# configure terminal Switch(config)# ip igmp snooping querier query-interval 25 Switch(config)# end
Example: Setting the IGMP Snooping Querier Timeout
This example shows how to set the IGMP snooping querier timeout to 60 seconds:
Switch# configure terminal Switch(config)# ip igmp snooping querier timeout expiry 60 Switch(config)# end
Example: Setting the IGMP Snooping Querier Feature
This example shows how to set the IGMP snooping querier feature to Version 2:
Switch# configure terminal Switch(config)# ip igmp snooping querier version 2 Switch(config)# end
Example: Configuring IGMP Profiles
Switch(config)# ip igmp profile 4 Switch(config-igmp-profile)# permit Switch(config-igmp-profile)# range 229.9.9.0 Switch(config-igmp-profile)# end Switch# show ip igmp profile 4 IGMP Profile 4 permit range 229.9.9.0 229.9.9.0
Example: Applying IGMP Profile
Switch(config)# interface gigabitethernet1/0/2 Switch(config-if)# ip igmp filter 4 Switch(config-if)# end
Example: Setting the Maximum Number of IGMP Groups
Switch(config)# interface gigabitethernet1/0/2 Switch(config-if)# ip igmp max-groups 25 Switch(config-if)# end
Where to Go Next for IGMP Snooping
You can configure the following:
Additional References
Related Documents
Related Topic | Document Title |
---|---|
For complete syntax and usage information for the commands used in this chapter. |
Catalyst 2960-X Switch IGMP Snooping Command Reference |
Standards and RFCs
Standard/RFC | Title |
---|---|
RFC 1112 |
Host Extensions for IP Multicasting |
RFC 2236 |
Internet Group Management Protocol, Version 2 |
MIBs
MIB | MIBs Link |
---|---|
All supported MIBs for this release. |
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL: |
Technical Assistance
Description | Link |
---|---|
The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies. To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds. Access to most tools on the Cisco Support website requires a Cisco.com user ID and password. |
Feature History and Information for IGMP Snooping
Release | Modification |
---|---|
Cisco IOS 15.0(2)EX |
This feature was introduced. |