Cisco 7600 Series Router Software Configuration Guide, Cisco IOS Release 15S
Configuring IGMP Snooping for IPv4 Multicast Traffic
Downloads: This chapterpdf (PDF - 272.0KB) The complete bookPDF (PDF - 14.63MB) | Feedback

Table of Contents

Configuring IGMP Snooping for IPv4 Multicast Traffic

Understanding How IGMP Snooping Works

IGMP Snooping Overview

Joining a Multicast Group

Leaving a Multicast Group

Normal Leave Processing

Fast-Leave Processing

Understanding the IGMP Snooping Querier

Understanding IGMP Version 3 Support

IGMP Version 3 Support Overview

IGMPv3 Fast-Leave Processing

Proxy Reporting

Explicit Host Tracking

Default IGMP Snooping Configuration

IGMP Snooping Configuration Guidelines and Restrictions

IGMP Snooping Querier Configuration Guidelines and Restrictions

Enabling the IGMP Snooping Querier

Configuring IGMP Snooping

Enabling IGMP Snooping

Configuring a Static Connection to a Multicast Receiver

Configuring a Multicast Router Port Statically

Configuring the IGMP Snooping Query Interval

Enabling IGMP Fast-Leave Processing

Configuring Source Specific Multicast (SSM) Mapping

Enabling SSM Safe Reporting

Configuring IGMPv3 Explicit Host Tracking

Displaying IGMP Snooping Information

Displaying Multicast Router Interfaces

Displaying MAC Address Multicast Entries

Displaying IGMP Snooping Information for a VLAN Interface

Displaying IGMP Snooping Statistics

Understanding MVR

Using MVR in a Multicast Television Application

Configuring MVR

Default MVR Configuration

Restrictions for MVR Configuration

Configuring MVR Global Parameters

Configuring MVR Interfaces

Displaying MVR Information

Clearing MVR Counters

Troubleshooting

Configuring IGMP Snooping for IPv4 Multicast Traffic

This chapter describes how to configure Internet Group Management Protocol (IGMP) snooping for IPv4 multicast traffic on the Cisco 7600 series routers.


Note • For complete syntax and usage information for the commands used in this chapter, refer to the Cisco 7600 Series Routers Command References at this URL:

http://www.cisco.com/en/US/products/hw/routers/ps368/prod_command_reference_list.html


 

This chapter consists of these sections:

Understanding How IGMP Snooping Works

These sections describe IGMP snooping:

IGMP Snooping Overview

You can configure the router to use IGMP snooping in subnets that receive IGMP queries from either IGMP or the IGMP snooping querier. IGMP snooping constrains IPv4 multicast traffic at Layer 2 by configuring Layer 2 LAN ports dynamically to forward IPv4 multicast traffic only to those ports that want to receive it.

IGMP, which runs at Layer 3 on a multicast router, generates Layer 3 IGMP queries in subnets where the multicast traffic needs to be routed. For information about IGMP, see Chapter31, “Configuring IPv4 Multicast Layer 3 Switching”

You can configure the IGMP snooping querier on the router to support IGMP snooping in subnets that do not have any multicast router interfaces. For more information about the IGMP snooping querier, see the “Enabling the IGMP Snooping Querier” section.

IGMP (on a multicast router) or the IGMP snooping querier (on the supervisor engine) sends out periodic general IGMP queries that the router forwards through all ports in the VLAN and to which hosts respond. IGMP snooping monitors the Layer 3 IGMP traffic.


Note If a multicast group has only sources and no receivers in a VLAN, IGMP snooping constrains the multicast traffic to only the multicast router ports.


Joining a Multicast Group

Hosts join multicast groups either by sending an unsolicited IGMP join message or by sending an IGMP join message in response to a general query from a multicast router (the router forwards general queries from multicast routers to all ports in a VLAN).

In response to an IGMP join request, the router creates an entry in its Layer 2 forwarding table for the VLAN on which the join request was received. When other hosts that are interested in this multicast traffic send IGMP join requests, the router adds them to the existing Layer 2 forwarding table entry. The router creates only one entry per VLAN in the Layer 2 forwarding table for each multicast group for which it receives an IGMP join request.

IGMP snooping suppresses all but one of the host join messages per multicast group and forwards this one join message to the multicast router.

The router forwards multicast traffic for the multicast group specified in the join message to the interfaces where join messages were received (see Figure 33-1).

Layer 2 multicast groups learned through IGMP snooping are dynamic. However, you can statically configure Layer 2 multicast groups using the mac-address-table static command. When you specify group membership for a multicast group address statically, the static setting supersedes any IGMP snooping learning. Multicast group membership lists can consist of both static and IGMP snooping-learned settings.

Figure 33-1 Initial IGMP Join Message

 

Multicast router A sends a general query to the router, which forwards the query to ports 2 through 5 (all 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 with the equivalent MAC destination address of 0x0100.5E01.0203. When the CPU receives the IGMP report multicast by Host 1, the CPU uses the information in the IGMP report to set up a forwarding-table entry, as shown in Table 33-1 , that includes the port numbers of Host 1, the multicast router, and the router internal CPU.

 

Table 33-1 IGMP Snooping Forwarding Table

Destination Address
Type of Packet
Ports

0100.5exx.xxxx

IGMP

0

0100.5e01.0203

!IGMP

1, 2

The router hardware can distinguish IGMP information packets from other packets for the multicast group. The first entry in the table tells the switching engine to send only IGMP packets to the CPU. This prevents the CPU from becoming overloaded with multicast frames. The second entry tells the switching engine to send frames addressed to the 0x0100.5E01.0203 multicast MAC address that are not IGMP packets (!IGMP) to the multicast router and to the host that has joined the group.

If another host (for example, Host 4) sends an unsolicited IGMP join message for the same group (Figure 33-2), the CPU receives that message and adds the port number of Host 4 to the forwarding table as shown in Table 33-2 . Because the forwarding table directs IGMP messages only to the CPU, the message is not flooded to other ports. Any known multicast traffic is forwarded to the group and not to the CPU.

Figure 33-2 Second Host Joining a Multicast Group

 

 

Table 33-2 Updated IGMP Snooping Forwarding Table

Destination Address
Type of Packet
Ports

0100.5exx.xxxx

IGMP

0

0100.5e01.0203

!IGMP

1, 2, 5

Leaving a Multicast Group

These sections describe leaving a multicast group:

Normal Leave Processing

Interested hosts must continue to respond to the periodic general IGMP queries. As long as at least one host in the VLAN responds to the periodic general IGMP queries, the multicast router continues forwarding the multicast traffic to the VLAN. When hosts want to leave a multicast group, they can either ignore the periodic general IGMP queries (called a “silent leave”), or they can send a group-specific IGMPv2 leave message.

When IGMP snooping receives a group-specific IGMPv2 leave message from a host, it sends out a MAC-based general query to determine if any other devices connected to that interface are interested in traffic for the specific multicast group. If IGMP snooping does not receive an IGMP Join message in response to the general query, it assumes that no other devices connected to the interface are interested in receiving traffic for this multicast group, and it removes the interface from its Layer 2 forwarding table entry for that multicast group. If the leave message was from the only remaining interface with hosts interested in the group and IGMP snooping does not receive an IGMP Join in response to the general query, it removes the group entry and relays the IGMP leave to the multicast router. If the multicast router receives no reports from a VLAN, the multicast router removes the group for the VLAN from its IGMP cache.

The interval for which the router waits before updating the table entry is called the “last member query interval.” To configure the interval, enter the ip igmp snooping last-member-query-interval interval command.

Fast-Leave Processing

IGMP snooping fast-leave processing allows IGMP snooping to remove a Layer 2 LAN interface from the forwarding-table entry without first sending out IGMP group-specific queries to the interface. Upon receiving a group-specific IGMPv2 leave message, IGMP snooping immediately removes the interface from the Layer 2 forwarding table entry for that multicast group, unless a multicast router was learned on the port. Fast-leave processing improves bandwidth management for all hosts on a switched network.


Note Use fast-leave processing only on VLANs where only one host is connected to each Layer 2 LAN port. If fast-leave is enabled in VLANs where more than one host is connected to a Layer 2 LAN port, some hosts might be dropped inadvertently. Fast-leave processing is supported only with IGMP version 2 hosts.


Understanding the IGMP Snooping Querier

Use the IGMP snooping querier to support IGMP snooping in a VLAN where PIM and IGMP are not configured because the multicast traffic does not need to be routed.

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

When enabled, the IGMP snooping querier sends out periodic IGMPv3 queries that trigger IGMP report messages from the router that wants to receive IP multicast traffic. IGMP snooping listens to these IGMP reports to establish appropriate forwarding.

You can enable the IGMP snooping querier on all the Cisco 7600 series routers in the VLAN, but for each VLAN that is connected to switches that use IGMP to report interest in IP multicast traffic, you must configure at least one router as the IGMP snooping querier.

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

Understanding IGMP Version 3 Support

These sections describe IGMP version 3 support:

IGMP Version 3 Support Overview

IGMP snooping supports IGMP version 3. IGMP version 3 uses source-based filtering, which enables hosts and routers to specify which source addresses should be allowed or blocked for a specific multicast group. When you enable IGMP version 3 snooping on a Cisco 7600 series router, the system maintains IGMP version 3 states based on messages it receives for a particular group in a particular VLAN and either allows or blocks traffic based on the following information in these messages:

  • Source lists
  • Allow (include) or block (exclude) filtering options

Because the Layer 2 table is (MAC-group, VLAN) based, with IGMPv3 hosts it is preferable to have only a single multicast source per MAC-group.


Note Source-based filtering for IGMP version 3 reports is not supported in hardware. The states are maintained only in software and used for explicit host tracking and statistics collection. The source-only entries are deleted every 5 minutes and relearned to ensure that they are still valid.


IGMPv3 Fast-Leave Processing

IGMP version 3 fast-leave processing is enabled by default. To disable IGMP version 3 fast-leave processing you must turn off explicit-host tracking.

Fast-leave processing with IGMPv3 is implemented by maintaining source-group based membership information in software while also allocating LTL indexes on a MAC GDA basis.

When fast-leave processing is enabled, hosts send BLOCK_OLD_SOURCES{src-list} messages for a specific group when they no longer want to receive traffic from that source. When the router receives such a message from a host, it parses the list of sources for that host for the given group. If this source list is exactly the same as the source list received in the leave message, the router removes the host from the LTL index and stops forwarding this multicast group traffic to this host.

If the source lists do not match, the router does not remove the host from the LTL index until the host is no longer interested in receiving traffic from any source.

Proxy Reporting

IGMP supports proxy reporting for IGMPv1 and IGMPv2 messages to handle group-specific queries. These queries are not sent downstream, but the switch does respond to them directly. When the switch recieves a group-specific query, the switch terminates the query and sends an IGMP proxy report if there is a receiver for the group. There is no proxy reporting for IGMPv3 messages. For IGMPv3, a group-specific query or a group source-specific query is flooded to all VLAN member ports. The database for the IGMPv3 membership report is built based on the reports received.

Host reports responding to a specific query can be suppressed by the report suppression feature. Report suppression is supported for IGMPv1, IGMPv2 and IGMPv3 messages. With report suppression enabled (by default), when the switch recieves a general query, the switch starts a suppression cycle for reports from all hosts to each group or channel (S,G). Only the first report to the discovered multicast routers are forwarded; the rest of the reports are suppressed. For IGMPv1 and IGMPv2, the time of suppression is the report response time indicated in the general query message. For IGMPv3, suppression occurs for the entire general query interval.


Note • Source-based filtering for IGMP version 3 reports is not supported in hardware. The states are maintained only in software and used for explicit host tracking and statistics collection. The source-only entries are deleted every 5 minutes and relearned to ensure that they are still valid.

  • Turning off explicit host tracking disables fast-leave processing and proxy reporting.


 

Explicit Host Tracking

IGMPv3 supports explicit tracking of membership information on any port. The explicit-tracking database is used for fast-leave processing for IGMPv3 hosts, proxy reporting, and statistics collection. When explicit tracking is enabled on a VLAN, the IGMP snooping software processes the IGMPv3 report it receives from a host and builds an explicit-tracking database that contains the following information:

  • The port connected to the host
  • The channels reported by the host
  • The filter mode for each group reported by the host
  • The list of sources for each group reported by the hosts
  • The router filter mode of each group
  • For each group, the list of hosts requesting the source

Note • Turning off explicit host tracking disables fast-leave processing and proxy reporting.

  • When explicit tracking is enabled and the router is working in proxy-reporting mode, the router may not be able to track all the hosts behind a VLAN interface.


 

Default IGMP Snooping Configuration

Table 33-3 shows the default IGMP snooping configuration.

 

Table 33-3 IGMP Snooping Default Configuration

Feature
Default Values

IGMP snooping querier

Disabled

IGMP snooping

Enabled

Multicast routers

None configured

IGMPv3 proxy reporting

Enabled

IGMP snooping router learning method

Learned automatically through PIM or IGMP packets

Fast-Leave Processing

Disabled

IGMPv3 Explicit Host Tracking

Enabled

IGMPv3 SSM Safe Reporting

Disabled

IGMP Snooping Configuration Guidelines and Restrictions

When configuring IGMP snooping, follow these guidelines and restrictions:

  • To support Cisco Group Management Protocol (CGMP) client devices, configure the Multilayer Switch Feature Card (MSFC) as a CGMP server. Refer to the Cisco IOS IP and IP Routing Configuration Guide , Release 12.2, “IP Multicast,” “Configuring IP Multicast Routing,” at this URL:

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fipr_c/ipcpt3/1cfmulti.htm

  • For more information on IP multicast and IGMP, refer to RFC 1112 and RFC 2236.
  • IGMP snooping supports private VLANs. Private VLANs do not impose any restrictions on IGMP snooping.
  • IGMP snooping constrains traffic in MAC multicast groups 0100.5e00.0001 to 0100.5eff.ffff.
  • IGMP snooping does not constrain Layer 2 multicasts generated by routing protocols.

IGMP Snooping Querier Configuration Guidelines and Restrictions

When configuring the IGMP snooping querier, follow these guidelines and restrictions:

  • Configure the VLAN in global configuration mode (see Chapter 14, “Configuring VLANs”).
  • Configure an IP address on the VLAN interface (see Chapter 22, “Configuring Layer 3 Interfaces”). When enabled, the IGMP snooping querier uses the IP address as the query source address.
  • If there is no IP address configured on the VLAN interface, the IGMP snooping querier does not start. The IGMP snooping querier disables itself if the IP address is cleared. When enabled, the IGMP snooping querier restarts if you configure an IP address.
  • The IGMP snooping querier supports IGMP version 2.
  • When enabled, the IGMP snooping querier does not start if it detects IGMP traffic from a multicast router.
  • When enabled, the IGMP snooping querier starts after 60 seconds with no IGMP traffic detected from a multicast router.
  • When enabled, the IGMP snooping querier disables itself if it detects IGMP traffic from a multicast router.
  • QoS does not support IGMP packets when IGMP snooping is enabled.
  • You can enable the IGMP snooping querier on all the Cisco 7600 series routers in the VLAN. One router is elected as the querier.

Note When you are in configuration mode you can enter EXEC mode commands by entering the do keyword before the EXEC mode command.


Enabling the IGMP Snooping Querier

Use the IGMP snooping querier to support IGMP snooping in a VLAN where PIM and IGMP are not configured because the multicast traffic does not need to be routed.

To enable the IGMP snooping querier in a VLAN, perform this task:

 

Command
Purpose

Step 1

Router(config)# interface vlan vlan_ID

Selects the VLAN interface.

Step 2

Router(config-if)# ip address ip_address subnet_mask

Configures the IP address and IP subnet.

Step 3

Router(config-if)# ip igmp snooping querier

Enables the IGMP snooping querier.

Router(config-if)# no ip igmp snooping querier

Disables the IGMP snooping querier.

Step 4

Router(config-if)# end

Exits configuration mode.

Step 5

Router# show ip igmp interface vlan vlan_ID | include querier

Verifies the configuration.

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

Router# interface vlan 200
Router(config-if)# ip address 172.20.52.106 255.255.255.248
Router(config-if)# igmp snooping querier
Router(config-if)# end
Router# show ip igmp interface vlan 200 | include querier
IGMP snooping querier is enabled on this interface
Router#

Configuring IGMP Snooping


Note To use IGMP snooping, configure a Layer 3 interface in the subnet for multicast routing (see Chapter 31, “Configuring IPv4 Multicast Layer 3 Switching”) or enable the IGMP snooping querier in the subnet (see the “Enabling the IGMP Snooping Querier” section).


IGMP snooping allows Cisco 7600 series routers to examine IGMP packets and make forwarding decisions based on their content.

These sections describe how to configure IGMP snooping:


Note Except for the global enable command, all IGMP snooping commands are supported only on VLAN interfaces.


Enabling IGMP Snooping

To enable IGMP snooping globally, perform this task:

 

Command
Purpose

Step 1

Router(config)# ip igmp snooping

Enables IGMP snooping.

Router(config)# no ip igmp snooping

Disables IGMP snooping.

Step 2

Router(config)# end

Exits configuration mode.

Step 3

Router# show ip igmp interface vlan vlan_ID | include globally

Verifies the configuration.

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

Router(config)# ip igmp snooping
Router(config)# end
Router# show ip igmp interface vlan 200 | include globally
IGMP snooping is globally enabled
Router#
 

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

 

Command
Purpose

Step 1

Router(config)# interface vlan vlan_ID

Selects a VLAN interface.

Step 2

Router(config-if)# ip igmp snooping

Enables IGMP snooping.

Router(config-if)# no ip igmp snooping

Disables IGMP snooping.

Step 3

Router(config-if)# end

Exits configuration mode.

Step 4

Router# show ip igmp interface vlan vlan_ID | include snooping

Verifies the configuration.

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

Router# interface vlan 25
Router(config-if)# ip igmp snooping
Router(config-if)# end
Router# show ip igmp interface vl25 | include snooping
IGMP snooping is globally enabled
IGMP snooping is enabled on this interface
IGMP snooping fast-leave is disabled and querier is disabled
IGMP snooping explicit-tracking is enabled on this interface
IGMP snooping last member query interval on this interface is 1000 ms
Router#

Configuring a Static Connection to a Multicast Receiver

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

 

Command
Purpose

Step 1

Router(config)# mac-address-table static mac_addr vlan vlan_id interface type 1 slot/port [ disable-snooping ]

Configures a static connection to a multicast receiver.

Router(config)# no mac-address-table static mac_addr vlan vlan_id

Clears a static connection to a multicast receiver.

Step 2

Router(config-if)# end

Exits configuration mode.

Step 3

Router# show mac-address-table address mac_addr

Verifies the configuration.

1.type = ethernet, fastethernet, gigabitethernet, or tengigabitethernet

When you configure a static connection, enter the disable-snooping keyword to prevent multicast traffic addressed to the statically configured multicast MAC address from also being sent to other ports in the same VLAN.

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

Router(config)# mac-address-table static 0050.3e8d.6400 vlan 12 interface fastethernet 5/7

Configuring a Multicast Router Port Statically

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

 

Command
Purpose

Step 1

Router(config-if)# ip igmp snooping mrouter interface type 2 slot/port

Configures a static connection to a multicast router.

Step 2

Router(config-if)# end

Exits configuration mode.

Step 3

Router# show ip igmp snooping mrouter

Verifies the configuration.

2.type = ethernet, fastethernet, gigabitethernet, or tengigabitethernet

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

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

Router(config-if)# ip igmp snooping mrouter interface fastethernet 5/6
Router(config-if)#

Configuring the IGMP Snooping Query Interval

You can configure the interval for which the router waits after sending a group-specific query to determine if hosts are still interested in a specific multicast group.


Note When both IGMP fast-leave processing and the IGMP query interval are configured, fast-leave processing takes precedence.


To configure the interval for the IGMP snooping queries sent by the router, perform this task:

 

Command
Purpose

Step 1

Router(config)# interface vlan vlan_ID

Selects a VLAN interface.

Step 2

Router(config-if)# ip igmp snooping last-member-query-interval interval

Configures the interval for the IGMP snooping queries sent by the router. Default is 1 second. Valid range is 100 to 999 milliseconds.

Router(config-if)# no ip igmp snooping last

Reverts to the default value.

This example shows how to configure the IGMP snooping query interval:

Router(config-if)# ip igmp snooping last-member-query-interval 200
Router(config-if)# exit
Router# show ip igmp interface vlan 200 | include last
IGMP snooping last member query interval on this interface is 200 ms

Enabling IGMP Fast-Leave Processing

To enable IGMP fast-leave processing in a VLAN, perform this task:

 

Command
Purpose

Step 1

Router(config)# interface vlan vlan_ID

Selects a VLAN interface.

Step 2

Router(config-if)# ip igmp snooping fast-leave

Enables IGMP fast-leave processing in the VLAN.

Router(config-if)# no ip igmp snooping fast-leave

Disables IGMP fast-leave processing in the VLAN.

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

Router# interface vlan 200
Router(config-if)# ip igmp snooping fast-leave
Configuring fast leave on vlan 200
Router(config-if)# end
Router# show ip igmp interface vlan 200 | include fast-leave
IGMP snooping fast-leave is enabled on this interface
Router(config-if)#

Configuring Source Specific Multicast (SSM) Mapping


Note • Do not configure SSM mapping in a VLAN that supports IGMPv3 multicast receivers.


 

To configure SSM mapping, refer to this publication:

http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123newft/123t/123t_2/gtssmma.htm

Enabling SSM Safe Reporting


Note Source-specific multicast (SSM) safe reporting is presently deprecated.


When you configure SSM safe reporting, the group mode is IGMPv3 even in the presence of IGMPv1 and IGMPv2 hosts.

To make sure the router is able to support both IGMPv1, IGMPv2, and IGMPv3 hosts in the same VLAN, perform this task:

 

Command
Purpose

Step 1

Router(config)# interface vlan vlan_ID

Selects a VLAN interface.

Step 2

Router(config-if)# ip igmp snooping ssm-safe-reporting

Enables support for both IGMPv2 and IGMPv3 hosts.

Router(config-if)# no ip igmp snooping ssm-safe-reporting

Clears the configuration.

This example shows how to configure the router to support both IGMPv2 and IGMPv3 hosts:

Router(config)# interface vlan 10
Router(config-if)# ip igmp snooping ssm-safe-reporting

Configuring IGMPv3 Explicit Host Tracking

To enable explicit host tracking on a VLAN, perform this task:

 

Command
Purpose

Step 1

Router(config)# interface vlan vlan_ID

Selects a VLAN interface.

Step 2

Router(config-if)# ip igmp snooping explicit-tracking

Enables explicit host tracking.

Router(config-if)# no ip igmp snooping explicit-tracking

Clears the explicit host tracking configuration.

Step 3

Router# show ip igmp snooping explicit-tracking {vlan vlan-id}

Displays information about the explicit host tracking status for IGMPv3 hosts.

This example shows how to enable explicit host tracking:

Router(config)# interface vlan 25
Router(config-if)# ip igmp snooping explicit-tracking
Router(config-if)# end
Router# show ip igmp snooping explicit-tracking vlan 25
 
 
Source/Group Interface Reporter Filter_mode
------------------------------------------------------------------------
10.1.1.1/226.2.2.2 Vl25:1/2 16.27.2.3 INCLUDE
10.2.2.2/226.2.2.2 Vl25:1/2 16.27.2.3 INCLUDE

Displaying Multicast Router Interfaces

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

To display multicast router interfaces, perform this task:

 

Command
Purpose

Router# show ip igmp snooping mrouter vlan_ID

Displays multicast router interfaces.

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

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

Displaying MAC Address Multicast Entries

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

 

Command
Purpose

Router# show mac-address-table multicast vlan_ID [ count ]

Displays MAC address multicast entries for a VLAN.

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

Router# show mac-address-table multicast vlan 1
vlan mac address type qos ports
-----+---------------+--------+---+--------------------------------
1 0100.5e02.0203 static -- Gi1/1,Gi2/1,Fa3/48,Router
1 0100.5e00.0127 static -- Gi1/1,Gi2/1,Fa3/48,Router
1 0100.5e00.0128 static -- Gi1/1,Gi2/1,Fa3/48,Router
1 0100.5e00.0001 static -- Gi1/1,Gi2/1,Fa3/48,Router,Switch
Router#
 

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

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

Displaying IGMP Snooping Information for a VLAN Interface

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

 

Command
Purpose

Router# show ip igmp interface vlan_ID

Displays IGMP snooping information on a VLAN interface.

This example shows how to display IGMP snooping information on the VLAN 200 interface:

Router# show ip igmp interface vlan 43
Vlan43 is up, line protocol is up
Internet address is 43.0.0.1/24
IGMP is enabled on interface
Current IGMP host version is 2
Current IGMP router version is 2
IGMP query interval is 60 seconds
IGMP querier timeout is 120 seconds
IGMP max query response time is 10 seconds
Last member query count is 2
Last member query response interval is 1000 ms
Inbound IGMP access group is not set
IGMP activity:1 joins, 0 leaves
Multicast routing is enabled on interface
Multicast TTL threshold is 0
Multicast designated router (DR) is 43.0.0.1 (this system)
IGMP querying router is 43.0.0.1 (this system)
Multicast groups joined by this system (number of users):
224.0.1.40(1)
IGMP snooping is globally enabled
IGMP snooping is enabled on this interface
IGMP snooping fast-leave is disabled and querier is disabled
IGMP snooping explicit-tracking is enabled on this interface
IGMP snooping last member query interval on this interface is 1000 ms
Router#

Displaying IGMP Snooping Statistics

The show ip igmp snooping statistics interface vlan_ID command displays the following information:

  • The list of ports that are members of a group
  • The filter mode
  • The reporter-address behind the port
  • The last-join and last-leave information collected since the last time a clear ip igmp snooping statistics command was entered

To display IGMP snooping statistics, perform this task:

 

Command
Purpose

Router# show ip igmp snooping statistics interface vlan_ID

Displays IGMP snooping information on a VLAN interface.

This example shows IGMP snooping statistics information for interface VLAN 25:

Router# show ip igmp snooping statistics interface vlan 25
 
Snooping statistics for Vlan25
#channels:2
#hosts :1
 
Source/Group Interface Reporter Uptime Last-Join Last-Leave
10.1.1.1/226.2.2.2 Gi1/2:Vl25 16.27.2.3 00:01:47 00:00:50 -
10.2.2.2/226.2.2.2 Gi1/2:Vl25 16.27.2.3 00:01:47 00:00:50 -
Router#
 

Understanding MVR

Multicast VLAN Registration (MVR) is used to deploy multicast traffic across an Ethernet ring-based service-provider network. For example, the broadcast of multiple television channels over a service-provider network.

MVR performs the following:

  • Identifies the MVR IP multicast streams and their associated IP multicast groups in the Layer 2 forwarding table.
  • Intercepts the IGMP messages.
  • Allows a subscriber on a port to subscribe and unsubscribe to a multicast stream on the multicast VLAN.
  • Allows a single multicast VLAN to be shared in the network while subscribers remain in separate VLANs.
  • Provides the ability to continuously send multicast streams in the multicast VLAN and isolate the streams from the subscriber VLANs for bandwidth and security reasons.
  • Modifies the Layer 2 forwarding table to include or remove the subscriber as a receiver of the multicast stream, even though the receivers might be in a different VLAN from the source. This forwarding behavior selectively allows traffic to cross between different VLANs.

The router forwards multicast data for MVR IP multicast streams only to MVR ports on which hosts have joined, either by IGMP reports or by MVR static configuration. The router forwards IGMP reports received from MVR hosts only to the source (uplink) port. This eliminates using unnecessary bandwidth on MVR data port links.


Note Only layer 2 ports participate in MVR. You must configure ports as MVR receiver ports. Only one MVR multicast VLAN per router is allowed.


During MVR, subscriber ports subscribe and unsubscribe multicast streams by sending out IGMP join and leave messages. These messages can originate from an IGMP version-2-compatible host with an Ethernet connection. Although MVR operates on the underlying mechanism of IGMP snooping, the two features operate independent of each 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.

Using MVR in a Multicast Television Application

In a multicast television application, a PC or a television with a set-top box receives 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 33-3 illustrates this configuration.

The MVR feature in a multicast television application functions in this sequence:

  • 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 Source Port (SP) 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 33-3 Multicast VLAN Registration

 

  • When a subscriber changes channels or switches off the television, the set-top box sends an IGMP leave message to the multicast stream. The SP 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.
  • Unless the Immediate Leave feature is enabled, when the router 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 the Immediate Leave feature enabled, an IGMP query is not sent from the receiver port on which the IGMP leave was received. As soon as the leave message is received, the receiver port is removed from multicast group membership, which speeds up leave latency. Enable the Immediate Leave feature only on receiver ports to which a single receiver device is connected.
  • MVR eliminates the need to duplicate television-channel multicast traffic for subscribers in each VLAN. Multicast traffic for all channels is only sent around the VLAN trunk once—only on the multicast VLAN. The IGMP leave and join messages are in the VLAN to which the subscriber port is assigned. These messages dynamically register for streams of multicast traffic in the multicast VLAN on the layer 3 device, Switch B. The access layer switch, Switch A, modifies the forwarding behavior to allow the traffic to be forwarded from the multicast VLAN to the subscriber port in a different VLAN, selectively allowing traffic to cross between 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 receiver ports and forward them to the multicast VLAN of the source (uplink) port.

Configuring MVR

These sections contain the MVR configuration information:

Default MVR Configuration

Table 33-4 shows the default MVR configuration.

Table 33-4 Default MVR Configuration

Feature
Default Setting

MVR

Disabled globally per interface

MVR maximum groups

1000 maximum groups

Multicast addresses

None configured

Query response time

1 second

Multicast VLAN

VLAN 1

Interface (per port) default

Neither a receiver nor a source port

Immediate Leave

Disabled on all ports

Restrictions for MVR Configuration

The following restrictions apply to MVR:

  • Only one MVR VLAN can be present in a router, and you should configure the same VLAN as the MVR VLAN for all the routers in the same network.
  • Source ports must be in the MVR VLAN.
  • Receiver ports on a router can be in different VLANs, but must not be in the MVR VLAN.
  • Receiver ports can only be access ports; they cannot be trunk ports.
  • Receiver ports of the VLAN should either have a snooping querier or an L3 SVI to generate an IGMP query on that VLAN.
  • When using private VLANs, you cannot configure a primary or secondary VLAN as the MVR VLAN.
  • Do not connect a multicast router to a receiver port.
  • The MVR VLAN must not be a reverse path forwarding (RPF) interface for any multicast route.
  • MVR data received on an MVR receiver port is not forwarded to MVR source ports.
  • The maximum number of multicast entries (MVR group addresses) on a router (maximum number of television channels received) is 8000.
  • MVR is available only on native systems.
  • VTP pruning should be disabled if the MVR VLAN number is between 1 and 1000.
  • MVR can coexist with IGMP snooping on a router.
  • MVR supports IGMPv3 messages.
  • MVR cannot coexist with storm control on ES-20 ports.
  • When Layer 2 port-chanel is configured as mvr reciver port, multicast data traffic from MVR group is not forwarded out of the member links.

Configuring MVR Global Parameters

You can use the default settings to configure the global parameters for MVR. Use the optional settings if necessary, for specific actions. Before changing the default parameters (except for the MVR VLAN), you must first enable MVR.

To configure the MVR global parameters, perform this task:

Command
Purpose

Step 1

Router# configure terminal

Enters global configuration mode.

Step 2

Step 3

Router(config)# mvr

Enables MVR on the router.

Router(config)# mvr max-groups max-groups

Specifies the maximum number of MVR groups. The range is 1 to 8000. The default is 1000.

Step 4

Router(config)# mvr group ip-address [count count | [ mask mask ]]

 

Configures an IP multicast address on the router or uses the count parameter to configure a contiguous series of MVR group addresses. The range for count is 1 to (max-groups current-count); the default is 1. Any multicast data sent to this address is sent to all source ports on the router, and all receiver ports that have elected to receive data on that multicast address. Each multicast address corresponds to one television channel. Mask specifies the IP mask for MVR group addresses.

Step 5

Router(config)# mvr querytime value

 

(Optional) Defines the maximum time to wait for IGMP report memberships on a receiver port before removing the port from multicast group membership. The value is in units of tenths of a second. The range is 1 to 100, and the default is 10 tenths of a second or one second .

Step 6

Router(config)# mvr vlan vlan-id

 

 

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

Step 7

outer(config)# end

 

Returns to privileged EXEC mode.

Step 8

Router# show mvr

 

Verifies the configuration.

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

This example shows how to enable MVR, configure the group address, set the query time to 1 second or10 tenths of a second, and specify the MVR multicast VLAN as VLAN 22:

Router(config)# mvr
Router(config)# mvr group 228.1.23.4 256
Router(config)# mvr querytime 10
Router(config)# mvr vlan 22
Router(config)# end

Configuring MVR Interfaces

To configure Layer 2 MVR interfaces, perform this task:

Command
Purpose

Step 1

Router# configure terminal

Enters global configuration mode.

Step 2

Router(config)# mvr

Enables MVR on the router.

Step 3

Router(config)# interface interface-id

Specifies the Layer 2 port to configure, and enters interface configuration mode.

Step 4

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

Configures an MVR port as one of these types of ports:

  • source—Configures uplink ports that receive and send multicast data as source ports. Subscribers cannot be directly connected to source ports. All source ports on a router belong to the single multicast VLAN.
  • receiver—Configures 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 by using IGMP leave and join messages. Receiver ports cannot belong to the multicast VLAN.

If you attempt to configure a non-MVR port with MVR configurations, the operation fails. The default configuration is as a non-MVR port.

Step 5

Router(config-if)# mvr immediate

(Optional) Enables the Immediate Leave feature of MVR on the port. The Immediate Leave feature is disabled by default.

This command applies to only receiver ports and should only be enabled on receiver ports to which a single receiver device is connected.

Step 6

Router(config-if)# end

Returns to privileged EXEC mode.

Step 7

Router# show mvr

Verifies the configuration.

To return to default settings, use the no mvr [type | immediate] interface configuration commands.

This example shows how to configure a source port and a receiver port, and how to configure Immediate Leave on the receiver port:

Router(config)# mvr
Router(config)# interface gigabitethernet 3/48
Router(config-if)# switchport
Router(config-if)# switchport access vlan 22
Router(config-if)# mvr type source
Router(config-if)# exit
Router(config)# interface gigabitethernet 3/47
Router(config-if)# switchport
Router(config-if)# switchport access vlan 30
Router(config-if)# mvr type receiver
Router(config-if)# mvr immediate
Router(config-if)# exit

 

Displaying MVR Information

You can display MVR information for the router or for a specified interface. To display MVR configurations, perform one or more of these tasks:

Command
Purpose

Router# show mvr

Displays the MVR status with the following information:

  • MVR (True or False)
  • The multicast VLAN
  • The configured maximum and current number of multicast groups
  • The query response time

Router# show mvr groups

Displays the MVR group configuration along with the maximum and current multicast group information.

Router# show mvr interface [ type module/port ]

Displays all MVR interfaces and their MVR configurations.

When a specific interface is entered, it displays this information:

  • Type—Receiver or Source
  • Status—One of these:

Active—At least one IGMP joins message is received for an MVR group on the port.

Inactive—The port is not participating in any MVR groups.

Up/Down—The port is forwarding (Up) or non-forwarding (Down).

  • Immediate Leave—Enabled or Disabled

Router# show mvr members [[ vlan vlan-id ] | [ type module/port ]] count

Displays details of all MVR members and number (count) of MVR members in all active MVR groups or on a specified VLAN or port.

Router# show mvr { receiver-ports | source-ports } [ type module/port ]

Displays all receiver or source ports that are members of any IP multicast group or those on the specified interface port.

This example displays MVR status and values for the router:

Router# show mvr
MVR Running: TRUE
MVR multicast vlan: 22
MVR Max Multicast Groups: 1000
MVR Current multicast groups: 256
MVR Global query response time: 10 (tenths of sec)
 

This example displays the MVR group configuration:

Router# show mvr groups
MVR max Multicast Groups allowed: 8000
MVR current multicast groups: 8000
MVR groups:
Group start Group end Type Count/Mask
--------------- --------------- ----- ---------------
225.0.7.226 225.0.7.226 count 1
225.0.7.227 225.0.7.227 count 1
225.0.7.228 225.0.7.228 count 1
225.0.7.229 225.0.7.229 count 1
225.0.7.230 225.0.7.230 count 1
225.0.7.231 225.0.7.231 count 1
236.8.7.0 236.8.7.255 mask 255.255.255.0
237.8.7.0 237.8.7.255 mask 255.255.255.0
237.8.8.0 237.8.8.255 mask 255.255.255.0
 

This example displays all the MVR interfaces and configurations:

Router# show mvr interface
Port VLAN Type Status Immediate Leave
---- ---- ---- ------ ---------------
Gi1/20 2 RECEIVER ACTIVE/UP DISABLED
Gi1/21 2 SOURCE ACTIVE/UP DISABLED

 

This example displays all the MVR members on VLAN 2:

Router# show mvr members vlan 2
MVR Group IP Status Members VLAN
------------ ------ ------- -----
224.000.001.001 ACTIVE Gi1/20(u),Gi1/21(u) 2
224.000.001.002 ACTIVE Fa3/2(d),Gi1/12(u) 2
 

This example displays the number of MVR members on all MVR VLANs:

Router# show mvr members count
Count of active MVR groups:
Vlan 490: 400
Vlan 600: 400
Vlan 700: 0
Vlan 950: 0
 

This example displays all receiver ports that are members of any IP multicast group:

Router# show mvr receiver-ports
Joins: v1,v2,v3 counter shows total IGMP joins
v3 counter shows IGMP joins received with both MVR and non-MVR groups
Port VLAN Status Immediate Joins
Leave (v1,v2,v3) (v3)
---- ---- ------------- ---------- ---------- -----------
Gi1/7 202 INACTIVE/UP ENABLED 305336 0
Gi1/8 202 ACTIVE/UP DISABLED 4005 0
Gi1/9 203 INACTIVE/DOWN DISABLED 53007 0
Gi1/10 203 ACTIVE/UP DISABLED 6204 0
Gi1/11 204 ACTIVE/UP DISABLED 0 940
Gi1/12 205 INACTIVE/UP ENABLED 8623 0
 

Clearing MVR Counters

You can clear MVR join counters for the router, for source or receiver ports, or for a specified interface.

To clear MVR counters, perform this task:

Command
Purpose

Router# clear mvr counters [[receiver-ports | source-ports] [ type module/port ]]

 

Clears the join counters of all the MVR ports, or source or receiver ports, or of a specified MVR interface port.

This example shows how to clear the join counters for a receiver port on the GigabitEthernet port 1/7:

Router# clear mvr receiver-ports GigabitEthernet 1/7
Router# show mvr receiver-ports GigabitEthernet 1/7
Joins: v1,v2,v3 counter shows total IGMP joins
v3 counter shows IGMP joins received with both MVR and non-MVR groups
Port VLAN Status Immediate Joins
Leave (v1,v2,v3) (v3)
---- ---- ------------- ---------- ---------- -----------
Gi1/7 202 INACTIVE/UP ENABLED 0 0

 

Troubleshooting

Table 33-5 lists the troubleshooting issues while configuring MVR:

Table 33-5 Troubleshooting MVR Issues

Problem
Solution

The MVR receiver ports do not receive the traffic or when the data traffic from MVR group is not sent on MVR VLAN.

  • Check for the MAC address entries using the show mac-address table vlan mvr vlan command.
  • Check for the MVR receiver port status using show mvr receiver ports command.
  • Check whether the IGMP joins for the MVR group on the MVR receiver port are redirected to the MVR VLAN, using the following debug commands:

debug mvr all

debug platform software multicast igmp event

debug platform software multicast igmp pak