Table Of Contents
Configuring Multicast Services
Understanding How Multicasting Works
Multicasting and Multicast Services Overview
Understanding How IGMP Snooping Works
IGMP Version 3 Snooping Restrictions
Joining a Multicast Group
Constraining Multicast Traffic
Leaving a Multicast Group
IGMP Fast-Leave Processing
IGMP Fast-Block Processing
Understanding How GMRP Works
Understanding How RGMP Works
Suppressing Multicast Traffic
Rate-Limiting RPF Failure Traffic
Enabling the Installation of Directly Connected Subnets
Understanding IGMP Querier
Redundancy for Multicast Traffic
Configuring IGMP Snooping on the Switch
Default IGMP Snooping Configuration
IGMP Snooping Configuration Guidelines
Enabling IGMP Snooping
Enabling IGMP Flooding
Specifying the IGMP Snooping Mode
Specifying the IGMP Leave-Query Type
Enabling IGMP Fast-Leave Processing
Enabling IGMP Version 3 Snooping
Enabling IGMP Version 3 Fast-Block Processing
Enabling IGMP Rate Limiting
Enabling the IGMP Querier
Displaying Multicast Router Information
Displaying Multicast Group Information
Displaying IGMP Snooping Statistics
Disabling IGMP Fast-Leave Processing
Disabling IGMP Snooping
Configuring GMRP on the Switch
GMRP Software Requirements
Default GMRP Configuration
Enabling GMRP Globally
Enabling GMRP on Individual Switch Ports
Disabling GMRP on Individual Switch Ports
Enabling the GMRP Forward-All Option on a Switch Port
Disabling the GMRP Forward-All Option on a Switch Port
Configuring GMRP Registration
Setting Normal Registration
Setting Fixed Registration
Setting Forbidden Registration
Setting the GARP Timers
Displaying GMRP Statistics
Clearing GMRP Statistics
Disabling GMRP Globally on the Switch
Configuring Multicast Router Ports and Group Entries on the Switch
Specifying Multicast Router Ports
Configuring Multicast Groups
Clearing Multicast Router Ports
Clearing Multicast Group Entries
Understanding How RGMP Works
Configuring RGMP on the Switch
Configuring RGMP on the Supervisor Engine
Default RGMP Configuration
Enabling and Disabling RGMP
Displaying RGMP Group Information
Displaying RGMP VLAN Statistics
Displaying RGMP-Capable Router Ports
Clearing RGMP Statistics
RGMP-Related CLI Commands
Configuring RGMP on the MSFC
Displaying the Multicast Protocol Status
Understanding How Bidirectional PIM Works
Configuring Bidirectional PIM on the Switch
Configuring Bidirectional PIM
Enabling or Disabling Bidirectional PIM Globally
Configuring the Rendezvous Point for Bidirectional Groups
Setting the Bidirectional PIM Scan Interval
Displaying Bidirectional PIM Information
Configuring Multicast Services
This chapter describes how to configure Internet Group Management Protocol (IGMP) snooping, GARP Multicast Registration Protocol (GMRP), Router-Port Group Management Protocol (RGMP), and bidirectional protocol independent multicast (PIM) on the Catalyst 6500 series switches.
Note
For complete syntax and usage information for the commands that are used in this chapter, refer to the Catalyst 6500 Series Switch Command Reference publication.
This chapter consists of these sections:
•
Understanding How Multicasting Works
•
Configuring IGMP Snooping on the Switch
•
Configuring GMRP on the Switch
•
Configuring Multicast Router Ports and Group Entries on the Switch
•
Understanding How RGMP Works
•
Configuring RGMP on the Switch
•
Displaying the Multicast Protocol Status
•
Understanding How Bidirectional PIM Works
•
Configuring Bidirectional PIM on the Switch
Understanding How Multicasting Works
These sections describe how multicasting works on the Catalyst 6500 series switches:
•
Multicasting and Multicast Services Overview
•
Understanding How IGMP Snooping Works
•
Understanding How GMRP Works
•
Understanding How RGMP Works
•
Suppressing Multicast Traffic
•
Rate-Limiting RPF Failure Traffic
•
Enabling the Installation of Directly Connected Subnets
•
Understanding IGMP Querier
•
Redundancy for Multicast Traffic
Multicasting and Multicast Services Overview
IGMP snooping manages the multicast traffic in the switches by allowing the directed switching of the IP multicast traffic. GMRP is protocol independent and can manage both IP multicast traffic and any Layer 2 multicast traffic.
The switches can use IGMP snooping or GMRP to configure the switch ports dynamically so that the IP multicast traffic is forwarded only to those ports that are associated with the IP multicast hosts. The IGMP software components run on both the Cisco router and the switch.
Note
For more information on IP multicast and IGMP, refer to RFC 1112. GMRP is described in IEEE 802.1p.
You can statically configure the multicast groups by entering the set cam static command. The multicast groups that are learned through IGMP snooping are dynamic. If you specify group membership for a multicast group address, your static setting supersedes any automatic manipulation by IGMP snooping or GMRP. The multicast group membership lists can consist of both user-defined settings and settings that are learned through IGMP snooping or GMRP.
Understanding How IGMP Snooping Works
Note
You cannot enable IGMP snooping on a switch if GMRP is already enabled on the switch.
Note
You can run IGMP snooping on any Catalyst 6500 series supervisor engine model (Supervisor Engine 1, Supervisor Engine 1A, Supervisor Engine 2, Supervisor Engine 720, and Supervisor Engine 32). A PFC is not required to enable IGMP snooping. Cisco Group Management Protocol (CGMP) is not supported on the Catalyst 6500 series switches, although the CGMP server is supported on the MSFC. To support the CGMP client devices, configure the MSFC as a CGMP server.
Note
IGMP version 3 snooping is not supported on the systems with a Supervisor Engine 1 or Supervisor Engine 1A.
IGMP snooping manages the multicast traffic at Layer 2 on the Catalyst 6500 series switches by allowing the directed switching of the IP multicast traffic.
The switches can use IGMP snooping to configure the Layer 2 interfaces dynamically so that the IP multicast traffic is forwarded only to those interfaces that have expressed interest in particular IP multicast traffic streams through the IGMP join and report messages.
Catalyst 6500 series switches can distinguish the IGMP control traffic from the multicast data traffic. When you enable IGMP on the switch, the IGMP control traffic is redirected to the CPU for further processing. This process is performed in the hardware by the specialized ASICs. The ASICs allow the switch to snoop the IGMP control traffic with no performance penalty.
Periodically, the router sends out general queries to all VLANs. As the multicast receivers respond to the router's queries, the switch intercepts them. Only the first IGMP join (report) per VLAN and per IP multicast group is forwarded to the router. Subsequent reports for the same VLAN and group are suppressed. The switch processor creates one entry per VLAN in the Layer 2 forwarding table for each MAC group from which it receives an IGMP join request. All hosts that are interested in this multicast traffic send the join requests and are added to the port list of this forwarding table entry. If a port is disabled, it is removed from all multicast group entries.
IGMP version 3 snooping uses source-based filtering and is the industry-designated standard protocol for the hosts to signal channel subscriptions in Source Specific Multicast (SSM). The source-based filtering enables the 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 Catalyst 6500 series switch, the switch maintains the IGMP version 3 states based on the IGMP version 3 reports that it receives from a port on a per-group, per-VLAN basis and either allows or blocks the source traffic on that port based on the type of IGMP version 3 message that it receives. If the switch receives the IMGP version 2 snooping reports for SSM, the reports are forwarded to the MSFC2 and a system error message is generated.
Note
For IGMP version 3 snooping, use Cisco IOS Release 12.1(11b)E1 or later releases on MSFC2.
IGMP Version 3 Snooping Restrictions
The following restrictions apply to IGMP version 3 snooping:
•
With software release 8.3(1), it is mandatory that you run Cisco IOS Release 12.2(17d)SXB1 if you plan on using IGMP version 3 snooping with MMLS.
•
IGMP version 3 snooping should be used with PIM-SSM only. For the IGMP version 3 reports that are received in non-SSM mode, IGMP version 2 snooping is performed.
•
IGMP version 3 snooping is supported for INCLUDE mode only. IGMP version 3 snooping is not supported for EXCLUDE mode. IGMP version 3 reports pertaining to EXCLUDE mode are not processed but are just flooded on the VLAN.
•
IGMP version 3 snooping will not discover the routers running Multicast OSPF (MOSPF) or Distance Vector Multicast Routing Protocol (DVMRP) in software release 8.3(1) and later releases.
•
SPAN, RSPAN, private VLANs, and RGMP are not supported with IGMP version 3 snooping.
•
IGMP version 3 snooping is supported for Single-Router Mode (SRM) only. Although Supervisor Engine 2 supports Dual-Router Mode (DRM), IGMP version 3 snooping does not support DRM.
•
IGMP version 3 snooping is not supported on the systems with a Supervisor Engine 1 or Supervisor Engine 1A.
•
*, G/m hardware switching for the SSM flows is supported for the ACEs that have only the permit action. The deny action should not be used for SSM. Configuring an ACE with the deny action when SSM is used may cause data loss for the IGMP version 2 snooping hosts, which operate under regular PIM sparse mode.
•
A system that is configured for Layer 2 switching supports only approximately 700 ACLs.
Joining a Multicast Group
In IGMP version 2, when a host wants to join an IP multicast group, it either responds to a router query or sends an IGMP join (also known as a join message) specifying the IP multicast group to which it wants to join (for example, group 224.1.2.3). The switch hardware recognizes that the packet is an IGMP report and redirects it to the switch CPU. The switch installs a new group entry for 01-00-5e-01-02-03 and adds the host port and the router port to that entry. The switch then relays the join from the host to all multicast router ports. The designated multicast router for the segment adds the outgoing interface (OIF) to the outgoing interface list (OIL) for the group and begins forwarding the multicast traffic for 224.1.2.3 to this segment.
When a second host in this VLAN wants to join group 244.1.2.3, it sends out an IGMP join for this group. The switch hardware recognizes that this is an IGMP control packet and redirects it to the switch CPU. Because the switch already has a group entry for 01-00-5e-01-02-03 in this VLAN, it only adds the second host port to the entry. Because this is not the first host joining the group, the switch suppresses the report (the switch does not send it to the router).
The IGMP version 3 reports are sent by the hosts to the 224.0.0.22 address. The multicast router keeps a state record for each group on an interface, and the switch maintains a state record for each group on a per-VLAN basis. The state records contain the multicast IP address, the group timer, the source timer, and the filter mode as specified by the hosts. The hosts can specify one of the following filter modes:
•
INCLUDE mode—In this mode, the host announces membership to a multicast group and provides a list of source IP addresses (the INCLUDE list) from which it wants to receive the traffic.
•
EXCLUDE mode—In this mode, the host announces membership to a multicast group and provides a list of source IP addresses (the EXCLUDE list) from which it does not want to receive the traffic. This mode indicates that the host wants to receive the traffic only from those sources with IP addresses that are not listed in the EXCLUDE list. To receive the traffic from all sources, a host expresses EXCLUDE mode membership with an empty EXCLUDE list.
Note
If IP MMLS is disabled, the IGMP compatibility mode changes to version 1 or version 2 as soon as version 1 or version 2 messages are received for a group on a VLAN (where the version 3 state previously existed for that particular group on that VLAN).
Constraining Multicast Traffic
When a host sends the multicast traffic to a group, the switch hardware does not recognize the stream as IGMP control packets. The packets are not redirected to the switch CPU. Instead, the multicast traffic is forwarded to the Media Access Control (MAC) group entry and the switch constrains the traffic to only those ports that have been added to that group entry.
The router sends the IGMP general queries. The switch floods these queries on all ports in the VLAN, and the hosts that are interested in a multicast group respond with an IGMP join for each group in which they are interested.
The switch intercepts these IGMP joins, and only the first join per VLAN and per IP multicast group is forwarded on the multicast router ports. The subsequent reports for the same VLAN and group are suppressed (not sent to the router). If you enable the switch for IGMP version 3 snooping, all joins are forwarded to the router ports.
Note
If you have CGMP switches in your network, join and leave suppression does not occur. In a network that has both IGMP version 2 and CGMP switches, all join and leave messages are forwarded to the multicast routers so that the CGMP join and leave messages can be generated by the router.
Leaving a Multicast Group
In a network running IGMP version 1 or 2, the designated multicast router for a segment continues forwarding the multicast traffic to that VLAN as long as at least one host in the VLAN wishes to receive the multicast traffic. When the hosts want to leave a multicast group, they can either ignore the periodic general queries that are sent by the multicast router (IGMP version 1 host behavior), or they can send an IGMP leave (IGMP version 2 host behavior). In the systems with a Supervisor Engine 1 or 2, when the switch receives a leave message, it sends out a MAC-based general query on the port on which it received the leave message to determine if any of the devices that are connected to this port are interested in the traffic for the specific multicast group. If this port is the last port in the VLAN, the switch sends a MAC-based general query to all the ports in the VLAN. The MAC-based general queries are addressed to the Layer 2 Group Destination Address (GDA) MAC address for which the IGMP leave message was received. At Layer 3, the MAC-based general queries are addressed to 244.0.0.1 (all hosts), and in the IGMP header, the group address field is set to 0.0.0.0.
If no IGMP join is received for any of the IP multicast groups that map to the MAC multicast group address, the port is removed from the multicast forwarding entry. If the port is not the last nonmulticast-router port in the entry, the switch suppresses the IGMP leave (does not send it to the router). If the port is the last nonmulticast-router port in the entry, the IGMP leave is forwarded to the multicast router ports and the MAC group forwarding entry is removed.
When the router receives the IGMP leave, it sends several IGMP group-specific queries. If no join messages are received in response to the queries, and there are no downstream routers that are connected through that interface, the router removes the interface from the OIL for that IP multicast group entry in the multicast routing table.
IGMP Fast-Leave Processing
IGMP snooping fast-leave processing allows the switch processor to remove an interface from the port list of a forwarding-table entry without first sending out a MAC-based general query on the port. When an IGMP leave is received on a port, the port is immediately removed from the multicast forwarding entry (or the entire entry is removed).
IGMP Fast-Block Processing
IGMP version 3 supports fast-block processing. If you enable fast-block processing on the switch, the switch immediately stops forwarding the multicast packets to a port when it receives a block or exclude message from a host connected to that port.
Note
Do not use the fast-leave processing feature if more than one host is connected to each port. If you enable fast-leave when more than one host is connected to a port, some hosts might be dropped inadvertently. Fast leave is supported with IGMP version 2 hosts only.
Understanding How GMRP Works
GMRP is a Generic Attribute Registration Protocol (GARP) application that provides a constrained multicast flooding facility similar to IGMP snooping. GMRP and GARP are industry-standard protocols that are defined by the IEEE. For detailed protocol operational information, refer to 802.1p.
The GMRP software components run on both the switch and on the host. (Cisco is not a source for GMRP host software.) On the host, in an IP multicast environment, you must use IGMP with GMRP; the host GMRP software spawns the Layer 2 GMRP versions of the host's Layer 3 IGMP control packets. The switch receives both the Layer 2 GMRP and the Layer 3 IGMP traffic from the host. The switch forwards the Layer 3 IGMP control packets to the router and uses the received GMRP traffic to constrain the multicasts at Layer 2 in the host's VLAN.
When a host wants to join an IP multicast group, it sends an IGMP join, which spawns a GMRP join. When the switch receives the GMRP join, it adds the port through which the join was received to the appropriate multicast group. The switch propagates the GMRP join to all the other hosts in the VLAN, one of which is typically the multicast source. When the source is multicasting to the group, the switch forwards the multicast only to the ports from which it received the join messages for the group.
The switch sends periodic GMRP queries. If a host wants to remain in a multicast group, it responds to the query and the switch does nothing. If a host does not want to remain in the multicast group, it can either send a leave message or not respond to the periodic queries from the switch. If the switch receives a leave message or receives no response from the host for the duration of the leaveall timer, the switch removes the host from the multicast group.
Note
To use GMRP in a routed environment, enable the GMRP forwardall option on all ports where the routers are attached. (See the "Enabling the GMRP Forward-All Option on a Switch Port" section.)
Understanding How RGMP Works
Without RGMP, all multicast routers receive all multicast data traffic entering the switch. With RGMP, a multicast router can request not to receive the multicast traffic if that router has no downstream receivers for the multicast traffic. Catalyst 6500 series switches support RGMP, which enables a switch to reduce network congestion by forwarding the multicast data traffic only to those routers that are configured to receive it.
Note
To use RGMP, you must enable IGMP snooping on the switch and Protocol Independent Multicast (PIM) on the routers. Only PIM sparse mode is currently supported.
All routers on the network must be RGMP capable. The RGMP-capable routers periodically send an RGMP hello message to the switch. The RGMP hello message tells the switch not to send the multicast data to the router unless an RGMP join has also been sent to the switch from that router. When an RGMP join is sent, the router is able to receive the multicast data. To learn how to set a router to receive the RGMP data, see the "RGMP-Related CLI Commands" section.
To stop receiving the multicast data, a router must send an RGMP leave message to the switch. To disable RGMP on a router, the router must send an RGMP bye message to the switch.
Table 51-1 provides a summary of the RGMP message types.
Table 51-1 RGMP Message Types
Description
|
Action
|
Hello
|
When RGMP is enabled on the router, no multicast data traffic is sent to the router by the switch unless an RGMP join is specifically sent for a group.
|
Bye
|
When RGMP is disabled on the router, all multicast data traffic is sent to the router by the switch.
|
Join
|
Multicast data traffic for a multicast MAC address from the Layer 3 group address G is sent to the router. These packets have group G in the Group Address field of the RGMP packet.
|
Leave
|
Multicast data traffic for the group G is not sent to the router. These packets have group G in the group address field of the RGMP packet.
|
Suppressing Multicast Traffic
On the Gigabit Ethernet ports, you can limit the amount of bandwidth to be used for the multicast traffic. Enter the set port broadcast command to specify a percentage of the total bandwidth to be used for the multicast traffic on the Gigabit Ethernet ports.
Rate-Limiting RPF Failure Traffic
In a redundant configuration where multiple routers connect to the same LAN segment, only one router forwards the multicast traffic from the source to the receivers on the outgoing interfaces. In this topology, only the Protocol Independent Multicast-designated forwarder (PIM-DF) forwards the data in the common VLAN, and the non-PIM-DF receives the forwarded multicast traffic. The redundant router (non-PIM-DF) must drop this traffic because it has arrived on the wrong interface and will fail the reverse path forwarding (RPF) check. The traffic that fails the RPF check is called the non-RPF traffic.
According to the multicast protocol specification, the router needs to receive the non-RPF packets for the PIM assert mechanism to function properly, so that all non-RPF packets cannot be dropped in the hardware.
PFC3A has enhanced hardware support for non-RPF packet rate limiting. On receiving a non-RPF packet, PFC3A creates a non-RPF entry (which contains source, group, and ingress interface information) in the NetFlow table, if there is no matching entry already present, and then bridges the non-RPF packet on the incoming VLAN and to MSFC3. The non-RPF packets that already have a matching NetFlow entry are only bridged on the incoming VLAN and are not sent to MSFC3.
The non-RPF entries in the NetFlow table are periodically aged out so that the non-RPF packets are leaked to MSFC3 for the PIM assert mechanism to function properly.
Rate limiting of RPF failures is enabled by default.
Enabling the Installation of Directly Connected Subnets
In PIM sparse mode, a first-hop router that is the designated router (DR) for the interface may need to encapsulate the source traffic in a PIM register message and unicast it to the rendezvous point (RP). To prevent the new sources for the group from being learned in the routing table, the (*,G) flows should remain completely hardware-switched flows. The (subnet/mask, 224/4) entries that are installed in the hardware FIB allow both (*,G) flows to remain completely hardware-switched flows, and new, directly connected sources to be learned correctly. The installation of directly connected subnets is enabled globally by default. One (subnet/mask, 224/4) is installed per PIM-enabled interface.
Enter the show mls ip multicast connected command to view these FIB entries.
To enable the installation of the directly connected subnets, perform this task:
Task
|
Command
|
Enable the installation of the directly connected subnets.
|
Router(config) # mls ip multicast connected
|
This example shows how to enable the installation of the directly connected subnets:
Router(config)# mls ip multicast connected
Understanding IGMP Querier
IGMP querier enables IGMP snooping within a VLAN where PIM and IGMP are not configured because the multicast traffic does not need to be routed.
Note
You must enable IGMP querier for IGMP snooping to work correctly in a VLAN in which no multicast routers are present.
When you configure IGMP querier for a VLAN, the switch sends out IGMP general query messages every 125 seconds and listens for the general query messages from the other switches. If the switch receives a general query, a querier election starts. A querier election across the switches is based either on an IP address or a MAC address. For an inbound query, if the source IP address is nonzero, the election is based on the IP address, and the switch with the lower source IP address becomes the querier. If the source IP address is zero for an inbound query, then the election is based on the source MAC address, and the switch with the lower MAC address wins the election and becomes the querier. The switch that becomes the nonquerier maintains an "other querier interval" timer. When this timer expires, the switch elects itself as the querier.
For information on enabling IGMP querier, see the "Enabling the IGMP Querier" section.
Redundancy for Multicast Traffic
Redundancy for multicast traffic requires the following conditions:
•
Unicast routing protocol such as OSPF or EIGRP
PIM uses RPF checks on the unicast routing table to determine the proper paths for multicast data to traverse. If a unicast routing path changes, PIM relies upon the unicast routing protocol (OSPF) to properly converge, so that the RPF checks used by PIM continue to work and show valid unicast paths to and from the source IP address of the server sourcing the multicast stream.
•
PIM configured on all related Layer 3 interfaces
The unicast routing table is used to do path selection for PIM. PIM uses RPF checks to ultimately determine the shortest path tree (SPT) between the client (receiver VLAN) and the source (multicast VLAN). Therefore, the objective of PIM is to find the shortest unicast path between the receiver subnet and the source subnet. You do not need to configure anything else for multicast when the unicast routing protocol is working as expected and PIM is configured on all the Layer 3 links associated with the unicast routing protocol.
Configuring IGMP Snooping on the Switch
IGMP snooping allows the switches to examine the IGMP packets and make the forwarding decisions based on their content.
Note
Quality of service (QoS) does not support the IGMP traffic when IGMP snooping is enabled.
These sections describe how to configure IGMP snooping:
•
Default IGMP Snooping Configuration
•
IGMP Snooping Configuration Guidelines
•
Enabling IGMP Snooping
•
Enabling IGMP Flooding
•
Specifying the IGMP Snooping Mode
•
Specifying the IGMP Leave-Query Type
•
Enabling IGMP Fast-Leave Processing
•
Enabling IGMP Version 3 Snooping
•
Enabling IGMP Version 3 Fast-Block Processing
•
Enabling IGMP Rate Limiting
•
Enabling the IGMP Querier
•
Displaying Multicast Router Information
•
Displaying Multicast Group Information
•
Displaying IGMP Snooping Statistics
•
Disabling IGMP Fast-Leave Processing
•
Disabling IGMP Snooping
Default IGMP Snooping Configuration
Table 51-2 shows the default IGMP snooping configuration.
Note
IGMP snooping is enabled by default in all supervisor engine software releases in the 7.x and 8.x release trains. It is enabled by default in software release 5.5(9) and later releases in the 5.x release train and in software release 6.3(1) and later releases in the 6.x train.
Table 51-2 IGMP Snooping Default Configuration
Feature
|
Default Value
|
IGMP snooping
|
Enabled
|
Multicast routers
|
None configured
|
IGMP Snooping Configuration Guidelines
This section describes the IGMP snooping configuration guidelines:
•
There is no proxy reporting support with IGMP version 3 snooping. With IGMP version 2 snooping, only the first join and the last leave are forwarded to the router. For the group-specific (GS) queries that are initiated by the router, the switch responds with a report if at least one port is present for the group. With IGMP version 3 snooping, all reports are forwarded to the router, and the GS, group, and source-specific (GSS) queries are flooded onto the VLAN to refresh the memberships.
•
At least one version 3 router must be present on the VLAN for IGMP version 3 snooping to work.
•
Unlike IGMP version 2 snooping, for IGMP version 3 snooping, no permanent entries can be added that would be retained across reboots.
•
IGMP version 2 snooping reports are captured and sent to the supervisor engine. The IGMP version 3 snooping reports are sent to the 224.0.0.22 address. Because snooping is not supported in this range, the reports are captured for the supervisor engine in addition to being flooded.
•
With this release of IGMP version 3 snooping, the RGMP, SPAN, and RSPAN interaction is not enabled.
•
IGMP querier interoperates only with IGMP version 2 snooping. Before you enable IGMP version 3 snooping, you must disable IGMP querier.
Enabling IGMP Snooping
Note
You cannot enable IGMP snooping if GMRP is enabled.
To enable IGMP snooping, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Enable IGMP snooping.
|
set igmp enable
|
Step 2
|
Verify that IGMP snooping is enabled.
|
show igmp statistics [vlan]
|
This example shows how to enable IGMP snooping and verify the configuration:
Console> (enable) set igmp enable
IGMP Snooping is enabled.
Console> (enable) show igmp statistics
IGMP statistics for vlan 1:
Group Specific Queries: 0
Group Specific Queries: 0
Group and Source Specific Queries: 2
MAC-Based General Queries: 0
Failures to add GDA to EARL: 0
Topology Notifications: 0
IGMP Leave msgs in the list: 0
IGMP V3 IS_IN messages: 13
IGMP V3 IS_EX messages: 5
IGMP V3 TO_IN messages: 0
IGMP V3 TO_EX messages: 1
IGMP V3 ALLOW messages: 0
IGMP V3 BLOCK messages: 1
Enabling IGMP Flooding
When you disable IGMP flooding, the source traffic is never flooded in the VLAN and is sent only to the router ports. IGMP flooding is enabled by default.
To enable or disable IGMP flooding, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Enable or disable IGMP flooding.
|
set igmp flooding {enable | disable}
|
Step 2
|
Display the IGMP flooding state.
|
show igmp flooding
|
These examples show how to enable and disable IGMP flooding:
Console> (enable) set igmp flooding enable
IGMP Flooding enabled (default)
Console> (enable) set igmp flooding disable
Console> (enable) show igmp flooding
Mcast flooding disabled
Specifying the IGMP Snooping Mode
IGMP snooping runs in either IGMP-only mode or IGMP-CGMP mode. The switch dynamically chooses either IGMP-only or IGMP-CGMP mode, depending on the traffic that is present on the network. IGMP-only mode is used in the networks with no CGMP devices. IGMP-CGMP mode is used in the networks with both IGMP and CGMP devices. Auto mode overrides the dynamic switching of the modes.
To specify the IGMP snooping mode, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Specify the IGMP snooping mode.
|
set igmp mode {igmp-only | igmp-cgmp | auto}
|
Step 2
|
Display the IGMP snooping mode.
|
show igmp mode
|
This example shows how to specify the IGMP mode to IGMP-only and verify the configuration:
Console> (enable) set igmp mode igmp-only
IGMP mode set to igmp-only
Console> (enable) show igmp mode
IGMP Operational Mode: igmp-only
IGMP Address Aliasing Mode: normal
Specifying the IGMP Leave-Query Type
You can specify the IGMP leave-query type to be used when a port receives a leave message from a host. When you specify a MAC-based general query, a leave query is sent for the exact GDA, and the version 1 or 2 hosts that have at least one membership for a group using that GDA will respond. When you specify a general query, the reports from all version 1 and 2 hosts for all groups are registered. You can also specify the auto mode. If you specify auto mode, a group-specific query is sent if there are no version 1 hosts in the network and a general query is sent if there are version 1 hosts in the network. A group-specific query provides faster network convergence.
By default, a MAC-based general query is sent when a port receives a leave message.
To specify the leave-query type, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Specify the IGMP leave-query type.
|
set igmp leave-query-type auto-mode | general-query | mac-gen-query
|
Step 2
|
Display the IGMP leave-query type.
|
show igmp leave-query-type
|
This example shows how to set the IGMP leave-query type to a group-specific-query:
Console> (enable) set igmp leave-query-type auto-mode
IGMP Leave Query Type set to auto-mode
Console> (enable) show igmp leave-query-type
IGMP Leave Query Type : Group-Specific Query
Enabling IGMP Fast-Leave Processing
To enable IGMP fast-leave processing, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Enable IGMP fast-leave processing on the switch.
|
set igmp fastleave enable
|
Step 2
|
Verify that IGMP fast-leave processing is enabled.
|
show multicast protocols status
|
This example shows how to enable IGMP fast-leave processing and verify the configuration:
Console> (enable) set igmp fastleave enable
IGMP fastleave set to enable.
Warning:Can cause disconnectivity if there are more than one host joining the
same group per access port.
console> (enable) show multicast protocols status
IGMP V3 processing disabled
IGMP V3 fastblock feature disabled
Enabling IGMP Version 3 Snooping
To enable IGMP version 3 snooping, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Enable IGMP version 3 snooping.
|
set igmp v3-processing enable
|
Step 2
|
Display IGMP version 3 snooping information.
|
show multicast v3-group show multicast router
|
This example shows how to enable IGMP snooping and verify the configuration:
Console> (enable) set igmp v3-processing enable
IGMP V3 processing enabled
Console> (enable) show multicast v3-group
Displaying V3 group information for all vlans
---------------------------------------------
(G,C): (227.1.1.1,2), V3 state: INC
V1/V2 Compatibility mode: none (V3)
Include list: 2.2.2.6, Src timer 125 sec, Ports: 6/29 15/1
2.2.2.5, Src timer 125 sec, Ports: 6/29 15/1
(G,C): (227.1.1.1,60), V3 state: INC
V1/V2 Compatibility mode: none (V3)
Include list: 2.2.2.7, Src timer 115 sec, Ports: 13/30 15/1
2.2.2.5, Src timer 115 sec, Ports: 13/30 15/1
2.2.2.8, Src timer 115 sec, Ports: 13/30 15/1
Console> (enable) show multicast v3-group 2 227.1.1.1
----IGMP V3 information----
(G,C): (227.1.1.1,2), V3 state: INC
V1/V2 Compatibility mode: none (V3)
Include list: 2.2.2.6, Src timer 125 sec, Ports: 6/29 15/1
2.2.2.5, Src timer 125 sec, Ports: 6/29 15/1
Console> (enable) show multicast v3-group
Displaying V3 group information for all vlans
---------------------------------------------
(G,C): (227.1.1.1,2), V3 state: EX
V1/V2 Compatibility mode: none (V3) Group timer: 125 sec
Exclude list: 2.2.2.6, Excluded Ports: 6/29
2.2.2.5, Excluded Ports: 6/29
Console> (enable) show multicast router
-------------- ----------------
Total Number of Entries = 1
Enabling IGMP Version 3 Fast-Block Processing
To enable IGMP version 3 fast-block processing, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Enable IGMP fast-block processing.
|
set igmp fastblock enable
|
Step 2
|
Verify that IGMP fast-block processing is enabled.
|
show multicast protocols status
|
This example shows how to enable IGMP fast-block processing and verify the configuration:
Console> (enable) set igmp fastblock enable
IGMP V3 fastblock enabled
Console> (enable) show multicast protocols status
IGMP V3 processing enabled
IGMP V3 fastblock feature enabled
Enabling IGMP Rate Limiting
Enter the set multicast ratelimit command to rate limit the multicast packets. The multicast packet rate limiting is disabled by default, and the default rate limit is 0 packets per second (pps).
To enable multicast rate limiting and specify a rate limit, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Enable multicast rate limiting and specify a rate limit.
|
set multicast ratelimit {disable | enable}
set multicast ratelimit rate rate
|
Step 2
|
Display multicast rate limiting information.
|
show multicast ratelimit-info
|
This example shows how to enable multicast rate limiting and specify a rate limit:
Console> (enable) set multicast ratelimit enable
Enabling Multicast Ratelimiting
Set a non-zero threshold rate to operationally enable multicast ratelimiting
Console> (enable) set multicast ratelimit rate 1000
Multicast ratelimit watermark rate is set to 1000 pps
Console> (enable) show multicast ratelimit-info
Multicast ratelimiting enabled
Ratelimit threshold rate: 1000 pps
VLAN RateLimited-Since Ratelimited-for(seconds)
---- ------------------ ----------------------
Enabling the IGMP Querier
Enter the IGMP querier to support IGMP snooping within a VLAN where PIM and IGMP are not configured because the multicast traffic does not need to be routed.
Note
You can enable the IGMP querier on all the switches in the VLAN. One switch is elected as the querier.
To enable the IGMP querier in a VLAN, perform one of these tasks in privileged mode:
Task
|
Command
|
Enable IGMP querier on a VLAN or on all VLANs.
|
set igmp querier {disable | enable} vlan
|
Specify the time interval between the general queries sent by the switch. The default is 125 seconds.
|
set igmp querier vlan qi val
|
Specify the amount of time that the switch should wait before electing itself as the querier in the absence of general queries. The default is 300 seconds.
|
set igmp querier vlan oqi val
|
Specify an IP address for the IGMP querier. If you do not specify an IP address, the default IP address is 0.0.0.0.
|
set igmp querier address ip_address vlan
|
Display IGMP querier information.
|
show igmp querier information
|
This example shows how to enable the IGMP querier and display querier information:
Console> (enable) set igmp querier enable 4001
IGMP querier is enabled for VLAN(s) 4001
Console> (enable) set igmp querier 4001 qi 130
QI for VLAN(s) 4001 set to 130 second(s)
Console> (enable) set igmp querier address 40.1.1.1 4001
Querier Address for vlan 4001 set to 40.1.1.1
Console> (enable) show igmp querier information
VLAN Querier Address Querier State Query Tx Count QI (sec) OQI (sec)
---- --------------- --------------------- -------------- -------- --------
4001 40.1.1.1 QUERIER 0 130 300
Displaying Multicast Router Information
When you enable IGMP snooping, the switch automatically learns to which ports a multicast router is connected.
To display the dynamically learned multicast router information, perform one of these tasks in privileged mode:
Task
|
Command
|
Display information on the dynamically learned and manually configured multicast router ports.
|
show multicast router [mod/port] [vlan_id]
|
Display information only on those multicast router ports that are learned dynamically using IGMP snooping.
|
show multicast router igmp [mod/port] [vlan_id]
|
This example shows how to display information on all multicast router ports (the asterisk [*] next to the multicast router on port 2/1 indicates that the entry was configured manually):
Console> (enable) show multicast router
-------------- ----------------
Total Number of Entries = 3
'@' - IGMP-Querier Router
This example shows how to display only those multicast router ports that were learned dynamically through IGMP:
Console> (enable) show multicast router igmp
--------- ----------------
Total Number of Entries = 2
'*' - Configured
'+' - RGMP-capable
'#' - Channeled Port
'$' - IGMP-V3 Router
'@' - IGMP-Querier Router
Displaying Multicast Group Information
To display information about the multicast groups, perform one of these tasks in privileged mode:
Task
|
Command
|
Display information about the multicast groups.
|
show multicast group [mac_addr] [vlan_id]
|
Display information only about the multicast groups that are learned dynamically through IGMP.
|
show multicast group igmp [mac_addr] [vlan_id]
|
Display the total number of multicast addresses (groups) in each VLAN.
|
show multicast group count [vlan_id]
|
Display the total number of multicast addresses (groups) in each VLAN that were learned dynamically through IGMP.
|
show multicast group count igmp [vlan_id]
|
This example shows how to display information about all multicast groups on the switch:
Console> (enable) show multicast group
VLAN Dest MAC/Route Des Destination Ports or VCs / [Protocol Type]
---- ------------------ ----------------------------------------------------
1 01-00-11-22-33-44* 2/6-12
1 01-11-22-33-44-55* 2/6-12
1 01-22-33-44-55-66* 2/6-12
1 01-33-44-55-66-77* 2/6-12
Total Number of Entries = 4
Displaying IGMP Snooping Statistics
To display the IGMP snooping statistics on the switch, perform this task:
Task
|
Command
|
Display the IGMP snooping statistics.
|
show igmp statistics [vlan_id]
|
This example shows how to display the IGMP snooping statistics:
Console> (enable) show igmp statistics
IGMP statistics for vlan 1:
Group Specific Queries: 0
Group Specific Queries: 0
Group and Source Specific Queries: 0
MAC-Based General Queries: 0
Failures to add GDA to EARL: 0
Topology Notifications: 0
IGMP Leave msgs in the list: 0
IGMP V3 IS_IN messages: 0
IGMP V3 IS_EX messages: 0
IGMP V3 TO_IN messages: 0
IGMP V3 TO_EX messages: 0
IGMP V3 ALLOW messages: 0
IGMP V3 BLOCK messages: 0
Disabling IGMP Fast-Leave Processing
To disable IGMP fast-leave processing, perform this task in privileged mode:
Task
|
Command
|
Disable IGMP fast-leave processing.
|
set igmp fastleave disable
|
This example shows how to disable IGMP fast-leave processing:
Console> (enable) set igmp fastleave disable
IGMP fastleave set to disable.
Disabling IGMP Snooping
To disable IGMP snooping, perform this task in privileged mode:
Task
|
Command
|
Disable IGMP snooping.
|
set igmp disable
|
This example shows how to disable IGMP snooping:
Console> (enable) set igmp disable
IGMP feature for IP multicast disabled
Configuring GMRP on the Switch
These sections describe how to configure the GARP Multicast Registration Protocol (GMRP):
•
GMRP Software Requirements
•
Default GMRP Configuration
•
Enabling GMRP Globally
•
Enabling GMRP on Individual Switch Ports
•
Disabling GMRP on Individual Switch Ports
•
Enabling the GMRP Forward-All Option on a Switch Port
•
Disabling the GMRP Forward-All Option on a Switch Port
•
Configuring GMRP Registration
•
Setting the GARP Timers
•
Displaying GMRP Statistics
•
Clearing GMRP Statistics
•
Disabling GMRP Globally on the Switch
Note
For an overview of GMRP operation, see the "Understanding How GMRP Works" section.
GMRP Software Requirements
GMRP requires supervisor engine software release 5.2 or later releases.
Default GMRP Configuration
Table 51-3 shows the default GMRP configuration.
Table 51-3 GMRP Default Configuration
Feature
|
Default Value
|
GMRP enable state
|
Disabled
|
GMRP per-port enable state
|
Disabled
|
GMRP forward all
|
Disabled on all ports
|
GMRP registration
|
Normal on all ports
|
GARP/GMRP timers
|
• Join time: 200 ms
• Leave time: 600 ms
• Leaveall time: 10,000 ms
|
Enabling GMRP Globally
Note
You cannot enable GMRP if IGMP snooping is enabled.
To enable GMRP globally, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Enable GMRP globally.
|
set gmrp enable
|
Step 2
|
Verify the configuration.
|
show gmrp configuration
|
This example shows how to enable GMRP globally and verify the configuration:
Console> (enable) set gmrp enable
Console> (enable) show gmrp configuration
Global GMRP Configuration:
GMRP Feature is currently enabled on this switch.
GMRP Timers (milliseconds):
Port based GMRP Configuration:
Port GMRP Status Registration ForwardAll
-------------------------------------------- ----------- ------------ ----------
1/1-2,3/1,6/1-48,7/1-24 Enabled Normal Disabled
Enabling GMRP on Individual Switch Ports
Note
You can change the per-port GMRP configuration regardless of whether GMRP is enabled globally. However, GMRP will not function on any ports until you enable it globally. For information on configuring GMRP globally, see the "Enabling GMRP Globally" section.
To enable GMRP on the individual switch ports, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Enable GMRP on an individual switch port.
|
set port gmrp enable mod/port
|
Step 2
|
Verify the configuration.
|
show gmrp configuration
|
This example shows how to enable GMRP on port 6/12 and verify the configuration:
Console> (enable) set port gmrp enable 6/12
GMRP enabled on port 6/12.
Console> (enable) show gmrp configuration
Global GMRP Configuration:
GMRP Feature is currently enabled on this switch.
GMRP Timers (milliseconds):
Port based GMRP Configuration:
Port GMRP Status Registration ForwardAll
-------------------------------------------- ----------- ------------ ----------
1/1-2,3/1,6/1-9,6/12,6/15-48,7/1-24 Enabled Normal Disabled
6/10-11,6/13-14 Disabled Normal Disabled
Disabling GMRP on Individual Switch Ports
Note
You can change the per-port GMRP configuration regardless of whether GMRP is enabled globally. However, GMRP will not function on any ports until you enable it globally. For information on configuring GMRP globally, see the "Enabling GMRP Globally" section.
To disable GMRP on the individual switch ports, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Disable GMRP on the individual switch ports.
|
set port gmrp disable mod/port
|
Step 2
|
Verify the configuration.
|
show gmrp configuration
|
This example shows how to disable GMRP on ports 6/10-14 and verify the configuration:
Console> (enable) set port gmrp disable 6/10-14
GMRP disabled on ports 6/10-14.
Console> (enable) show gmrp configuration
Global GMRP Configuration:
GMRP Feature is currently enabled on this switch.
GMRP Timers (milliseconds):
Port based GMRP Configuration:
Port GMRP Status Registration ForwardAll
-------------------------------------------- ----------- ------------ ----------
1/1-2,3/1,6/1-9,6/15-48,7/1-24 Enabled Normal Disabled
6/10-14 Disabled Normal Disabled
Enabling the GMRP Forward-All Option on a Switch Port
When you enable the GMRP forward-all option on a port, a copy of all multicast traffic that is registered on the switch is forwarded to that port. Enable the forward-all option on any port that is connected to a router that needs to receive any multicasts (routers do not support GMRP and cannot send GMRP join messages). The forward-all option can also be used to forward all registered multicast traffic to a port with a network analyzer or probe attached.
To enable the GMRP forward-all option on a switch port, perform this task in privileged mode:
Task
|
Command
|
Enable the GMRP forward-all option on a switch port.
|
set gmrp fwdall enable mod/port
|
This example shows how to enable the GMRP forward-all option on port 1/1:
Console> (enable) set gmrp fwdall enable 1/1
GMRP Forward All groups option enabled on port 1/1.
Disabling the GMRP Forward-All Option on a Switch Port
To disable the GMRP forward-all option on a switch port, perform this task in privileged mode:
Task
|
Command
|
Disable the GMRP forward-all option on a switch port.
|
set gmrp fwdall disable mod/port
|
This example shows how to disable the GMRP forward-all option on port 1/1:
Console> (enable) set gmrp fwdall disable 1/1
GMRP Forward All groups option disabled on port 1/1.
Configuring GMRP Registration
These sections describe how to configure the GMRP registration modes on the switch ports:
•
Setting Normal Registration
•
Setting Fixed Registration
•
Setting Forbidden Registration
Setting Normal Registration
Configuring a switch port in normal registration mode allows dynamic GMRP multicast registration and deregistration on the port. Normal mode is the default on all switch ports.
To set the normal registration on a switch port, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Set the normal registration on a switch port.
|
set gmrp registration normal mod/port
|
Step 2
|
Verify the configuration.
|
show gmrp configuration
|
This example shows how to set normal registration on port 2/10:
Console> (enable) set gmrp registration normal 2/10
GMRP Registration is set normal on port 2/10.
Setting Fixed Registration
When you configure a switch port in fixed registration mode, all the multicast groups that are currently registered on all ports are registered on the port, but the port ignores any subsequent registrations or deregistrations on other ports. A switch port in fixed registration mode continues to register the multicast groups that are specific to the port. You must return the port to normal registration mode to deregister the multicast groups on the port.
To set the fixed registration on a switch port, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Set the fixed registration on a switch port.
|
set gmrp registration fixed mod/port
|
Step 2
|
Verify the configuration.
|
show gmrp configuration
|
This example shows how to set the fixed registration on port 2/10 and verify the configuration:
Console> (enable) set gmrp registration fixed 2/10
GMRP Registration is set fixed on port 2/10.
Console> (enable) show gmrp configuration
Global GMRP Configuration:
GMRP Feature is currently enabled on this switch.
GMRP Timers (milliseconds):
Port based GMRP Configuration:
GMRP-Status Registration ForwardAll Port(s)
----------- ------------ ---------- --------------------------------------------
Enabled Normal Disabled 1/1-4
Enabled Fixed Disabled 2/10
Setting Forbidden Registration
Setting a switch port in forbidden registration mode deregisters all GMRP multicasts and prevents any further GMRP multicast registration on the port.
To set the forbidden registration on a switch port, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Set the forbidden registration on a switch port.
|
set gmrp registration forbidden mod/port
|
Step 2
|
Verify the configuration.
|
show gmrp configuration
|
This example shows how to set the forbidden registration on port 2/10 and verify the configuration:
Console> (enable) set gmrp registration forbidden 2/10
GMRP Registration is set forbidden on port 2/10.
Console> (enable) show gmrp configuration
Global GMRP Configuration:
GMRP Feature is currently enabled on this switch.
GMRP Timers (milliseconds):
Port based GMRP Configuration:
GMRP-Status Registration ForwardAll Port(s)
----------- ------------ ---------- --------------------------------------------
Enabled Normal Disabled 1/1-4
Enabled Forbidden Disabled 2/10
Setting the GARP Timers
Note
The commands set gmrp timer and show gmrp timer are aliases for set garp timer and show garp timer. The aliases may be used if desired.
Note
Modifying the GARP timer values affects the behavior of all GARP applications running on the switch, not just GMRP. (For example, GVRP uses the same timers.)
Note
The only ports that send out the GMRP leaveall messages are the ports that have previously received the GMRP joins.
You can modify the default GARP timer values on the switch.
When setting the timer values, the value for leave must be equal to or greater than three times the join value (leave >= join * 3). The value for leaveall must be greater than the value for leave (leaveall > leave). The more registered attributes on the switch, the greater you should configure the difference between the leave value and the join value.
For better performance on the switches with many registered multicast groups, increase the timer values to the order of seconds.
If you attempt to set a timer value that does not adhere to these rules, an error is returned. For example, if you set the leave timer to 600 ms and you attempt to configure the join timer to 350 ms, an error is returned. Set the leave timer to at least 1050 ms, and then set the join timer to 350 ms.
Caution 
Set the same GARP timer values on all Layer 2-connected devices. If the GARP timers are set differently on the Layer 2-connected devices, the GARP applications (for example, GMRP and GVRP) do not operate successfully.
To set the GARP timer values, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Set the GARP timer values.
|
set garp timer {join | leave | leaveall} timer_value
|
Step 2
|
Verify the configuration.
|
show garp timer
|
This example shows how to set the GARP timers and verify the configuration:
Console> (enable) set garp timer leaveall 12000
GMRP/GARP leaveAll timer value is set to 12000 milliseconds.
Console> (enable) set garp timer leave 650
GMRP/GARP leave timer value is set to 650 milliseconds.
Console> (enable) set garp timer join 300
GMRP/GARP join timer value is set to 300 milliseconds.
Console> (enable) show garp timer
Timer Timer Value (milliseconds)
-------- --------------------------
Displaying GMRP Statistics
To display the GMRP statistics on the switch, perform this task in privileged mode:
Task
|
Command
|
Display the GMRP statistics.
|
show gmrp statistics [vlan_id]
|
This example shows how to display the GMRP statistics for VLAN 23:
Console> show gmrp statistics 23
GMRP Statistics for vlan <23>:
Total valid GMRP Packets Received:500
Total valid GMRP Packets Transmitted:600
Total valid GMRP Packets Received:0
Total GMRP packets dropped:0
Total GMRP Registrations Failed:0
Clearing GMRP Statistics
To clear all GMRP statistics on the switch, perform this task in privileged mode:
Task
|
Command
|
Clear the GMRP statistics.
|
clear gmrp statistics {vlan_id | all}
|
This example shows how to clear the GMRP statistics for all VLANs:
Console> (enable) clear gmrp statistics all
Disabling GMRP Globally on the Switch
To disable GMRP globally on the switch, perform this task in privileged mode:
Task
|
Command
|
Disable GMRP globally on the switch.
|
set gmrp disable
|
This example shows how to disable GMRP globally on the switch:
Console> (enable) set gmrp disable
Configuring Multicast Router Ports and Group Entries on the Switch
These sections describe how to specify the multicast router ports manually and configure the multicast group entries:
•
Specifying Multicast Router Ports
•
Configuring Multicast Groups
•
Clearing Multicast Router Ports
•
Clearing Multicast Group Entries
Specifying Multicast Router Ports
When you enable IGMP snooping, the switch automatically learns to which ports a multicast router is connected. However, you can manually specify the multicast router ports.
To specify the multicast router ports manually, perform this task in privileged mode:
| |
Task
|
Command
|
Step 1
|
Manually specify a multicast router port.
|
set multicast router mod/port
|
Step 2
|
Verify the configuration.
|
show multicast router [igmp | rgmp][mod/port] [vlan_id]
|
This example shows how to specify a multicast router port manually and verify the configuration (the asterisk [*] next to the multicast router on port 2/2 indicates that the entry was configured manually):
Console> (enable) set multicast router 2/2
Port 2/2 added to multicast router port list.
console> (enable) show multicast router
-------------- ----------------
Total Number of Entries = 3
'@' - IGMP-Querier Router
Configuring Multicast Groups
To configure a multicast group manually, perform this task in privileged mode:
Note
With software release 7.1(1) and later releases, the maximum number of Layer 2 multicast entries is 15488.
| |
Task
|
Command
|
Step 1
|
Add one or more multicast MAC addresses to the CAM table.
|
set cam {static | permanent} multicast_mac mod/port [vlan]
|
Step 2
|
Verify the multicast group configuration.
|
show multicast group [mac_addr] [vlan_id]
|
This example shows how to configure the multicast groups manually and verify the configuration (the asterisks indicate that the entry was manually configured):
Console> (enable) set cam static 01-00-11-22-33-44 2/6-12
Static multicast entry added to CAM table.
Console> (enable) set cam static 01-11-22-33-44-55 2/6-12
Static multicast entry added to CAM table.
Console> (enable) set cam static 01-22-33-44-55-66 2/6-12
Static multicast entry added to CAM table.
Console> (enable) set cam static 01-33-44-55-66-77 2/6-12
Static multicast entry added to CAM table.
Console> (enable) show multicast group
VLAN Dest MAC/Route Des Destination Ports or VCs / [Protocol Type]
---- ------------------ ----------------------------------------------------
1 01-00-11-22-33-44* 2/6-12
1 01-11-22-33-44-55* 2/6-12
1 01-22-33-44-55-66* 2/6-12
1 01-33-44-55-66-77* 2/6-12
Total Number of Entries = 4
Clearing Multicast Router Ports
To clear the manually configured multicast router ports, perform one of these tasks in privileged mode:
Task
|
Command
|
Clear the specific, manually configured multicast router ports.
|
clear multicast router mod/port
|
Clear all manually configured multicast router ports.
|
clear multicast router all
|
This example shows how to clear a manually configured multicast router port:
Console> (enable) clear multicast router 2/12
Port 2/12 cleared from multicast router port list.
Clearing Multicast Group Entries
To clear the manually configured multicast group entries from the CAM table, perform this task in privileged mode:
Task
|
Command
|
Clear a multicast group entry from the CAM table.
|
clear cam mac_addr [vlan]
|
This example shows how to clear a multicast group entry from the CAM table:
Console> (enable) clear cam 01-11-22-33-44-55 1
Understanding How RGMP Works
RGMP constrains the multicast traffic that exits the switch through the ports to which only the disinterested multicast routers are connected. Catalyst 6500 series switches support RGMP, which enables a switch to reduce network congestion by forwarding the multicast data traffic to only those routers that are configured to receive it.
Note
To use RGMP, you must enable IGMP snooping on the switch. IGMP snooping constrains the multicast traffic that exits through the switch ports to which the hosts are connected. IGMP snooping does not constrain the traffic that exits through the ports to which one or more multicast routers are connected.
Note
You must enable PIM on all routers and switches for RGMP to work. Currently, only PIM sparse mode is supported.
All routers on the network must be RGMP capable. RGMP-capable routers send an RGMP hello message to the switch periodically. The RGMP hello message tells the switch not to send the multicast data to the router unless an RGMP join message has also been sent to the switch from that router. When an RGMP join message is sent, the router is able to receive the multicast data. To learn how to set a router to receive the RGMP data, see the "RGMP-Related CLI Commands" section.
To stop receiving the multicast data, a router must send an RGMP leave message to the switch. To disable RGMP on a router, the router must send an RGMP bye message to the switch.
Table 51-4 provides a summary of the RGMP packet types.
Table 51-4 RGMP Packet Types
Description
|
Action
|
Hello
|
When RGMP is enabled on the router, no multicast data traffic is sent to the router by the switch unless an RGMP join is specifically sent for a group.
|
Bye
|
When RGMP is disabled on the router, all multicast data traffic is sent to the router by the switch.
|
Join
|
Multicast data traffic for a multicast MAC address from the Layer 3 group address G is sent to the router. These packets have group G in the Group Address field of the RGMP packet.
|
Leave
|
Multicast data traffic for the group G is not sent to the router. These packets have group G in the group address field of the RGMP packet.
|
These restrictions apply to RGMP:
•
Sparse mode only—RGMP supports PIM sparse mode only. RGMP does not support PIM dense mode. RGMP explicitly supports the two AutoRP groups in dense mode by not restricting the traffic to those groups but by flooding it to all router ports. For this reason, you should configure PIM sparse-dense mode. If you configure groups other than the AutoRP groups for dense mode, their traffic will not be correctly forwarded through the router ports that have been enabled for RGMP.
•
To effectively constrain the multicast traffic with RGMP, connect the RGMP-enabled routers to separate the ports on the RGMP-enabled switches.
•
RGMP constrains only the traffic that exits through the ports on which it detects an RGMP-enabled router. If a non-RGMP enabled router is detected on a port, that port receives all multicast traffic.
•
RGMP does not support the directly connected sources in the network. A directly connected source will send the traffic into the network without signaling this through RGMP or PIM. This traffic will not be received by an RGMP-enabled router unless the router already requested receipt of that group through RGMP. This restriction applies to the hosts and to the functions in the routers that source the multicast traffic, such as the ping and mtrace commands, and the multicast applications that source the multicast traffic, such as UDPTN.
•
RGMP supports the directly connected receivers in the network. The traffic to these receivers will be constrained by IGMP snooping, or if the receiver is a router, by PIM and RGMP. CGMP is not supported in the networks where RGMP is enabled on the routers. Enabling RGMP and CGMP on a router interface is mutually exclusive. If RGMP is enabled on an interface, CGMP is silently disabled or vice versa.
•
The following properties of RGMP are the same as for IGMP snooping:
–
RGMP constrains the traffic that is based on the multicast group, not on the sender's IP address.
–
If spanning-tree topology changes occur in the network, the state is not flushed as it is with CGMP.
–
RGMP does not constrain the traffic for multicast groups 224.0.0.x (x = 0...255), which allow use of the PIMv2 bootstrap router (BSR) in an RGMP-controlled network.
–
RGMP in the Cisco switches operates on the MAC addresses, not on the IP multicast addresses. Because multiple IP multicast addresses can map to one MAC address (see RFC 1112), RGMP cannot differentiate between the IP multicast groups that might map to a MAC address.
–
The capability of the switch to constrain the traffic is limited by its content addressable memory (CAM) table capacity.
Configuring RGMP on the Switch
These sections describe the commands for configuring RGMP:
•
Configuring RGMP on the Supervisor Engine
•
Configuring RGMP on the MSFC
Configuring RGMP on the Supervisor Engine
These sections describe the commands for configuring RGMP:
•
Default RGMP Configuration
•
Enabling and Disabling RGMP
•
Displaying RGMP Group Information
•
Displaying RGMP VLAN Statistics
•
Displaying RGMP-Capable Router Ports
•
Clearing RGMP Statistics
•
RGMP-Related CLI Commands
Default RGMP Configuration
RGMP is disabled by default.
Enabling and Disabling RGMP
Note
To enable RGMP, you must have IGMP snooping enabled.
To enable or disable RGMP, perform one of these tasks in privileged mode:
Task
|
Command
|
Enable RGMP.
|
set rgmp enable
|
Disable RGMP.
|
set rgmp disable
|
This example shows how to enable RGMP:
Console> (enable) set rgmp enable
This example shows how to disable RGMP:
Console> (enable) set rgmp disable
Displaying RGMP Group Information
Use these commands to display all multicast groups that were joined by one or more RGMP-capable routers and to display the count of multicast groups that were joined by one or more RGMP-capable routers.
To display RGMP group information, perform one of these tasks in privileged mode:
Task
|
Command
|
Display all multicast groups that were joined by one or more RGMP-capable routers.
|
show rgmp group [mac_addr] [vlan_id]
|
Display the count of multicast groups that were joined by one or more RGMP-capable routers.
|
show rgmp group count [vlan_id]
|
This example shows how to display RGMP group information:
Console> (enable) show rgmp group
Vlan Dest MAC/Route Des RGMP Joined Router Ports
---------------------------------------------------------------------------------------
1 01-00-5e-00-01-28 5/1,5/15
2 01-00-5e-27-23-70* 3/1, 5/1
Total Number of Entries = 3
Console> (enable) show rgmp group count 1
Total Number of Entries = 2
Displaying RGMP VLAN Statistics
To display the RGMP statistics for a given VLAN, perform this task in privileged mode:
Task
|
Command
|
Display the RGMP statistics for a specified VLAN.
|
show rgmp statistics [vlan]
|
This example shows how to display the RGMP statistics for a specified VLAN:
Console> (enable) show rgmp statistics 23
RGMP Statistics for vlan <23>:
Displaying RGMP-Capable Router Ports
This command displays the detected RGMP-capable router ports. A "+" in front of the port indicates that it is an RGMP-capable router.
To display the RGMP-capable router ports, perform this task in privileged mode:
Task
|
Command
|
Display the RGMP-capable router ports.
|
show multicast router [igmp | rgmp] [mod/port] [vlan_id]
|
This example shows how to display the ports that are connected to the RGMP-capable routers:
Console> (enable) show multicast router
-------------- ----------------
Total Number of Entries = 3
'@' - IGMP-Querier Router
This example shows how to display only the RGMP-capable router ports:
Console> (enable) show multicast router rgmp
-------------- ----------------
Total Number of Entries = 2
'@' - IGMP-Querier Router
Clearing RGMP Statistics
This command clears the stored RGMP statistics.
To clear the RGMP statistics, perform this task in privileged mode:
Task
|
Command
|
Clear the RGMP statistics.
|
clear rgmp statistics
|
This example shows how to clear the RGMP statistics:
Console> (enable) clear rgmp statistics
RGMP statistics cleared.
RGMP-Related CLI Commands
This command enables or disables the RGMP-related commands from the router.
To enable or disable RGMP, perform one of these tasks in configuration mode:
Task
|
Command
|
Enable RGMP.
|
Router(config)# ip rgmp
|
Disable RGMP.
|
Router(config)# no ip rgmp
|
This command enables or disables RGMP debugging.
To enable or disable RGMP debugging, perform one of these tasks in privileged mode:
Task
|
Command
|
Enable RGMP debugging.
|
Router# debug ip rgmp [group-name | group-address]
|
Disable RGMP debugging.
|
Router# no debug ip rgmp [group-name | group-address]
|
Configuring RGMP on the MSFC
To configure RGMP on a VLAN interface on the MSFC, perform this task:
| |
Task
|
Command
|
Step 1
|
Access VLAN interface configuration mode.
|
Router(config)# interface vlan vlan_ID
|
Step 2
|
Enable RGMP.
|
Router(config-if)# ip rgmp
|
You can use the debug ip rgmp command to monitor RGMP on the MSFC.
Displaying the Multicast Protocol Status
This command displays the status (enabled or disabled) of the Layer 2 multicast protocols on the switch.
To display the multicast protocol status, perform this task in privileged mode:
Task
|
Command
|
Display the multicast protocol status.
|
show multicast protocols status
|
This example shows how to display the multicast protocol status:
Console> (enable) show multicast protocols status
IGMP V3 processing disabled
IGMP V3 fastblock feature disabled
Understanding How Bidirectional PIM Works
Supervisor Engine 720 supports the hardware forwarding of the bidirectional Protocol Independent Multicast (PIM) groups. To support the bidirectional PIM groups, Supervisor Engine 720 implements a new mode called designated forwarder (DF) mode. The designated forwarder is the router that is elected to forward the packets to and from a segment for a bidirectional PIM group. In DF mode, the supervisor engine accepts the packets from the reverse path forwarding (RPF) interface and from the DF interface.
When the supervisor engine is forwarding the bidirectional PIM groups, the RPF interface is always included in the outgoing interface list of (*,G) entry, and the DF interfaces are included depending on IGMP/PIM joins.
If the route to the RP becomes unavailable, the group is changed to dense mode. If the RPF link to the RP becomes unavailable, the bidirectional flow is removed from the hardware FIB.
Configuring Bidirectional PIM on the Switch
These sections show how to configure bidirectional PIM and display the bidirectional PIM configuration information and statistics:
•
Configuring Bidirectional PIM
•
Enabling or Disabling Bidirectional PIM Globally
•
Configuring the Rendezvous Point for Bidirectional Groups
•
Setting the Bidirectional PIM Scan Interval
•
Displaying Bidirectional PIM Information
Configuring Bidirectional PIM
To configure bidirectional PIM, perform these steps:
Step 1
Enable bidirectional PIM globally.
Step 2
Configure the rendezvous point for the bidirectional group.
These steps are described in detail in the following sections.
Enabling or Disabling Bidirectional PIM Globally
To enable or disable bidirectional PIM, perform one of these tasks:
Task
|
Command
|
Enable bidirectional PIM globally on the switch.
|
Router(config)# ip pim bidir-enable
|
Disable bidirectional PIM globally on the switch.
|
Router(config)# [no] ip pim bidir-enable
|
This example shows how to enable bidirectional PIM on the switch:
Router(config)# ip pim bidir-enable
Router(config)#
This example shows how to disable bidirectional PIM on the switch:
Router(config)# no ip pim bidir-enable
Router(config)#
Configuring the Rendezvous Point for Bidirectional Groups
Note
The traffic flow for the groups mapping to only four bidirectional rendezvous points (RPs) is hardware switched. The traffic to the rest of the groups is software forwarded.
To configure the rendezvous point for a bidirectional group statically, perform this task:
| |
Task
|
Command
|
Step 1
|
Statically configure the IP address of the rendezvous point for the group. When you specify the override keyword, the static rendezvous point is used.
|
Router(config)# ip pim rp-adress ip_address access-list [override]
|
Step 2
|
Configure an access list.
|
Router(config)# access-list access-list permit | deny ip_address
|
Step 3
|
Configure the system to use Auto-RP to configure groups for which the router will act as an RP.
|
Router(config)# ip pim send-rp-announce type number scope ttl-value [group-list access-list] [interval seconds] [bidir]
|
Step 4
|
Configure a standard IP access list.
|
Router(config)# ip access-list standard access-list-name permit | deny ip_address
|
Step 5
|
Enable MLS IP multicast.
|
Router(config)# mls ip multicast
|
This example shows how to configure a static rendezvous point for a bidirectional group:
Router(config)# ip pim rp-address 10.0.0.1 10 bidir override
Router(config)# access-list 10 permit 224.1.0.0 0.0.255.255
Router(config)# ip pim send-rp-announce Loopback0 scope 16 group-list c21-rp-list-0 bidir
Router(config)# ip access-list standard c21-rp-list-0 permit 230.31.31.1 0.0.255.255
Setting the Bidirectional PIM Scan Interval
You can specify the interval between the bidirectional PIM RP Reverse Path Forwarding (RPF) scans.
To set the bidirectional RP RPF scan interval, perform one of these tasks:
Task
|
Command
|
Set the bidirectional RP RPF scan interval; valid values are from 1 to 1000 seconds. The default is 10 seconds.
|
Router(config)# mls ip multicast bidir gm-scan-interval interval
|
Restore the default.
|
Router(config)# no mls ip multicast bidir gm-scan-interval
|
This example shows how to set the bidirectional RP RPF scan interval:
Router(config)# mls ip multicast bidir gm-scan-interval 30
This example shows how to restore the default bidirectional RP RPF scan interval:
Router(config)# no mls ip multicast bidir gm-scan-interval
Displaying Bidirectional PIM Information
To display the bidirectional PIM information, perform one of these tasks:
Task
|
Command
|
Display the mappings between the PIM groups and the rendezvous points and show the learned rendezvous points in use.
|
Router# show ip pim rp mapping [in-use]
|
Display the PIM group to the active rendezvous-point mappings.
|
Router# show mls ip multicast rp-mapping [rp-address]
|
Display information based on the group/mask ranges in the RP-mapping cache.
|
Router# show mls ip multicast rp-mapping gm-cache
|
Display information based on the DF list in the RP-mapping cache.
|
Router# show mls ip multicast rp-mapping df-cache
|
Display the bidirectional PIM information.
|
Router# show mls ip multicast bidir
|
Display information about the multicast routing table.
|
Router# show ip mroute
|
This example shows how to display information about the PIM group and rendezvous-point mappings:
Router# show ip pim rp mapping
This system is an RP (Auto-RP)
This system is an RP-mapping agent
RP 60.0.0.60 (?), v2v1, bidir
Info source:60.0.0.60 (?), elected via Auto-RP
Uptime:00:03:47, expires:00:02:11
RP 50.0.0.50 (?), v2v1, bidir
Info source:50.0.0.50 (?), via Auto-RP
Uptime:00:03:04, expires:00:02:55
RP 40.0.0.40 (?), v2v1, bidir
Info source:40.0.0.40 (?), via Auto-RP
Uptime:00:04:19, expires:00:02:38
This example shows how to display information in the IP multicast routing table that is related to bidirectional PIM:
Router# show ip mroute bidirectional
(*, 225.1.3.0), 00:00:02/00:02:57, RP 3.3.3.3, flags:BC
Bidir-Upstream:GigabitEthernet2/1, RPF nbr 10.53.1.7, RPF-MFD
GigabitEthernet2/1, Bidir-Upstream/Sparse-Dense, 00:00:02/00:00:00,H
Vlan30, Forward/Sparse-Dense, 00:00:02/00:02:57, H
(*, 225.1.2.0), 00:00:04/00:02:55, RP 3.3.3.3, flags:BC
Bidir-Upstream:GigabitEthernet2/1, RPF nbr 10.53.1.7, RPF-MFD
GigabitEthernet2/1, Bidir-Upstream/Sparse-Dense, 00:00:04/00:00:00,H
Vlan30, Forward/Sparse-Dense, 00:00:04/00:02:55, H
(*, 225.1.4.1), 00:00:00/00:02:59, RP 3.3.3.3, flags:BC
Bidir-Upstream:GigabitEthernet2/1, RPF nbr 10.53.1.7, RPF-MFD
GigabitEthernet2/1, Bidir-Upstream/Sparse-Dense, 00:00:00/00:00:00,H
Vlan30, Forward/Sparse-Dense, 00:00:00/00:02:59, H
This example show how to display information that is related to a specific multicast route:
Router# show ip mroute 239.1.1.2 4.4.4.4
IP Multicast Routing Table
Flags:D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel
Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags:H - Hardware switched
Interface state:Interface, Next-Hop or VCD, State/Mode
(4.4.4.4, 239.1.1.2), 1d02h/00:03:20, flags:FTZ
Incoming interface:Loopback0, RPF nbr 0.0.0.0, Partial-SC
Vlan10, Forward/Sparse-Dense, 1d02h/00:02:39 (ttl-threshold 5)
This example shows how to display the entries for a specific multicast group address:
Router# show mls ip multicast group 230.31.31.1
Multicast hardware switched flows:
(*, 230.31.31.1) Incoming interface:Vlan611, Packets switched:1778
Hardware switched outgoing interfaces:Vlan131 Vlan151 Vlan415 Gi4/16 Vlan611
This example shows how to display the PIM group to the active rendezvous-point mappings:
Router# show mls ip multicast rp-mapping
State:H - Hardware Switched, I - Install Pending, D - Delete Pending, Z - Zombie
RP Address State RPF DF-count GM-count
This example shows how to display information that is based on the group/mask ranges in the RP-mapping cache:
Router# show mls ip multicast rp-mapping gm-cache
State:H - Hardware Switched, I - Install Pending, D - Delete Pending,
RP Address State Group Mask State Packet/Byte-count
60.0.0.60 H 230.31.0.0 255.255.0.0 H 100/6400
This example shows how to display information about the specific MLS IP multicasting groups:
Router# show mls ip multicast rp-mapping df-cache
State:H - Hardware Switched, I - Install Pending, D - Delete Pending, Z - Zombie
RP Address State DF State