Table Of Contents
Configuring Multicast Services
Understanding How Multicasting Works
Understanding Multicasting and Multicast Services Operation
Joining a Multicast Group
Leaving a Multicast Group
Understanding GMRP Operation
Configuring CGMP
CGMP Hardware and Software Requirements
Default CGMP Configuration
Enabling CGMP
Enabling CGMP Leave Processing
Enabling CGMP Fast-Leave Processing
Displaying Multicast Router Information
Displaying Multicast Group Information
Displaying CGMP Statistics
Disabling CGMP Leave Processing
Disabling CGMP Fast-Leave Processing
Disabling CGMP
Configuring GMRP
GMRP Software Requirements
Default GMRP Configuration
Enabling GMRP Globally
Enabling GMRP on Individual Switch Ports
Disabling GMRP on Individual Switch Ports
Enabling GMRP Forward-All Option
Disabling GMRP Forward-All Option
Configuring GMRP Registration
Setting Normal Registration Mode
Setting Fixed Registration Mode
Setting Forbidden Registration Mode
Setting the GARP Timers
Displaying GMRP Statistics
Clearing GMRP Statistics
Disabling GMRP on the Switch
Configuring Multicast Router Ports and Group Entries
Specifying Multicast Router Ports
Configuring Multicast Groups
Disabling Multicast Router Ports
Disabling Multicast Group Entries
Filtering IGMP Traffic
Using IGMP Traffic Filtering
IGMP Software Requirements
Default IGMP Filter Configuration
IGMP Multicast Filter Activation
Enabling and Verifying IGMP Multicast Filtering
Disabling and Verifying IGMP Multicast Filtering
Configuring Port IP Multicast Filtering
Adding and Listing an IGMP Multicast Filter Profile
Permitting and Verifying an IGMP Multicast Filter Match-Action
Denying and Verifying an IGMP Multicast Filter Match-Action
Removing an IGMP Multicast Filter Profile
Listing or Removing All IGMP Multicast Filters
Assigning and Listing Port Filter Associations
Removing IGMP Multicast Port Filter Associations
Configuring Multicast Services
This chapter describes how to configure multicast services, including Cisco Group Management Protocol (CGMP), Internet Group Management Protocol (IGMP) snooping, and GARP Multicast Registration Protocol (GMRP) on the Catalyst enterprise LAN switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the Command Reference—Catalyst 4000 Family, Catalyst 2948G, and Catalyst 2980G Switches.
This chapter consists of these major sections:
•Understanding How Multicasting Works
•Configuring CGMP
•Configuring GMRP
•Configuring Multicast Router Ports and Group Entries
•Filtering IGMP Traffic
Understanding How Multicasting Works
These sections describe how multicasting works on the Catalyst enterprise LAN switches:
•Understanding Multicasting and Multicast Services Operation
•Joining a Multicast Group
•Leaving a Multicast Group
•Understanding GMRP Operation
Understanding Multicasting and Multicast Services Operation
CGMP, IGMP snooping, and GMRP manage multicast traffic in switches by allowing directed switching of IP multicast traffic. Switches can use CGMP, IGMP snooping, or GMRP to dynamically configure switch ports so that IP multicast traffic is forwarded only to ports associated with IP multicast hosts.
Note For more information on IP multicast and IGMP, see RFC 1112. GMRP is described in IEEE 802.1p.
CGMP and IGMP software components run on the Cisco router and the switch. A CGMP/IGMP-capable IP multicast router sees all IGMP packets and can inform the switch when specific hosts join or leave IP multicast groups.
When the CGMP/IGMP-capable router receives an IGMP control packet, it creates a CGMP or IGMP packet that contains the request type (either join or leave), the multicast group address, and the MAC address of the host. The router sends the packet to a well-known address to which all switches listen. When a switch receives the packet, the supervisor engine module interprets the packet and modifies the forwarding table automatically.
You can statically configure multicast groups using the set cam static command. Multicast groups learned through CGMP or IGMP snooping are dynamic. If you specify group membership for a multicast group address, your static setting supersedes any automatic manipulation by CGMP or IGMP. Multicast group membership lists can consist of both user-defined and CGMP/IGMP-learned settings.
Note If a spanning tree VLAN topology changes, the CGMP/IGMP-learned multicast groups on the VLAN are purged and the CGMP/IGMP-capable router generates new multicast group information.
If a CGMP/IGMP-learned port link is disabled for any reason, that port is removed from any multicast group memberships. We recommend that you enable the spanning tree PortFast feature on ports to which hosts are directly connected if you are using CGMP. For information on configuring spanning tree PortFast, see "Configuring Spanning Tree PortFast, BPDU Guard, BPDU Filter, UplinkFast, BackboneFast, and Loop Guard."
Joining a Multicast Group
When a host wants to join an IP multicast group, it sends an IGMP join message specifying its MAC address and the IP multicast group it wants to join. The CGMP/IGMP-capable router then builds a CGMP/IGMP join message and multicasts the join message to the well-known address to which the switches listen.
Upon receipt of the join message, each switch searches its Enhanced Address Recognition Logic (EARL) table to determine if it contains the MAC address of the host asking to join the multicast group. If a switch finds the MAC address of the host in its EARL table associating the MAC address with a nontrunking port, the switch creates a multicast forwarding entry in the EARL forwarding table. The host associated with that port receives multicast traffic for that multicast group. In this way, the EARL automatically learns the MAC addresses and port numbers of the IP multicast hosts.
Leaving a Multicast Group
The CGMP/IGMP-capable router sends periodic multicast group queries. If a host wants to remain in a multicast group, it responds to the query from the router. In this case, the router does nothing. If a host does not want to remain in the multicast group, it does not respond to the router query. After a number of queries, if the router receives no reports from any host in a multicast group, the router sends a CGMP/IGMP command to the switch and requests that the switch remove the multicast group from its forwarding tables.
Note If other hosts in the same multicast group do respond to the multicast group query, the router does not ask the switch to remove the group from its forwarding tables. The router does not remove a multicast group from the forwarding tables until all the hosts in the group ask to leave the group.
CGMP leave-processing allows the switch to detect IGMP version 2 leave messages that were sent to the all-routers multicast address by hosts on any of the supervisor engine module ports. When the supervisor engine module receives a leave message, it starts a query-response timer. If this timer expires before a CGMP join message is received, the port is pruned from the multicast tree for the multicast group specified in the original leave message. CGMP leave processing optimizes bandwidth management for all hosts on a switched network, even when multiple multicast groups are in use simultaneously.
When CGMP fast-leave processing is enabled, the switch does not start a query response timer. The switch immediately prunes the port from the multicast tree for the multicast group by deleting the multicast MAC address from the port that received an IGMP leave message.
Understanding GMRP Operation
GARP Multicast Registration Protocol (GMRP) is a Generic Attribute Registration Protocol (GARP) application that provides a constrained multicast flooding facility similar to IGMP snooping and CGMP. GMRP and GARP are industry-standard protocols defined by the IEEE. For detailed protocol operational information, refer to IEEE 802.1p.
GMRP can register and deregister multicast group addresses at the MAC layer throughout the Layer 2-connected network. GMRP is Layer 3-protocol independent, which allows it to support the multicast traffic of any Layer 3 protocol (such as IP, IPX, and so forth).
GMRP software components run on both the switch and on the host (Cisco is not a source for GMRP host software). On the host, GMRP is typically used with IGMP: the host GMRP software generates 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 uses the received GMRP traffic to constrain multicasts at Layer 2 in the host's VLAN.
Note In all cases, you can use CGMP or IGMP snooping to constrain multicasts at Layer 2 without the need to install or configure software on hosts.
When a host wants to join an IP multicast group, it sends an IGMP join message, which creates a corresponding GMRP join message. When the switch receives the GMRP join message, it adds the port through which the join message was received to the appropriate multicast group. The switch propagates the GMRP join message to all 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 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. In this case, 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 forward-all option on all ports where routers are attached.
Configuring CGMP
These sections describe how to configure CGMP:
•CGMP Hardware and Software Requirements
•Default CGMP Configuration
•Enabling CGMP
•Enabling CGMP Leave Processing
•Enabling CGMP Fast-Leave Processing
•Displaying Multicast Router Information
•Displaying Multicast Group Information
•Displaying CGMP Statistics
•Disabling CGMP Leave Processing
•Disabling CGMP Fast-Leave Processing
•Disabling CGMP
CGMP Hardware and Software Requirements
CGMP requires these hardware and software versions:
•Software release 2.2 or later releases
•Router running CGMP
Default CGMP Configuration
Table 15-1 shows the default CGMP configuration.
Table 15-1 CGMP Default Configuration
Feature
|
Default Value
|
CGMP enable state
|
Disabled
|
Multicast routers
|
None configured
|
Enabling CGMP
Note You cannot enable CGMP if IGMP snooping or GMRP is enabled.
To enable CGMP, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Enable CGMP on the switch.
|
set cgmp enable
|
Step 2
|
Verify that CGMP is enabled.
|
show cgmp statistics [vlan_num]
|
This example shows how to enable CGMP and verify the configuration:
Console> (enable) set cgmp enable
CGMP support for IP multicast enabled.
Console> (enable) show cgmp statistics 1
CGMP statistics for vlan 1:
valid rx pkts received 211915
invalid rx pkts received 0
valid cgmp joins received 211729
valid cgmp leaves received 186
valid igmp leaves received 0
valid igmp queries received 3122
igmp gs queries transmitted 0
igmp leaves transmitted 0
failures to add GDA to EARL 0
topology notifications received 80
number of CGMP packets dropped 2032227
Enabling CGMP Leave Processing
To enable CGMP leave processing, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Enable CGMP leave processing on the switch.
|
set cgmp leave enable
|
Step 2
|
Verify that CGMP leave processing is enabled.
|
show cgmp leave
|
This example shows how to enable CGMP leave processing and verify the configuration:
Console> (enable) set cgmp leave enable
CGMP leave processing enabled.
Console> (enable) show cgmp leave
Enabling CGMP Fast-Leave Processing
To enable CGMP fast-leave processing, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Enable CGMP fast-leave processing on the switch.
|
set cgmp fastleave enable
|
Step 2
|
Verify that CGMP fast-leave processing is enabled.
|
show cgmp leave
|
This example shows how to enable CGMP fast-leave processing and verify the configuration:
Console> (enable) set cgmp fastleave enable
CGMP fastleave processing enabled.
Console> (enable) show cgmp leave
Displaying Multicast Router Information
When you enable CGMP, the switch automatically learns to which ports a multicast router is connected.
To display dynamically learned multicast router information, perform one of these tasks in privileged mode:
•Display information on dynamically learned and manually configured multicast router ports—show multicast router [mod_num/port_num] [vlan_id]
•Display information only on those multicast router ports learned dynamically using CGMP—show multicast router cgmp [mod_num/port_num] [vlan_id]
This example shows how to display information on all multicast router ports (the asterisk [*] next to the multicast router on port 3/1 indicates that the entry was configured manually):
Console> (enable) show multicast router
--------- ----------------
Total Number of Entries = 4
This example shows how to display only those multicast router ports that were learned dynamically through CGMP:
Console> (enable) show multicast router cgmp
--------- ----------------
Total Number of Entries = 3
Displaying Multicast Group Information
To display information about multicast groups, perform one of these tasks:
Task
|
Command
|
Display information about multicast groups.
|
show multicast group [mac_addr] [vlan_id]
|
Display only information about multicast groups learned dynamically through CGMP.
|
show multicast group cgmp [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 CGMP.
|
show multicast group count cgmp [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 CGMP Statistics
To check CGMP statistics on the switch, perform this task:
Task
|
Command
|
Display CGMP statistics.
|
show cgmp statistics [vlan_id]
|
This example shows how to display CGMP statistics:
Console> (enable) show cgmp statistics
CGMP statistics for vlan 1:
valid rx pkts received 211915
invalid rx pkts received 0
valid cgmp joins received 211729
valid cgmp leaves received 186
valid igmp leaves received 0
valid igmp queries received 3122
igmp gs queries transmitted 0
igmp leaves transmitted 0
failures to add GDA to EARL 0
topology notifications received 80
number of CGMP packets dropped 2032227
Disabling CGMP Leave Processing
To disable CGMP leave processing, perform this task in privileged mode:
Task
|
Command
|
Disable CGMP leave processing on the switch.
|
set cgmp leave disable
|
This example shows how to disable CGMP leave processing on the switch:
Console> (enable) set cgmp leave disable
CGMP leave processing disabled.
Disabling CGMP Fast-Leave Processing
To disable CGMP fast-leave processing, perform this task in privileged mode:
Task
|
Command
|
Disable CGMP fast-leave processing on the switch.
|
set cgmp fastleave disable
|
This example shows how to disable CGMP fast-leave processing on the switch:
Console> (enable) set cgmp fastleave disable
CGMP FastLeave processing disabled.
Disabling CGMP
To disable CGMP on the switch, perform this task in privileged mode:
Task
|
Command
|
Disable CGMP on the switch.
|
set cgmp disable
|
This example shows how to disable CGMP:
Console> (enable) set cgmp disable
CGMP support for IP multicast disabled.
Configuring GMRP
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 GMRP Forward-All Option
•Disabling GMRP Forward-All Option
•Configuring GMRP Registration
•Setting the GARP Timers
•Displaying GMRP Statistics
•Clearing GMRP Statistics
•Disabling GMRP on the Switch
GMRP Software Requirements
GMRP requires software release 5.1 or later releases.
Default GMRP Configuration
Table 15-2 shows the default GMRP configuration.
Table 15-2 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 CGMP is enabled.
To enable GMRP globally, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Enable GMRP on the switch.
|
set gmrp enable
|
Step 2
|
Verify the configuration.
|
show gmrp configuration
|
This example shows how to enable GMRP 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 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 until you enable it globally. For information on configuring GMRP globally on the switch, see the "Enabling GMRP Globally" section.
To enable GMRP on 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_num/port_num
|
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 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 until you enable it globally. For information on configuring GMRP globally on the switch, see the "Enabling GMRP Globally" section.
To disable GMRP on individual switch ports, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Disable GMRP on individual switch ports.
|
set port gmrp disable mod_num/port_num
|
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 Enabled Normal Disabled
6/10-14 Disabled Normal Disabled
Enabling GMRP Forward-All Option
When you enable GMRP forward-all on a port, a copy of all multicast traffic registered on the switch is forwarded to the port. We recommend enabling this option on any port connected to a router. Forward-all can also forward all registered multicast traffic to a port with a network analyzer or probe attached.
To forward a copy of all GMRP multicast packets registered on the switch to a port, perform this task in privileged mode:
Task
|
Command
|
Enable the GMRP forward-all option on a switch port.
|
set gmrp fwdall enable mod_num/port_num
|
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 GMRP Forward-All Option
To disable the GMRP forward-all option on a port, perform this task in privileged mode:
Task
|
Command
|
Disable the GMRP forward-all option on a port.
|
set gmrp fwdall disable mod_num/port_num
|
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 GMRP registration modes on switch ports:
•Setting Normal Registration Mode
•Setting Fixed Registration Mode
•Setting Forbidden Registration Mode
Setting Normal Registration Mode
Configuring a 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 configure GMRP normal registration on a port, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Configure normal registration on a port.
|
set gmrp registration normal mod_num/port_num
|
Step 2
|
Verify the configuration.
|
show gmrp configuration
|
This example shows how to configure 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 Mode
When you configure a port in fixed registration mode, all multicast groups currently registered on all ports are registered on the port, but the port ignores any subsequent registrations or deregistrations on other ports. A port in fixed registration mode continues to register multicast groups that are specific to the port. You must return the port to normal registration mode to deregister multicast groups on the port.
To configure GMRP fixed registration on a port, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Configure fixed registration on a port.
|
set gmrp registration fixed mod_num/port_num
|
Step 2
|
Verify the configuration.
|
show gmrp configuration
|
This example shows how to configure 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 Mode
Configuring a port in forbidden registration mode deregisters all GMRP multicasts and prevents any further GMRP multicast registration on the port.
To configure GMRP forbidden registration on a port, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Configure forbidden registration on a port.
|
set gmrp registration forbidden mod_num/port_num
|
Step 2
|
Verify the configuration.
|
show gmrp configuration
|
This example shows how to configure 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.
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.)
You can modify the default GARP timer values on the switch.
When you set 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 there are on the switch, the greater you should configure the difference between the leave value and the join value.
For better performance on 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, GARP applications (for example, GMRP and GVRP) will not operate successfully.
To adjust 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 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 GMRP statistics on the switch, perform this task in privileged mode:
Task
|
Command
|
Display GMRP statistics.
|
show gmrp statistics [vlan_id]
|
This example shows how to display 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 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 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
These sections describe how to manually specify multicast router ports and configure multicast group entries:
•Specifying Multicast Router Ports
•Configuring Multicast Groups
•Disabling Multicast Router Ports
•Disabling Multicast Group Entries
Specifying Multicast Router Ports
When you enable CGMP or GMRP, the switch automatically learns to which ports a multicast router is connected. However, if desired, you can manually specify multicast router ports.
To statically define multicast router ports, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Manually specify a multicast router port.
|
set multicast router mod_num/port_num
|
Step 2
|
Verify the configuration.
|
show multicast router [mod_num/port_num] [vlan_id]
|
This example shows how to define a multicast router port manually and verify the configuration (the asterisk [*] next to the multicast router on port 3/1 indicates that the entry was configured manually):
Console> (enable) set multicast router 3/1
Port 3/1 added to multicast router port list.
Console> (enable) show multicast router
--------- ----------------
Total Number of Entries = 4
Configuring Multicast Groups
To configure a multicast group statically, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Add one or more multicast MAC addresses to the CAM table.
|
set cam {static | permanent} multicast_mac mod_num/port_num [vlan]
|
Step 2
|
Verify the multicast group configuration.
|
show multicast group [mac_addr] [vlan_id]
|
This example shows how to define 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
Disabling Multicast Router Ports
To manually disable configured multicast router ports, perform one of these tasks in privileged mode:
Task
|
Command
|
Disable a specific manually configured multicast router port.
|
clear multicast router mod_num/port_num
|
Disable all manually configured multicast router ports.
|
clear multicast router all
|
This example shows how to disable a manually configured multicast router port entry:
Console> (enable) clear multicast router 2/12
Port 2/12 cleared from multicast router port list.
Disabling Multicast Group Entries
To disable manually configured multicast group entries, 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 disable a multicast group entry from the CAM table:
Console> (enable) clear cam 01-11-22-33-44-55 1
Filtering IGMP Traffic
Internet Group Management Protocol (IGMP) filtering allows an administrator to configure IP multicast group profiles consisting of one or more ranges of IP multicast addresses. The administrator associates these profiles with a filtering action. These actions apply to IGMP packets, are configured on a per-switch-port basis, and are available to all VLANs associated with the physical port.
If a port is set to permit, only matching IPs are forwarded: all others are dropped. If a filtering action permits a particular IGMP packet, only that packet is forwarded for processing, and all others are dropped.
If a port is set to deny, matched IPs are dropped: all others are forwarded. If the filtering action causes an IGMP packet to be dropped, the switch port requesting the stream of IP multicast traffic cannot receive IP multicast traffic for that group.
Note IGMP filtering actions do not direct IP multicast traffic forwarding. For example, IGMP filtering does not know whether CGMP or MVR is used to allow IP multicast traffic forwarding.
These sections describe IGMP traffic filtering usage, requirements, and configurations:
•Using IGMP Traffic Filtering
•IGMP Software Requirements
•Default IGMP Filter Configuration
•IGMP Multicast Filter Activation
•Configuring Port IP Multicast Filtering
Using IGMP Traffic Filtering
You can use IGMP filters in video service deployment of Ethernet to the Home (ETTH).
IGMP transmits video channels as IP multicast traffic using MPEG encoding. In access switches, filters specify which video channels (multicast addresses) are allowed to be received by every customer.
IGMP Software Requirements
IGMP requires software release 7.1(1) or later releases and has the following physical restrictions for filtering through software:
•A threshold of 1024 profiles available on the Catalyst 4000 family switch
•A limit of 512 Class D multicast IP addresses which can be filtered in all profiles
•One (1) profile per port
Default IGMP Filter Configuration
Table 15-3 shows the default IGMP traffic filter configuration.
Table 15-3 IGMP Default Configuration
Feature
|
Default Value
|
IGMP filtering
|
None
|
IGMP enable state
|
Disabled
|
IGMP match-action state
|
Deny
|
IGMP Multicast Filter Activation
IGMP multicast filters associate with each physical switch port.
The following sections show configurations for controling IGMP multicast filter activation/deactivation on the switch.
Enabling and Verifying IGMP Multicast Filtering
To enable IGMP traffic filtering, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Enable IGMP filtering on the switch.
|
set igmp filter enable
|
Step 2
|
Verify the configuration.
|
show igmp filter
|
This example shows how to enable IGMP multicast filtering on a switch:
Console> (enable) set igmp filter enable
igmp filter set to enable
This example shows how to verify the enable configuration status of IGMP multicast filtering on a switch:
Console> (enable) show igmp filter
Disabling and Verifying IGMP Multicast Filtering
To disable IGMP traffic filtering, perform this task in privileged mode:
Step 1
|
Disable IGMP filtering on the switch.
|
set igmp filter disable
|
Step 2
|
Verify the configuration.
|
show igmp filter
|
This example shows how to disable IGMP multicast filtering on a switch:
Console> (enable) set igmp filter disable
igmp filter set to disable
This example shows how to verify the disable configuration status of IGMP multicast filtering on a switch:
Console> (enable) show igmp filter
Configuring Port IP Multicast Filtering
IP multicast group profiles consist of one or more ranges of IP multicast addresses associated with a filtering action and are configured on a per-switch-port basis. Given a particular profile associated with a switch port, the administrator configures the filter action.
•If the filter action is to permit, the matching IGMP packet is forwarded for normal processing.
•If the filter action is to deny, the matching IGMP packet is dropped, discontinuing normal processing.
Thse sections provide switch port IP multicast filtering configurations:
•Adding and Listing an IGMP Multicast Filter Profile
•Permitting and Verifying an IGMP Multicast Filter Match-Action
•Denying and Verifying an IGMP Multicast Filter Match-Action
•Removing an IGMP Multicast Filter Profile
•Listing or Removing All IGMP Multicast Filters
•Assigning and Listing Port Filter Associations
•Removing IGMP Multicast Port Filter Associations
Adding and Listing an IGMP Multicast Filter Profile
To add a multicast address or a range of addresses to an IGMP multicast filter profile, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Add multicast IP address or a range of IP addresses to an IGMP multicast filter profile.
|
set igmp filter profile profile_id ip_addr [- ip_addr]
|
Step 2
|
List an IGMP multicast filter profile.
|
show igmp filter profile profile_id
|
This example shows how to add the multicast IP address 226.1.1.1 to IGMP multicast filter profile 1:
Console> (enable) set igmp filter profile 1 226.1.1.1
Successfully add ip(s) to profile
This example shows how to list an IP address for profile 1 when the IGMP multicast filter match-action is denied:
Console> (enable) show igmp filter profile 1
ProfileId 1: FilterMode deny, IP Range
----------------------------------------------------
Permitting and Verifying an IGMP Multicast Filter Match-Action
To specify an IGMP multicast filter profile on a switch to accept an IP address or a range of IP addresses, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Accept an IP address or range of IP addresses.
|
set igmp filter profile profile_id match-action permit
|
Step 2
|
Verify the permit configuration.
|
show igmp filter profile profile_id match-action
|
This example shows how to accept an IP address or range of IP addresses:
Console> (enable) set igmp filter profile 1 match-action permit
igmp filter match-action set to permit
This example shows how to see the status of an IGMP multicast filter profile to accept IP addresses:
Console> (enable) show igmp filter profile 1 match-action
igmp filter match action is permit
Denying and Verifying an IGMP Multicast Filter Match-Action
To specify an IGMP multicast filter profile on a switch deny an IP address or range of IP addresses, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Deny an IP address or range of IP addresses.
|
set igmp filter profile profile_id match-action deny
|
Step 2
|
Verify the deny configuration.
|
show igmp filter profile profile_id match-action
|
This example shows how to deny an IP address or range of IP addresses:
Console> (enable) set igmp filter profile 1 match-action deny
igmp filter match-action set to deny
This example shows how to see the status of an IGMP multicast filter profile to deny IP addresses:
Console> (enable) show igmp filter profile 1 match-action
igmp filter match action is denied
Removing an IGMP Multicast Filter Profile
To delete a multicast address from an IGMP multicast filter profile or to delete the filter profile, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Remove a multicast address from an IGMP multicast filter profile or to delete the filter profile.
|
clear igmp filter profile profile_id {ip_addr [- ip_addr] | all}
|
Step 2
|
List an IGMP multicast filter profile.
|
show igmp filter profile profile_id
|
Note When a filter is deleted, all associations between the filter and associated ports are deleted.
This example shows how to remove an IP address (226.1.1.1) from an IGMP multicast filter profile (1):
Console> (enable) clear igmp filter profile 1 226.1.1.1
This example shows how to verify that an IGMP multicast filter profile 1 was deleted:
Console> (enable) show igmp filter profile 1
Listing or Removing All IGMP Multicast Filters
To list, delete, and verify all IGMP multicast filter profiles, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
List all IGMP multicast filter profiles.
|
show igmp filter all
|
Step 2
|
Remove all IGMP multicast filter profiles.
|
clear igmp filter all
|
Note When a filter is deleted, all associations between the filter and associated ports are deleted.
This example shows how to list all IGMP multicast filter profiles:
Console> (enable) show igmp filter all
ProfileId 1: FilterMode deny, IP Range
----------------------------------------------------
This example shows how to delete all IGMP multicast filter profiles:
Console> (enable) clear igmp filter all
Successfully remove all the profile(s)
This example shows how to verify that all IGMP multicast filter profiles were deleted:
Console> (enable) show igmp filter all
Assigning and Listing Port Filter Associations
To assign and list IGMP multicast filter associations to a port or port list, perform this task in privileged mode:
|
Task
|
Command
|
Step 1
|
Associate IGMP multicast filters to a port or port list.
|
set igmp filter map profile_id port_list
|
Step 2
|
List all IGMP multicast port filter associations.
|
show igmp filter map {port_list | all}
|
This example shows how to set an association of module 2/port 1 to IGMP multicast filter profile 1:
Console> (enable) set igmp filter map 1 2/1
This example shows how to display the association of IGMP multicast filter profiles with module 2/port 48:
Console> (enable) show igmp filter map 2/48
This example shows how to display the association of IGMP multicast filter profiles for all ports:
Console> (enable) show igmp filter map all
Removing IGMP Multicast Port Filter Associations
To delete the association of IGMP multicast filters with ports, perform this task in privileged mode:
Task
|
Command
|
Remove IGMP multicast port filter associations.
|
clear igmp filter map {port_list | all}
|
Note The filter is not deleted when the association is deleted.
This example shows how to delete the association of IGMP multicast filter profiles with a port or list of ports:
Console> (enable) clear igmp filter map all