Configuring IGMP Snooping and Filtering,
and MVR

This chapter describes how to configure Internet Group Management Protocol (IGMP) snooping on the Catalyst 4500 series switch, including an application of local IGMP snooping, Multicast VLAN Registration (MVR). It also includes procedures for controlling multicast group membership by using IGMP filtering.

This chapter consists of the following major sections:

note.gif

Noteblank.gif To support Cisco Group Management Protocol (CGMP) client devices, configure the switch as a CGMP server. For more information, see the Cisco IOS 15.0M configuration guides at this location:

http://www.cisco.com/en/US/products/ps10591/products_installation_and_configuration_guides_list.htmll


note.gif

Noteblank.gif For complete syntax and usage information for the switch commands used in this chapter, see the Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:

http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html

If a command is not in the Catalyst 4500 Series Switch Command Reference, you can locate it in the Cisco IOS library. See the Cisco IOS Command Reference and related publications at this location:

http://www.cisco.com/en/US/products/ps6350/index.html


About IGMP Snooping

This section includes the following subsections:

note.gif

Noteblank.gif Quality of service does not apply to IGMP packets.


IGMP snooping allows a switch to snoop or capture information from IGMP packets transmitted between hosts and a router. Based on this information, a switch adds or deletes multicast addresses from its address table, which enables (or disables) multicast traffic from flowing to individual host ports. IGMP snooping supports all versions of IGMP: IGMPv1, IGMPv2, and IGMPv3.

In contrast to IGMPv1 and IGMPv2, IGMPv3 snooping provides immediate-leave processing by default. It provides explicit host tracking (EHT) and allows network administrators to deploy SSM functionality on Layer 2 devices that support IGMPv3. See the “Explicit Host Tracking” section. In subnets where IGMP is configured, IGMP snooping manages multicast traffic at Layer 2. You can configure interfaces to dynamically forward multicast traffic only to those interfaces that are interested in receiving it by using the switchport keyword.

IGMP snooping restricts traffic in MAC multicast groups 0100.5e00.0001 to 01-00-5e-ff-ff-ff. IGMP snooping does not restrict Layer 2 multicast packets generated by routing protocols.

note.gif

Noteblank.gif For more information on IP multicast and IGMP, refer to RFC 1112, RFC 2236, RFC 3376 (for IGMPv3).


IGMP (configured on a router) periodically sends out IGMP general queries. A host responds to these queries with IGMP membership reports for groups that it is interested in. When IGMP snooping is enabled, the switch creates one entry per-VLAN in the Layer 2 forwarding table for each Layer 2 multicast group from which it receives an IGMP join request. All hosts interested in this multicast traffic send IGMP membership reports and are added to the forwarding table entry.

Layer 2 multicast groups learned through IGMP snooping are dynamic. However, you can statically configure Layer 2 multicast groups using the ip igmp snooping static command. If you specify group membership statically, your setting supersedes any automatic manipulation by IGMP snooping. Multicast group membership lists can contain both user-defined and IGMP snooping settings.

Groups with IP addresses in the range 224.0.0.0 to 224.0.0.255, which map to the multicast MAC address range 0100.5E00.0001 to 0100.5E00.00FF, are reserved for routing control packets. These groups are flooded to all forwarding ports of the VLAN with the exception of 224.0.0.22, which is used for IGMPv3 membership reports.

note.gif

Noteblank.gif If a VLAN experiences a spanning-tree topology change, IP multicast traffic floods on all VLAN ports where PortFast is not enabled, as well as on ports with the no igmp snooping tcn flood command configured for a period of TCN query count.


For a Layer 2 IGMPv2 host interface to join an IP multicast group, a host sends an IGMP membership report for the IP multicast group. For a host to leave a multicast group, it can either ignore the periodic IGMP general queries or it can send an IGMP leave message. When the switch receives an IGMP leave message from a host, it sends out an IGMP group-specific query to determine whether any devices connected to that interface are interested in traffic for the specific multicast group. The switch then updates the table entry for that Layer 2 multicast group so that only those hosts interested in receiving multicast traffic for the group are listed.

In contrast, IGMPv3 hosts send IGMPv3 membership reports (with the allow group record mode) to join a specific multicast group. When IGMPv3 hosts send membership reports (with the block group record) to reject traffic from all sources in the previous source list, the last host on the port is removed by immediate-leave if EHT is enabled.

Immediate-Leave Processing

IGMP snooping immediate-leave processing allows the switch to remove an interface from the forwarding-table entry without first sending out IGMP group-specific queries to the interface. The VLAN interface is pruned from the multicast tree for the multicast group specified in the original IGMP leave message. Immediate-leave processing ensures optimal bandwidth management for all hosts on a switched network, even when multiple multicast groups are being used simultaneously.

When a switch with IGMP snooping enabled receives an IGMPv2 or IGMPv3 leave message, it sends an IGMP group-specific query from the interface where the leave message was received to determine when other hosts are attached to that interface that are interested in joining the MAC multicast group. If the switch does not receive an IGMP join message within the query response interval, the interface is removed from the port list of the (MAC-group, VLAN) entry in the Layer 2 forwarding table.

note.gif

Noteblank.gif By default all IGMP joins are forwarded to all multicast router ports.


With immediate-leave processing enabled on the VLAN, an interface can be removed immediately from the port list of the Layer 2 entry when the IGMP leave message is received, unless a multicast router was learned on the port.

note.gif

Noteblank.gif When using IGMPv2 snooping, use immediate-leave processing only on VLANs where just one host is connected to each interface. If immediate-leave processing is enabled on VLANs where multiple hosts are connected to an interface, some hosts might be dropped inadvertently. When using IGMPv3, immediate-leave processing is enabled by default, and due to explicit host tracking, the switch can detect when a port has single or multiple hosts maintained by the switch for IGMPv3 hosts. As a result, the switch can perform immediate-leave processing when it detects a single host behind a given port.


note.gif

Noteblank.gif IGMPv3 is interoperable with older versions of IGMP.


To display the IGMP version on a particular VLAN, use the show ip igmp snooping querier vlan command.

To display whether the switch supports IGMPv3 snooping, use the show ip igmp snooping vlan command.

To enable immediate-leave for IGMPv2, use the ip igmp snooping immediate-leave command.

note.gif

Noteblank.gif Immediate-leave processing is enabled by default for IGMPv3.


IGMP Configurable-Leave Timer

Immediate-leave processing cannot be used on VLANs where multiple hosts may be connected to a single interface. To reduce leave latency in such a scenario, IGMPv3 provides a configurable leave timer.

In Cisco IOS Release 12.2(25)SG and earlier, the IGMP snooping leave time was based on query response time. If membership reports were not received by the switch before the query response time of the query expired, a port was removed from the multicast group membership.

In Cisco IOS Release 12.2(31)SG and later, you can configure the length of 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 5000 milliseconds. The timer can be set either globally or per-VLAN. The VLAN configuration of the leave time overrides the global configuration.

For configuration steps, see the “Configuring the IGMP Leave Timer” section.

IGMP Snooping Querier

IGMP Snooping Querier support was introduced in Cisco IOS Release 12.2(50)SG. This is a Layer 2 feature required to support IGMP snooping in a VLAN where PIM and IGMP are not configured because the multicast traffic does not require routing.

In a network where IP multicast routing is configured, the IP multicast router acts as the IGMP querier by sending general queries. If the IP-multicast traffic in a VLAN only needs to be Layer 2-switched, an IP-multicast router is not required. Without an IP-multicast router on the VLAN, you must configure another switch as the IGMP querier so that it can send queries.

When enabled, the IGMP snooping querier sends out periodic IGMPv2 queries that trigger IGMP report messages from the switch that requests IP multicast traffic. IGMP snooping listens to these IGMP reports to establish appropriate forwarding.

On switches that use IGMP to report interest in IP multicast traffic, configure at least one switch as the IGMP snooping querier in each supported VLAN.

You can configure a switch to generate IGMP queries on a VLAN regardless of whether IP multicast routing is enabled.

Explicit Host Tracking

Explicit host tracking (EHT) monitors group membership by tracking hosts that are sending IGMPv3 membership reports. This tracking enables a switch to detect host information associated with the groups of each port. EHT also enables the user to track the membership and various statistics.

EHT enables a switch to track membership on a per-port basis. Consequently, a switch is aware of the hosts residing on each port and can perform immediate-leave processing when there is only one host behind a port.

To determine whether EHT is enabled on a VLAN, use the show ip igmp snoop vlan command.

Configuring IGMP Snooping

note.gif

Noteblank.gif When configuring IGMP, configure the VLAN in the VLAN database mode. See Chapter16, “Configuring VLANs, VTP, and VMPS”


IGMP snooping allows switches to examine IGMP packets and make forwarding decisions based on their content.

These sections describe how to configure IGMP snooping:

Default IGMP Snooping Configuration

Table 27-1 shows the IGMP snooping default configuration values.

 

Table 27-1 IGMP Snooping Default Configuration Values

Feature
Default Value

IGMP snooping

Enabled

Multicast routers

None configured

Explicit Host Tracking

Enabled for IGMPv3; Not available for IGMPv2

Immediate-leave processing

Enabled for IGMPv3; Disabled for IGMPv2

Report Suppression

Enabled

IGMP snooping learning method

PIM/DVMRP1

1.PIM/DVMRP = Protocol Independent Multicast/Distance Vector Multicast Routing Protocol

Enabling IGMP Snooping Globally

To enable IGMP snooping globally, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# [ no ] ip igmp snooping

Enables IGMP snooping.

Use the no keyword to disable IGMP snooping.

Step 3

Switch(config)# end

Exits configuration mode.

Step 4

Switch# show ip igmp snooping | include

Verifies the configuration.

This example shows how to enable IGMP snooping globally and verify the configuration:

Switch# configure terminal
Switch(config)# ip igmp snooping
Switch(config)# end
Switch# show ip igmp snooping
Global IGMP Snooping configuration:
-----------------------------------
IGMP snooping : Enabled
IGMPv3 snooping : Enabled
Report suppression : Enabled
TCN solicit query : Disabled
TCN flood query count : 2
 
Vlan 1:
--------
IGMP snooping : Enabled
IGMPv2 immediate leave : Disabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
CGMP interoperability mode : IGMP_ONLY
 
Vlan 2:
--------
IGMP snooping : Enabled
IGMPv2 immediate leave : Disabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
CGMP interoperability mode : IGMP_ONLY

Enabling IGMP Snooping on a VLAN

To enable IGMP snooping on a VLAN, perform this task:

 

Command
Purpose

Step 1

Switch(config)# [ no ] ip igmp snooping vlan vlan_ID

Enables IGMP snooping.

Use the no keyword to disable IGMP snooping.

Step 2

Switch(config)# end

Exits configuration mode.

Step 3

Switch# show ip igmp snooping vlan vlan_ID

Verifies the configuration.

This example shows how to enable IGMP snooping on VLAN 2 and verify the configuration:

Switch# configure terminal
Switch(config)# ip igmp snooping vlan 2
Switch(config)# end
Switch# show ip igmp snooping vlan 2
Global IGMP Snooping configuration:
-----------------------------------
IGMP snooping : Enabled
IGMPv3 snooping : Enabled
Report suppression : Enabled
TCN solicit query : Disabled
TCN flood query count : 2
 
Vlan 2:
--------
IGMP snooping : Enabled
IGMPv2 immediate leave : Disabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
CGMP interoperability mode : IGMP_ONLY

Configuring Learning Methods

The following sections describe IGMP snooping learning methods:

Configuring PIM/DVMRP Learning

To configure IGMP snooping to learn from PIM/DVMRP packets, perform this task:

 

Command
Purpose

Switch(config)# ip igmp snooping vlan vlan_ID mrouter learn [ cgmp | pim-dvmrp ]

Specifies the learning method for the VLAN.

This example shows how to configure IP IGMP snooping to learn from PIM/DVMRP packets:

Switch# configure terminal
Switch(config)# ip igmp snooping vlan 1 mrouter learn pim-dvmrp
Switch(config)# end
Switch#

Configuring CGMP Learning

To configure IGMP snooping to learn from CGMP self-join packets, perform this task:

 

Command
Purpose

Switch(config)# ip igmp snooping vlan vlan_ID mrouter learn [ cgmp | pim-dvmrp ]

Specifies the learning method for the VLAN.

This example shows how to configure IP IGMP snooping to learn from CGMP self-join packets:

Switch# configure terminal
Switch(config)# ip igmp snooping vlan 1 mrouter learn cgmp
Switch(config)# end
Switch#

Configuring a Static Connection to a Multicast Router

To configure a static connection to a multicast router, enter the ip igmp snooping vlan mrouter interface command on the switch.

To configure a static connection to a multicast router, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# ip igmp snooping vlan vlan_ID mrouter interface interface_num

Specifies a static connection to a multicast router for the VLAN.

Note The interface to the router must be in the VLAN where you are entering the command. The router and the line protocol must be up.

Step 3

Switch(config)# end

Exits configuration mode.

Step 4

Switch# show ip igmp snooping mrouter vlan vlan_ID

Verifies the configuration.

This example shows how to configure a static connection to a multicast router:

Switch# configure terminal
Switch(config)# ip igmp snooping vlan 200 mrouter interface fastethernet 2/10
Switch# show ip igmp snooping mrouter vlan 200
vlan ports
-----+----------------------------------------
200 Fa2/10
Switch#

Enabling IGMP Immediate-Leave Processing

When you enable IGMP immediate-leave processing on a VLAN, a switch removes an interface from the multicast group when it detects an IGMPv2 leave message on that interface.

note.gif

Noteblank.gif For IGMPv3, immediate-leave processing is enabled by default with EHT.


To enable immediate-leave processing on an IGMPv2 interface, perform this task:

 

Command
Purpose

Switch(config)# ip igmp snooping vlan vlan_ID immediate-leave

Enables immediate-leave processing in the VLAN.

Note This command applies only to IGMPv2 hosts.

This example shows how to enable IGMP immediate-leave processing on interface VLAN 200 and to verify the configuration:

Switch# configure terminal
Switch(config)# ip igmp snooping vlan 200 immediate-leave
Configuring immediate leave on vlan 200
Switch(config)# end
Switch# show ip igmp interface vlan 200 | include immediate leave
Immediate leave : Disabled
Switch(config)#

Configuring the IGMP Leave Timer

Follows these guidelines when configuring the IGMP leave timer:

  • You can configure the leave time globally or per-VLAN.
  • Configuring the leave time on a VLAN overrides the global setting.
  • The default leave time is 1000 milliseconds.
  • The IGMP configurable leave time is only supported on hosts running IGMP Version 2.
  • The actual leave latency in the network is usually the configured leave time. However, the leave time might vary around the configured time, depending on real-time CPU load conditions, network delays and the amount of traffic sent through the interface.

To enable the IGMP configurable-leave timer, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# ip igmp snooping last-member-query-interval time

Configures the IGMP leave timer globally. The range is 100 to 5000 milliseconds. The default is 1000 seconds.

To globally reset the IGMP leave timer to the default setting, use the global configuration command
no ip igmp snooping last-member-query-interva l.

Step 3

Switch(config)# ip igmp snooping vlan vlan_ID last-member-query-interval time

(Optional) Configures the IGMP leave time on the VLAN interface. The range is 100 to 5000 milliseconds.

To remove the configured IGMP leave-time setting from the specified VLAN, use the global configuration command
no ip igmp snooping vlan vlan-id last-member-query-interval

Note Configuring the leave time on a VLAN overrides the globally configured timer.

Step 4

Switch(config)# end

Returns to privileged EXEC mode.

Step 5

Switch# show ip igmp snooping

(Optional) Displays the configured IGMP leave time.

Step 6

Switch# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

This example shows how to enable the IGMP configurable-leave timer and to verify the configuration:

Switch# configure terminal
Switch(config)# ip igmp snooping last-member-query-interval 200
Switch(config)# ip igmp snooping vlan 10 last-member-query-interval 500
Switch(config)# end
Switch# show ip igmp snooping show ip igmp snooping
Global IGMP Snooping configuration:

-----------------------------------

IGMP snooping : Enabled
IGMPv3 snooping : Enabled
Report suppression : Enabled
TCN solicit query : Disabled
TCN flood query count : 2
Last Member Query Interval : 200
 
Vlan 1:
--------
IGMP snooping : Enabled
IGMPv2 immediate leave : Disabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
Last Member Query Interval : 200
CGMP interoperability mode : IGMP_ONLY
 
Vlan 10:
--------
IGMP snooping : Enabled
IGMPv2 immediate leave : Disabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
Last Member Query Interval : 500
CGMP interoperability mode : IGMP_ONLY
 
Switch#

Configuring IGMP Snooping Querier

The IGMP Snooping Querier feature can be enabled either globally or per-VLAN.

note.gif

Noteblank.gif The IGMP snooping querier is disabled by default.


To configure IGMP Snooping Querier, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# [no] ip igmp snooping
[vlan vlan_id] querier

Enables IGMP Snooping Querier.

Step 3

Switch(config)# [no] ip igmp snooping
[vlan vlan_id] querier address abcd

Configures the IGMP Snooping Querier source IP address.

Step 4

Switch(config)# [no] ip igmp snooping
[vlan vlan_id] querier version [1 | 2]

Configures IGMP Snooping Querier IGMP version.

Step 5

Switch(config)# ip igmp snooping
[vlan vlan_id] querier query-interval interval

Configures IGMP Snooping Querier query interval.

Step 6

Switch(config)# ip igmp snooping
[vlan vlan_id] querier max-response-time value

Configures IGMP Snooping Querier query maximum response time.

Step 7

Switch(config)# ip igmp snooping
[vlan vlan_id] querier timer expiry value

Configures IGMP Snooping Querier expiry time out.

Step 8

Switch(config)# ip igmp snooping
[vlan vlan_id] querier tcn query count value

Configures IGMP Snooping Querier tcn query count.

Step 9

Switch(config)# ip igmp snooping
[vlan vlan_id] querier tcn query interval value

Configures IGMP Snooping Querier tcn query interval.

Step 10

Switch(config)# end

Returns to privileged EXEC mode.

For an example of how to display Snooping Querier information, refer to the “Displaying IGMP Snooping Querier Information” section.

Configuring Explicit Host Tracking

For IGMPv3, EHT is enabled by default and can be disabled on a per-VLAN basis.

To disable EHT processing on a VLAN, perform this task:

 

Command
Purpose

Switch(config)# [no] ip igmp snooping vlan vlan_ID explicit-tracking

Enables EHT on a VLAN.

The no keyword disables EHT.

This example shows how to disable IGMP EHT on VLAN 200 and to verify the configuration:

Switch# configure terminal
Switch(config)# no ip igmp snooping vlan 200 explicit-tracking
Switch(config)# end
Switch# show ip igmp snooping vlan 200 | include Explicit host tracking
Explicit host tracking : Disabled

Configuring a Host Statically

Hosts normally join multicast groups dynamically, but you can also configure a host statically on an interface.

To configure a host statically on an interface, perform this task:

 

Command
Purpose

Switch(config-if)# ip igmp snooping vlan vlan_ID static mac_address interface interface_num

Configures a host statically in the VLAN.

Note This command cannot be configured to receive traffic for specific source IP addresses.

This example shows how to configure a host statically in VLAN 200 on interface Fast Ethernet 2/11:

Switch# configure terminal
Switch(config)# ip igmp snooping vlan 200 static 0100.5e02.0203 interface fastethernet 2/11
Configuring port FastEthernet2/11 on group 0100.5e02.0203 vlan 200
Switch(config)# end

Suppressing Multicast Flooding

An IGMP snooping-enabled switch floods multicast traffic to all ports in a VLAN when a spanning-tree topology change notification (TCN) is received. Multicast flooding suppression enables a switch to stop sending such traffic. To support flooding suppression, the following interface and global commands were introduced in Cisco IOS Release 12.1(11b)EW:

  • [no | default] ip igmp snooping tcn flood (interface command)
  • [no | default] ip igmp snooping tcn flood query count [1 - 10] (global command)
  • [no | default] ip igmp snooping tcn query solicit (global command)

Prior to Cisco IOS Release 12.1(11b)EW, when a spanning tree topology change notification (TCN) was received by a switch, the multicast traffic was flooded to all the ports in a VLAN for a period of three IGMP query intervals. This was necessary for redundant configurations. In Cisco IOS Release 12.1(11b)EW, the default time period the switch waits before multicast flooding stops was changed to two IGMP query intervals.

This flooding behavior is undesirable if the switch that does the flooding has many ports that are subscribed to different groups. The traffic could exceed the capacity of the link between the switch and the end host, resulting in packet loss.

With the no ip igmp snooping tcn flood command, you can disable multicast flooding on a switch interface following a topology change. Only the multicast groups that have been joined by a port are sent to that port, even during a topology change.

With the ip igmp snooping tcn flood query count command, you can enable multicast flooding on a switch interface for a short period of time following a topology change by configuring an IGMP query threshold.

Typically, if a topology change occurs, the spanning tree root switch issues a global IGMP leave message (referred to as a “query solicitation”) with the group multicast address 0.0.0.0. When a switch receives this solicitation, it floods this solicitation on all ports in the VLAN where the spanning tree change occurred. When the upstream router receives this solicitation, it immediately issues an IGMP general query.

With the ip igmp snooping tcn query solicit command, you can now direct a non-spanning tree root switch to enter the same query solicitation.

The following sections provide additional details on the new commands and illustrate how you can use them.

IGMP Snooping Interface Configuration

A topology change in a VLAN may invalidate previously learned IGMP snooping information. A host that was on one port before the topology change may move to another port after the topology change. When the topology changes, the Catalyst 4500 series switch takes special actions to ensure that multicast traffic is delivered to all multicast receivers in that VLAN.

When the spanning tree protocol is running in a VLAN, a spanning tree topology change notification (TCN) is issued by the root switch in the VLAN. A Catalyst 4500 series switch that receives a TCN in a VLAN for which IGMP snooping has been enabled immediately enters into multicast flooding mode for a period of time until the topology restabilizes and the new locations of all multicast receivers are learned.

While in multicast flooding mode, IP multicast traffic is delivered to all ports in the VLAN, and not restricted to those ports on which multicast group members have been detected.

Starting with Cisco IOS Release 12.1(11b)EW, you can manually prevent IP multicast traffic from being flooded to a switch port by using the no ip igmp snooping tcn flood command on that port.

For trunk ports, the configuration applies to all VLANs.

By default, multicast flooding is enabled. Use the no keyword to disable flooding, and use default to restore the default behavior (flooding is enabled).

To disable multicast flooding on an interface, perform this task:

 

Command
Purpose

Step 1

Switch(config)# interface { fastethernet | gigabitethernet | tengigabitethernet } slot / port

Selects the interface to configure.

Step 2

Switch(config-if)# no ip igmp snooping tcn flood

Disables multicast flooding on the interface when TCNs are received by the switch.

To enable multicast flooding on the interface, enter this command:
default ip igmp snooping tcn flood

Step 3

Switch(config)# end

Exits configuration mode.

Step 4

Switch# show running interface { fastethernet | gigabitethernet | tengigabitethernet } slot / port

Verifies the configuration.

This example shows how to disable multicast flooding on interface Fast Ethernet 2/11:

Switch(config)# interface fastethernet 2/11
Switch(config-if)# no ip igmp snooping tcn flood
Switch(config-if)# end
Switch#

IGMP Snooping Switch Configuration

By default, flooding mode persists until the switch receives two IGMP general queries. You can change this period of time by using the ip igmp snooping tcn flood query count n command, where n is a number between 1 and 10.

This command operates at the global configuration level.

The default number of queries is 2. The no and default keywords restore the default.

To establish an IGMP query threshold, perform this task:

 

Command
Purpose

Step 1

Switch(config)#
ip igmp snooping tcn flood
query count <n>

Modifies the number of IGMP queries the switch waits for before it stops flooding multicast traffic.

To return the switch to the default number of IGMP queries, enter this command:
default ip igmp snooping tcn flood query count.

Step 2

Switch(config)# end

Exits configuration mode.

This example shows how to modify the switch to stop flooding multicast traffic after four queries:

Switch(config)# ip igmp snooping tcn flood query count 4
Switch(config)# end
Switch#
 

When a spanning tree root switch receives a topology change in an IGMP snooping-enabled VLAN, the switch issues a query solicitation that causes an Cisco IOS router to send out one or more general queries. The new command ip igmp snooping tcn query solicit causes the switch to send the query solicitation whenever it notices a topology change, even if that switch is not the spanning tree root.

This command operates at the global configuration level.

By default, query solicitation is disabled unless the switch is the spanning tree root. The default keyword restores the default behavior.

To direct a switch to send a query solicitation, perform this task:

 

Command
Purpose

Step 1

Switch(config)# ip igmp snooping tcn query solicit

Configures the switch to send a query solicitation when a TCN is detected.

To stop the switch from sending a query solicitation (if it is not a spanning tree root switch), enter the
no ip igmp snooping tcn query solicit command.

Step 2

Switch(config)# end

Exits configuration mode.

This example shows how to configure the switch to send a query solicitation upon detecting a TCN:

Switch(config)# ip igmp snooping tcn query solicit
Switch(config)# end
Switch#

Displaying IGMP Snooping Information

The following sections show how to display IGMP snooping information:

Displaying Querier Information

To display querier information, perform this task:

 

Command
Purpose

Switch# show ip igmp snooping querier [ vlan vlan_ID ]

Displays multicast router interfaces.

This example shows how to display the IGMP snooping querier information for all VLANs on the switch:

Switch# show ip igmp snooping querier
Vlan IP Address IGMP Version Port
---------------------------------------------------
2 10.10.10.1 v2 Router
3 172.20.50.22 v3 Fa3/15
 

This example shows how to display the IGMP snooping querier information for VLAN 3:

Switch# show ip igmp snooping querier vlan 3
Vlan IP Address IGMP Version Port
---------------------------------------------------
3 172.20.50.22 v3 Fa3/15

Displaying IGMP Host Membership Information

note.gif

Noteblank.gif By default, EHT maintains a maximum of 1000 entries in the EHT database. Once this limit is reached, no additional entries are created. To create additional entries, clear the database with the
clear ip igmp snooping membership vlan command.


To display host membership information, perform this task:

 

Command
Purpose

Switch# show ip igmp snooping membership [interface interface_num][vlan vlan_ID ] [reporter a.b.c.d] [source a.b.c.d group a.b.c.d ]

Displays EHT information.

Note This command is valid only if EHT is enabled on the switch.

This example shows how to display host membership information for VLAN 20 and to delete the EHT database:

Switch# show ip igmp snooping membership vlan 20
#channels: 5
#hosts : 1
Source/Group Interface Reporter Uptime Last-Join Last-Leave
 
40.40.40.2/224.10.10.10 Gi4/1 20.20.20.20 00:23: 37 00:06: 50 00:20:30
40.40.40.3/224.10.10.10 Gi4/2 20.20.20 20 00:23: 37 00:06:5 0 00:20:30
40.40.40.4/224.10.10.10 Gi4/1 20.20.20.20 00:39: 42 00:09:17 -
 
40.40.40.5/224.10.10.10 Fa2/1 20.20.20. 20 00:39: 42 00:09:17 -
40.40.40.6/224.10.10.10 Fa2/1 20.20.20.20 00:09: 47 00:09:17 -
 
Switch# clear ip igmp snooping membership vlan 20
 

This example shows how to display host membership for interface gi4/1:

Switch# show ip igmp snooping membership interface gi4/1
#channels: 5
#hosts : 1
Source/Group Interface Reporter Uptime Last-Join Last-Leave
 
40.40.40.2/224.10.10.10 Gi4/1 20.20.20.20 00:23: 37 00:06: 50 00:20:30
40.40.40.4/224.10.10.10 Gi4/1 20.20.20.20 00:39: 42 00:09:17 -
 

This example shows how to display host membership for VLAN 20 and group 224.10.10.10:

Switch# show ip igmp snooping membership vlan 20 source 40.40.40.2 group 224.10.10.10
#channels: 5
#hosts : 1
Source/Group Interface Reporter Uptime Last-Join Last-Leave
 
40.40.40.2/224.10.10.10 Gi4/1 20.20.20.20 00:23: 37 00:06: 50 00:20:30

Displaying Group Information

To display detailed IGMPv3 information associated with a group, perform one of the following tasks:

 

Command
Purpose

Switch# show ip igmp snooping groups [vlan vlan_ID]

Displays groups, the type of reports that were received for the group (Host Type), and the list of ports on which reports were received.

The report list includes neither the multicast router ports nor the complete forwarding port set for the group. It lists the ports on which the reports have been received.

To display the complete forwarding port set for the group, display the CLI output for the MAC address that maps to this group by using the
show mac-address-table multicast command.

Switch# show ip igmp snooping groups [vlan vlan_ID a.b.c.d] [summary|sources|hosts]

Displays information specific to a group address, providing details about the current state of the group with respect to sources and hosts.

Note This command applies only to full IGMPv3 snooping support and can be used for IGMPv1, IGMPv2, or IGMPv3 groups.

Switch# show ip igmp snooping groups [ vlan vlan_ID] [count]

Displays the total number of group addresses learned by the system on a global or per-VLAN basis.

This example shows how to display the host types and ports of a group in VLAN 1:

Switch# show ip igmp snooping groups vlan 10 226.6.6.7
Vlan Group Version Ports
---------------------------------------------------------
10 226.6.6.7 v3 Fa7/13, Fa7/14
Switch>
 

This example shows how to display the current state of a group with respect to a source IP address:

Switch# show ip igmp snooping groups vlan 10 226.6.6.7 sources
Source information for group 226.6.6.7:
Timers: Expired sources are deleted on next IGMP General Query
 
SourceIP Expires Uptime Inc Hosts Exc Hosts
-------------------------------------------------------
2.0.0.1 00:03:04 00:03:48 2 0
2.0.0.2 00:03:04 00:02:07 2 0
Switch>
 

This example shows how to display the current state of a group with respect to a host MAC address:

Switch# show ip igmp snooping groups vlan 10 226.6.6.7 hosts
IGMPv3 host information for group 226.6.6.7
Timers: Expired hosts are deleted on next IGMP General Query
 
Host (MAC/IP) Filter mode Expires Uptime # Sources
-------------------------------------------------------------
175.1.0.29 INCLUDE stopped 00:00:51 2
175.2.0.30 INCLUDE stopped 00:04:14 2

 

This example shows how to display summary information for an IGMPv3 group:

Switch# show ip igmp snooping groups vlan 10 226.6.6.7 summary
Group Address (Vlan 10) : 226.6.6.7
Host type : v3
Member Ports : Fa7/13, Fa7/14
Filter mode : INCLUDE
Expires : stopped
Sources : 2
Reporters (Include/Exclude) : 2/0
 

This example shows how to display the total number of group addresses learned by the system globally:

Switch# show ip igmp snooping groups count
Total number of groups: 54
 

This example shows how to display the total number of group addresses learned on VLAN 5:

Switch# show ip igmp snooping groups vlan 5 count
Total number of groups: 30

Displaying Multicast Router Interfaces

When you enable IGMP snooping, the switch automatically learns to which interface the multicast routers are connected.

To display multicast router interfaces, perform this task:

 

Command
Purpose

Switch# show ip igmp snooping mrouter vlan vlan_ID

Displays multicast router interfaces.

This example shows how to display the multicast router interfaces in VLAN 1:

Switch# show ip igmp snooping mrouter vlan 1
vlan ports
-----+----------------------------------------
1 Gi1/1,Gi2/1,Fa3/48,Router
Switch#

Displaying MAC Address Multicast Entries

To display MAC address multicast entries for a VLAN, perform this task:

 

Command
Purpose

Switch# show mac-address-table multicast vlan vlan_ID [ count ]

Displays MAC address multicast entries for a VLAN.

This example shows how to display MAC address multicast entries for VLAN 1:

Switch# show mac-address-table multicast vlan 1
Multicast Entries
vlan mac address type ports
-------+---------------+-------+-------------------------------------------
1 0100.5e01.0101 igmp Switch,Gi6/1
1 0100.5e01.0102 igmp Switch,Gi6/1
1 0100.5e01.0103 igmp Switch,Gi6/1
1 0100.5e01.0104 igmp Switch,Gi6/1
1 0100.5e01.0105 igmp Switch,Gi6/1
1 0100.5e01.0106 igmp Switch,Gi6/1
Switch#
 

This example shows how to display a total count of MAC address entries for VLAN 1:

Switch# show mac-address-table multicast vlan 1 count
Multicast MAC Entries for vlan 1: 4
Switch#

Displaying IGMP Snooping Information on a VLAN Interface

To display IGMP snooping information on a VLAN, perform this task:

 

Command
Purpose

Switch# show ip igmp snooping vlan vlan_ID

Displays IGMP snooping information on a VLAN interface.

This example shows how to display IGMP snooping information on VLAN 5:

Switch# show ip igmp snooping vlan 5
Global IGMP Snooping configuration:
-----------------------------------
IGMP snooping :Enabled
IGMPv3 snooping support :Full
Report suppression :Enabled
TCN solicit query :Disabled
TCN flood query count :2
 
Vlan 5:
--------
IGMP snooping :Enabled
Immediate leave :Disabled
Explicit Host Tracking :Disabled
Multicast router learning mode :pim-dvmrp
CGMP interoperability mode :IGMP_ONLY

Displaying IGMP Snooping Querier Information

To display IGMP Snooping Querier information, perform this task:

 

Command
Purpose

Switch# show ip igmp snooping querier [vlan vlan_ID] [detail]

Displays the IGMP Snooping Querier state.

This example shows how to display Snooping Querier information:

switch# show ip igmp snooping querier vlan 2 detail
IP address : 1.2.3.4
IGMP version : v2
Port : Router/Switch
Max response time : 12s
 
 
Global IGMP switch querier status
------------------------------------------------
admin state : Enabled
admin version : 2
source IP address : 1.2.3.4
query-interval (sec) : 130
max-response-time (sec) : 10
querier-timeout (sec) : 100
tcn query count : 2
tcn query interval (sec) : 10
 
Vlan 2: IGMP switch querier status
------------------------------------------------
admin state : Enabled
admin version : 2
source IP address : 1.2.3.4
query-interval (sec) : 55
max-response-time (sec) : 12
querier-timeout (sec) : 70
tcn query count : 10
tcn query interval (sec) : 8
operational state : Querier
operational version : 2
tcn query pending count : 0

Understanding Multicast VLAN Registration

When a network involves multi-VLAN's, subscribers to a multicast group may exist in more than one VLAN (i.e., the broadcast of multiple television channels over a service provider network). The multicast router must replicate the multicast data transmission to the same group in the every subscriber VLANs. The number of multicast stream replication is directly proportional to the subscriber VLANs. This results in using more than the required bandwidth.

Multicast VLAN Registration (MVR) overcomes this inefficiency by conserving network bandwidth. MVR allows a subscriber on a port to subscribe and unsubscribe to a multicast stream on the network-wide single "multicast VLAN,” while subscribers remain in separate VLANs. It also isolates the streams from the subscriber VLANs for bandwidth and security reasons.

note.gif

Noteblank.gif Only Layer 2 ports participate in MVR.


note.gif

Noteblank.gif You need to configure subscriber ports as MVR receiver ports and router or data-source ports as MVR source ports.


note.gif

Noteblank.gif Only one MVR multicast VLAN per switch is supported.


MVR assumes that subscriber ports subscribe and unsubscribe (join and leave) these multicast streams by sending out IGMP join and leave messages. These messages can originate from an IGMP v2 compatible host with an Ethernet connection. Although MVR and IGMP snooping use the same underlying mechanism, the two features operate independently. You can enable or disable one without affecting the behavior of the other. However, if IGMP snooping and MVR are both enabled, MVR reacts only to join and leave messages from multicast groups configured under MVR. Join and leave messages from all other multicast groups are managed by IGMP snooping.

You can set the switch to operate MVR in compatible or dynamic mode:

  • In compatible mode, a multicast router learned or configured is not required for MVR traffic to egress MVR source ports. All the MVR traffic is forwarded to the source ports. The IGMP reports that are received by the receiver ports are not forwarded to the mrouter or source ports.
  • In dynamic mode, the interface on which the multicast router is learned or configured will receive MVR traffic. The receiver ports from where the MVR hosts have explicitly joined either by IGMP reports or by MVR static configuration will receive the MVR data traffic. The IGMP reports are forwarded to all the multicast VLAN (mVLAN) mrouter ports.

Using MVR in a Multicast Television Application

In a multicast television application, a PC or a television with a set-top box can receive the multicast stream. Multiple set-top boxes or PCs can be connected to one subscriber port, which is a switch port configured as an MVR receiver port. Figure 27-1 is an example configuration. DHCP assigns an IP address to the set-top box or the PC. When a subscriber selects a channel, the set-top box or PC sends an IGMP report to Switch A to join the appropriate multicast. If the IGMP report matches one of the configured IP multicast group addresses, the switch CPU modifies the hardware address table to include this receiver port and VLAN as a forwarding destination of the specified multicast stream when it is received from the multicast VLAN. Uplink ports that send and receive multicast data to and from the multicast VLAN are called MVR source ports.

Figure 27-1 Multicast VLAN Registration Example

 

101364.ps

When a subscriber changes channels or turns off the television, the set-top box sends an IGMP leave message for the multicast stream. The switch CPU sends a MAC-based general query through the receiver port VLAN. If there is another set-top box in the VLAN still subscribing to this group, that set-top box must respond within the maximum response time specified in the query. If the CPU does not receive a response, it eliminates the receiver port as a forwarding destination for this group.

Without Immediate Leave, when the switch receives an IGMP leave message from a subscriber on a receiver port, it sends out an IGMP query on that port and waits for IGMP group membership reports. If no reports are received in a configured time period, the receiver port is removed from multicast group membership. With Immediate Leave, an IGMP query is not sent from the receiver port on which the IGMP leave was received. Once the leave message is received, the receiver port is removed from multicast group membership, which speeds up leave latency. Enable Immediate Leave feature only on receiver ports to which a single receiver device is connected.

Because MVR multicast traffic is sent only on mVLANs, duplicating television-channel multicast traffic for subscribers on different VLANs is unnecessary. The IGMP leave and join messages are in the VLAN to which the subscriber port is assigned. The access layer switch (Switch A) modifies the forwarding behavior to allow traffic forwarding from the multicast VLAN to the subscriber port in a different VLAN. This is done by selectively allowing traffic to cross between the two VLANs.

IGMP reports are sent to the same IP multicast group address as the multicast data. The Switch A CPU must capture all IGMP join and leave messages from the receiver ports and forward them to the multicast VLAN of the source (uplink) port, based on the MVR mode.

Configuring MVR

These sections include basic MVR configuration information:

Default MVR Configuration

note.gif

Noteblank.gif Enabling the MVR command will set all the MVR default parameters.


Table 27-2 shows the default MVR configuration.

 

Table 27-2 Default MVR Configuration

Feature
Default Setting

MVR

Disabled globally

Multicast addresses

None configured

Query response time

5 (tenths of a second)

Multicast VLAN

VLAN 1

Mode

Compatible

Interface (per port) default

Neither a receiver nor a source port

Immediate Leave

Disabled on all ports

MVR Configuration Guidelines and Limitations

Follow these guidelines when configuring MVR:

  • Ports can be configured as either a source port or a receiver port.

blank.gif Ports connected to subscribers are configured as receiver ports.

blank.gif Router ports or ports that are connected to another MVR switch are configured as source ports.

  • Compatible mode

A source port configuration is required for those ports that must receive MVR traffic, even when there is no JOIN request from that port. All the MVR traffic received on the mVLAN on any port is forwarded to all source and receiver ports. (The receiver port should have been joined either by IGMP report or through static configurations).

  • Dynamic mode

Source port configuration is not required, unless there is a port connected to another Layer 2 switch that runs MVR on the same mVLAN as this switch. Configure such ports as source ports. All MVR traffic received on the mVLAN on any ports is forwarded to the receiver or source ports that are joined either by IGMP report or through static configurations.

  • Only one MVR VLAN can be configured.
  • Although receiver ports that are connected to subscribers can be on different VLANs, they should not belong to the mVLAN.
  • mRouter ports should not be configured as receiver ports.
  • Both trunk and access ports can be configured as either source or receiver ports.
  • The maximum number of MVR groups is fixed at 500.
  • MVR cannot coexist with a PVLAN; do not configure MVR on a PVLAN.
  • The IGMPSN group MAC address can alias with an MVR group's MAC address.

For example, 225.1.1.1 and 226.1.1.1 are IP addresses whose MAC addresses match to the same multicast MAC address (0100.5e01.0101). If 225.1.1.1 is configured as an MVR group then 225.1.1.1 is handled by MVR and 226.1.1.1 is handled by IGMPSN.

If the 226.1.1.1 host is present on the MVR trunk receiver, IGMPSN might not handle the forwarding for 226.1.1.1. Instead, the switch treats 226.1.1.1 as an MVR group and MVR handles forwarding on the mVLAN. You should not connect the hosts interested in MVR aliased groups on the MVR trunk receiver port. (By interested we mean that a host sends a JOIN request for a multicast group in order to receive the traffic or stream for that group.) This limitation applies only to MVR trunk receiver ports.

  • MVR and multicast-routing cannot co-exist on the same switch. If you try to enable MVR while multicast routing or a multicast routing protocol are enabled, your operation is cancelled and you receive an error message. If you enable multicast routing or a multicast routing protocol while MVR is enabled, MVR is disabled and you receive a warning message.
  • MVR can coexist with IGMP snooping on a switch.
  • MVR is not supported with IPv6 multicast groups.
  • MVR supports only IGMPv2 messages; MVR group reports derived from other versions are dropped.

Configuring MVR Global Parameters

If you select the default settings, you do not need to set the optional MVR parameters. If you want to change the default parameters (except for the MVR VLAN), you must first enable MVR.

To configure MVR parameters, perform these steps:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# mvr

Enables MVR on the switch.

Step 3

Switch(config)# mvr group ip-address [ count ]

Configures an IP multicast address on the switch or uses the count parameter to configure a contiguous series of MVR group addresses (maximum of 500 groups).

Step 4

Switch(config)# mvr querytime value

(optional) Defines the maximum wait time for IGMP report memberships on a receiver port before removing the port from multicast group membership.

Step 5

Switch(config)# mvr vlan vlan-id

Specifies the VLAN in which multicast data is received; all source ports must belong to this VLAN. The VLAN ID range is 1 to 1001 and 1006 to 4094. The default is VLAN 1.

Step 6

Switch(config)# mvr mode { dynamic | compatible }

Specifies the MVR mode of operation.

Step 7

Switch(config)# end

Returns to privileged EXEC mode.

Step 8

Switch# show mvr or show mvr members

Verifies the configuration.

Step 9

Switch# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

To return a switch to the default settings, use the no mvr [ mode | group ip-address | querytime | vlan ] global configuration commands.

The following example shows how to enable and verify MVR:

Switch(config)# mvr
Switch(config)# mvr vlan 100
Switch(config)# mvr group 225.1.1.1
Switch(config)# mvr querytime 10
Switch(config)# mvr mode dynamic
Switch(config)# end
Switch# show mvr
MVR Running: TRUE
MVR multicast VLAN: 100
MVR Max Multicast Groups: 500
MVR Current multicast groups: 1
MVR Global query response time: 10 (tenths of sec)
MVR Mode: dynamic
Switch# show mac address-table
Multicast Entries
vlan mac address type ports
---------+---------------+-------+--------------------------------------------
100 0100.5e01.0101 igmp Fa2/1
 
Switch# show platform hardware mac-address-table address 0100.5e01.0101
Flags are:
----------
D - Drop
ND - Do not drop
Index Mac Address Vlan Type SinglePort/RetIndex/AdjIndex
----- -------------- ----- ---------- ---------------------------------
40048 0100.5E01.0101 100 Ret 104444
 
Switch# show platform hardware ret chain index 104444
RetIndex 104444
RetWordIndex: 522220 Link: 1048575(0xFFFFF) FieldsCnt: 1
SuppressRxVlanBridging: true
Vlan: 100 BridgeOnly: N Fa2/1(8)
note.gif

Noteblank.gif Fa2/1 is an mrouter port.


Configuring MVR on Access Ports

To configure the access port, perform these steps:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# mvr

Enables MVR on the switch.

Step 3

Switch(config)# interface interface-id

Enters interface configuration mode, and enter the type and number of the Layer 2 port to configure.

Step 4

Switch(config-if)# switch mode access

Change the interface to access mode.

Step 5

Switch(config-if)# switch access vlan value

Assign the VLAN to the port.

Step 6

Switch(config-if)# mvr type {source | receiver}

Configures an MVR port as source or receiver:

source—Subscribers cannot be directly connected to source ports. All source ports on a switch belong to the single multicast VLAN.

receiver—Configure a port as a receiver port if it is a subscriber port and should only receive multicast data. It does not receive data unless it becomes a member of the multicast group, either statically or through IGMP leave and join messages. Receiver ports cannot belong to the multicast VLAN. The mrouter port should not be configured as the receiver port.

Non-MVR port is the default configuration.

Step 7

Switch(config-if)# mvr vlan vlan-id group [ ip-address ]

(Optional) Statically configures a port to receive multicast traffic sent to the multicast VLAN and the IP multicast address.

Receiver ports can also dynamically join multicast groups by using IGMP join and leave messages.

Step 8

Switch(config-if)# mvr immediate

(Optional) Enables the Immediate-Leave feature of MVR on the port.

Step 9

Switch(config-if)# end

Returns to privileged EXEC mode.

Step 10

Switch# show mvr [ interface | members ]

Verifies the configuration.

Step 11

Switch# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

To return the interface to its default settings, use the no mvr [ type | immediate | vlan vlan-id | group ] interface configuration commands.

This example shows how to configure MVR "source and receiver" access ports:

Switch(config)# int fastEthernet 2/2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 200
Switch(config-if)# mvr type receiver
Switch(config-if)# exit
Switch(config)# interface fastEthernet 2/3
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 100
Switch(config-if)# mvr type source
To verify the configuration, enter the show mvr command:
Switch# show mvr interface
Port Type Mode VLAN Status Immediate Leave
------------------------------------------------------------------------------
Fa2/2 RECEIVER Access 200 ACTIVE/UP DISABLED
Fa2/3 SOURCE Access 100 ACTIVE/UP DISABLED
Dynamic Mode:
Switch# show mvr members
MVR Group IP Status Members VLAN Membership
Compatible Mode:
Switch# show mvr members
MVR Group IP Status Members VLAN Membership
---------------------------------------------------------------------
225.1.1.1 ACTIVE/UP Fa2/3 100 Static

Configuring MVR on a Trunk Port

To configure MVR on a trunk port, perform these steps:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# mvr

Enables MVR on the switch.

Step 3

Switch(config)# interface interface-id

Enters interface configuration mode, and enters the type and number of the Layer 2 port to configure.

Step 4

Switch(config-if)# switchport mode trunk

Change the interface to trunk mode

Step 5

Switch(config-if)# mvr type receiver

Specifies that the trunk port is an MVR receiver port.

Step 6

Switch(config-if)# mvr vlan mvr- vlan-id receiver vlan receiver-vlan-id

Enables this trunk port to distribute MVR traffic arriving from the MVR VLAN to the VLAN on the trunk identified by the receiver VLAN.

Note This command is not accepted unless you first enter the mvr type receiver command.

Step 7

Switch(config-if)# mvr vlan vlan-id group ip-address receiver vlan -id

(Optional) Configures the trunk port to be a static member of the group on the receiver VLAN.

Step 8

Switch(config-if)# end

Returns to privileged EXEC mode.

Step 9

Switch# show mvr [interface | members]

Verifies the configuration.

Step 10

Switch# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

This example shows how to configure MVR “receiver” VLANs on trunk ports:

Switch(config)# interface fastEthernet 2/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# mvr type source
 
Switch(config)# interface fastEthernet 2/4
Switch(config-if)# switchport mode trunk
Switch(config-if)# mvr type receiver
Switch(config-if)# mvr vlan 100 receiver vlan 300
 
Switch# show mvr interface
Port Type Mode VLAN Status Immediate Leave
------------------------------------------------------------------------------
Fa2/1 SOURCE Trunk 100 ACTIVE/UP DISABLED
Fa2/2 RECEIVER Access 200 ACTIVE/UP DISABLED
Fa2/3 SOURCE Access 100 ACTIVE/UP DISABLED
Fa2/4 RECEIVER Trunk 300 ACTIVE/UP DISABLED
 
Compatible Mode
 
Switch# show mvr members
MVR Group IP Status Members VLAN Membership
---------------------------------------------------------------------
225.1.1.1 ACTIVE/UP Fa2/1 100 Static
225.1.1.1 ACTIVE/UP Fa2/3 100 Static
 
Dynamic Mode
Switch# show mvr members
MVR Group IP Status Members VLAN Membership
---------------------------------------------------------------------

Displaying MVR Information

You can display MVR information for the switch or a specified interface. Use the following commands in privileged EXEC mode:

 

Table 27-3 Commands for Displaying MVR Information

show mvr

Displays MVR status:

  • whether MVR is enabled or disabled
  • the multicast VLAN
  • the maximum (500) and current (0 to 500) number of multicast groups
  • the query response time
  • the MVR mode
show mvr interface [ interface-id ] [ members [ vlan vlan-id] ]

Displays all MVR interfaces and their MVR configurations. Interface specific MVR information can be obtained as well.

Type—Receiver or Source

Status—One of these:

blank.gif ACTIVE/INACTIVE means the port is part/not part of VLAN.

blank.gif UP/DOWN means that the port is forwarding/non-forwarding.

Immediate Leave—Enabled or Disabled

If the members keyword is entered, it displays all multicast group members on this port. If a VLAN is identified, it displays all multicast group members on the VLAN. The VLAN ID range is 1 to 1001 and 1006 to 4094.

show mvr members [ ip-address ]

This displays all receiver and source ports that are members of all MVR IP multicast groups or the specified MVR IP multicast group address.

The following examples show how to display MVR information for either the switch or an interface on the switch:

Switch# show mvr
MVR Running: TRUE
MVR multicast vlan: 10022
MVR Max Multicast Groups: 500
MVR Current multicast groups: 1
MVR Global query response time: 10 (tenths of sec)
MVR Mode: dynamic
 
Switch# show mvr interface
Port Type Mode VLAN Status Immediate Leave
------------------------------------------------------------------------------
Fa2/1 SOURCE Trunk 100 ACTIVE/UP DISABLED
Fa2/2 RECEIVER Access 200 ACTIVE/UP DISABLED
Fa2/3 SOURCE Access 100 ACTIVE/UP DISABLED
Fa2/4 RECEIVER Trunk 300 ACTIVE/UP DISABLED Switch# show mvr interface
 
Switch# show mvr interface fastEthernet 2/2
Port Type Mode VLAN Status Immediate Leave
------------------------------------------------------------------------------
Fa2/2 RECEIVER Access 200 ACTIVE/UP DISABLED
 
Switch# show mvr interface fastEthernet 2/2 members
MVR Group IP VLAN Membership Status
----------------------------------------------------
225.1.1.1 vlan 200 DYNAMIC ACTIVE/UP
 
Switch# show mvr interface fastEthernet 2/2 members vlan 200
MVR Group IP VLAN Membership Status
----------------------------------------------------
225.1.1.1 vlan 200 DYNAMIC ACTIVE/UP
 
Switch# show mvr members
MVR Group IP Status Members VLAN Membership
---------------------------------------------------------------------
225.1.1.1 ACTIVE/UP Fa2/2 200 Dynamic
 
Switch# show mvr members 225.1.1.1
MVR Group IP Status Members VLAN Membership
---------------------------------------------------------------------
225.1.1.1 ACTIVE/UP Fa2/2 200 Dynamic

Configuring IGMP Filtering

This section includes the following subsections:

note.gif

Noteblank.gif The IGMP filtering feature works for IGMPv1 and IGMPv2 only.


In some environments (like metropolitan or multiple-dwelling unit (MDU) installations), an administrator might want to control the multicast groups to which a user on a switch port can belong. This allows the administrator to control the distribution of multicast services, such as IP/TV, based on some type of subscription or service plan.

With IGMP filtering, an administrator can apply this type of control. With this 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.

IGMP filtering controls only IGMP membership join reports and has no relationship to the function that directs the forwarding of IP multicast traffic.

You can also set the maximum number of IGMP groups that a Layer 2 interface can join with the
ip igmp max-groups n command.

Default IGMP Filtering Configuration

Table 27-4 shows the default IGMP filtering configuration.

 

Table 27-4 Default IGMP Filtering Settings

Feature
Default Setting

IGMP filters

No filtering

IGMP maximum number of IGMP groups

No limit

IGMP profiles

None defined

Configuring IGMP Profiles

To configure an IGMP profile and to enter IGMP profile configuration mode, use the ip igmp profile global configuration command. From the IGMP profile configuration mode, you can specify the parameters of the IGMP profile to be used for filtering IGMP join requests from a port. When you are in IGMP profile configuration mode, you can apply these keywords:

  • deny— Specifies that matching addresses are denied (the default condition).
  • exit —Exits from igmp-profile configuration mode.
  • no— Negates a command or sets its defaults.
  • permit— Specifies that matching addresses are permitted.
  • range— Specifies a range of IP addresses for the profile. You can enter a single IP address or a range with starting and ending addresses.

By default, no IGMP profiles are configured. When a profile is configured with neither the permit nor the deny keyword, the default is to deny access to the range of IP addresses.

To create an IGMP profile for a port, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# ip igmp profile profile number

Enters IGMP profile configuration mode and assigns a number to the profile you are configuring. The range is from 1 to 4,294,967,295.

Step 3

Switch(config-igmp-profile)# permit | deny

(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 4

Switch(config-igmp-profile)# range ip multicast address

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.

Use the range command multiple times to enter multiple addresses or ranges of addresses.

Step 5

Switch(config-igmp-profile)# end

Returns to privileged EXEC mode.

Step 6

Switch# show ip igmp profile profile-number

Verifies the profile configuration.

Step 7

Switch# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

To delete a profile, use the no ip igmp profile profile-number global configuration command.

To delete an IP multicast address or range of IP multicast addresses, use the no range ip multicast address IGMP profile configuration command.

This example shows how to create IGMP profile 4 (allowing access to the single IP multicast address) and how to verify the configuration. If the action were to deny (the default), it does not appear in the output of the show ip igmp profile command.

Switch# configure terminal
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

Applying IGMP Profiles

To control access as defined in an IGMP profile, use the ip igmp filter interface configuration command to apply the profile to the appropriate interfaces. You can apply a profile to multiple interfaces, but each interface can only have one profile applied to it.

note.gif

Noteblank.gif You can apply IGMP profiles to Layer 2 ports only. You cannot apply IGMP profiles to routed ports (or SVIs) or to ports that belong to an EtherChannel port group.


To apply an IGMP profile to a switch port, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# interface interface-id

Enters interface configuration mode, and enters the physical interface to configure, for example, fastethernet2/3. The interface must be a Layer 2 port that does not belong to an EtherChannel port group.

Step 3

Switch(config-if)# ip igmp filter profile number

Applies the specified IGMP profile to the interface. The profile number can be from 1 to 4,294,967,295.

Step 4

Switch(config-if)# end

Returns to privileged EXEC mode.

Step 5

Switch# show running configuration interface interface-id

Verifies the configuration.

Step 6

Switch# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

To remove a profile from an interface, use the no ip igmp filter command.

This example shows how to apply IGMP profile 4 to an interface and to verify the configuration:

Switch# configure terminal
Switch(config)# interface fastethernet2/12
Switch(config-if)# ip igmp filter 4
Switch(config-if)# end
Switch# show running-config interface fastethernet2/12
Building configuration...
 
Current configuration : 123 bytes
!
interface FastEthernet2/12
no ip address
shutdown
snmp trap link-status
ip igmp max-groups 25
ip igmp filter 4
end

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 is no limit.

note.gif

Noteblank.gif This restriction can be applied to Layer 2 ports only. You cannot set a maximum number of IGMP groups on routed ports (or SVIs) or on ports that belong to an EtherChannel port group.


To apply an IGMP profile on a switch port, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# interface interface-id

Enters interface configuration mode, and enter the physical interface to configure, for example, gigabitethernet1/1. The interface must be a Layer 2 port that does not belong to an EtherChannel group.

Step 3

Switch(config-if)# ip igmp max-groups number

Sets the maximum number of IGMP groups that the interface can join. The range is from 0 to 4,294,967,294. By default, no maximum is set.

To remove the maximum group limitation and return to the default of no maximum, use the no ip igmp max-groups command.

Step 4

Switch(config-if)# end

Returns to privileged EXEC mode.

Step 5

Switch# show running-configuration interface interface-id

Verifies the configuration.

Step 6

Switch# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

This example shows how to limit the number of IGMP groups that an interface can join to 25:

Switch# configure terminal
Switch(config)# interface fastethernet2/12
Switch(config-if)# ip igmp max-groups 25
Switch(config-if)# end
Switch# show running-config interface fastethernet2/12
Building configuration...
 
Current configuration : 123 bytes
!
interface FastEthernet2/12
no ip address
shutdown
snmp trap link-status
ip igmp max-groups 25
ip igmp filter 4
end

Displaying IGMP Filtering Configuration

You can display IGMP profile and maximum group configuration for all interfaces on the switch or for a specified interface.

To display IGMP profiles, perform this task:

 

Command
Purpose

Switch# show ip igmp profile [ profile number ]

Displays the specified IGMP profile or all IGMP profiles defined on the switch.

To display interface configuration, perform this task:

 

Command
Purpose

Switch# show running-configuration [ interface interface-id ]

Displays the configuration of the specified interface or 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.

This is an example of the show ip igmp profile privileged EXEC command when no profile number is entered. All profiles defined on the switch are displayed.

Switch# show ip igmp profile
IGMP Profile 3
range 230.9.9.0 230.9.9.0
IGMP Profile 4
permit
range 229.9.9.0 229.255.255.255
 

This is an example of the show running-config privileged EXEC command when an interface is specified with IGMP maximum groups configured and IGMP profile 4 has been applied to the interface:

Switch# show running-config interface fastethernet2/12
Building configuration...
Current configuration : 123 bytes
!
interface FastEthernet2/12
no ip address
shutdown
snmp trap link-status
ip igmp max-groups 25
ip igmp filter 4
end