cc/td/doc/product/lan/cat6000/sw_5_3
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Configuring Multicast Services

Configuring Multicast Services

This chapter describes how to configure Internet Group Management Protocol (IGMP) snooping and GARP Multicast Registration Protocol (GMRP) on the Catalyst 6000 family switches.


Note For complete syntax and usage information for the commands used in this chapter, refer to the Catalyst 6000 Family Command Reference publication.

This chapter consists of these sections:

Understanding How Multicasting Works

These sections describe how multicasting works on the Catalyst 6000 family switches:

Understanding Multicasting and Multicast Services Operation

IGMP snooping and GMRP manage multicast traffic in switches by allowing directed switching of IP multicast traffic.

Switches can use IGMP snooping or GMRP to dynamically configure switch ports so that IP multicast traffic is forwarded only to those ports associated with IP multicast hosts.


Note For more information on IP multicast and IGMP, refer to RFC 1112. GMRP is described in IEEE 802.1p.

IGMP software components run on both the Cisco router and the switch. An 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 IGMP-capable router receives an IGMP control packet, it creates an 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 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 IGMP snooping are dynamic. If you specify group membership for a multicast group address, your static setting supersedes any automatic manipulation by IGMP snooping. Multicast group membership lists can consist of both user-defined and IGMP snooping-learned settings.


Note If a spanning-tree VLAN topology changes, the IGMP snooping-learned multicast groups on the VLAN are purged and the IGMP-capable router generates new multicast group information.

If an IGMP snooping-learned port link is disabled for any reason, that port is removed from any multicast group memberships.

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 IGMP-capable router then builds an 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 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. If after a number of queries the router receives no reports from any host in a multicast group, the router sends an IGMP command to the switch, telling it to remove the multicast group from its forwarding tables.


Note If there are other hosts in the same multicast group and they do respond to the multicast group query, the router does not tell the switch to remove the group from its forwarding tables. The router does not remove a multicast group from the forwarding tables of the switch until all the hosts in the group ask to leave the group.

Understanding GMRP

GARP Multicast Registration Protocol (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 defined by the IEEE. For detailed protocol operational information, refer to IEEE 802.1p.

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 spawns 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 IGMP snooping to constrain multicasts at Layer 2 without the need to install or configure software on hosts. Note that the traditional CGMP client functionality provided by the switch processor (SP) is not supported on Catalyst 6000 family switches (CGMP is enabled using set cgmp enable on other Catalyst switches). However, CGMP server functionality is supported at the route processor (RP) on the Catalyst 6000 family MSFC virtual interfaces to support switches that only support CGMP.

When a host wants to join an IP multicast group, it sends an IGMP join message, which spawns a GMRP join message.

Upon receipt of the GMRP join message, the switch 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 forwardall option on all ports where routers are attached (see the "Enabling GMRP Forward-All Option" section).

Configuring IGMP Snooping

Internet Group Management Protocol (IGMP) snooping allows switches to examine IGMP packets and make forwarding decisions based on their content.


Note QoS does not support IGMP traffic when IGMP snooping is enabled.

These sections describe how to configure IGMP snooping:

Default IGMP Snooping Configuration

Table 34-1 shows the default IGMP snooping configuration.


Table 34-1: IGMP Snooping Default Configuration
Feature Default Value

IGMP snooping

Disabled

Multicast routers

None configured

Enabling IGMP


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 on the switch.

set igmp enable

Step 2 Verify that IGMP snooping is enabled.

show igmp statistics [vlan_num]

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 enabled
 
IGMP statistics for vlan 1:
Total valid pkts rcvd:           18951
Total invalid pkts recvd         0
General Queries recvd            377
Group Specific Queries recvd     0
MAC-Based General Queries recvd  0
Leaves recvd                     14
Reports recvd                    16741
Queries  Xmitted                 0
GS Queries Xmitted               16
Reports Xmitted                  0
Leaves Xmitted                   0
Failures to add GDA to EARL      0
Topology Notifications rcvd      10
IGMP packets dropped             0
Console> (enable)

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 this task in privileged mode:
Task Command

  • 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 IGMP snooping.

show multicast router igmp [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 5/7 indicates that the entry was configured manually):

Console> (enable) show multicast router
IGMP enabled
 
Port       Vlan
---------  ----------------
 1/1       1
 2/1       2,99,255
 5/7    *  99
 
Total Number of Entries = 3
'*' - Configured
Console> (enable)
 
 

This example shows how to display only those multicast router ports that were learned dynamically through IGMP:

Console> (enable) show multicast router igmp
IGMP enabled
 
Port       Vlan
---------  ----------------
 1/1       1
 2/1       2,99,255
 
Total Number of Entries = 2
'*' - Configured
Console> (enable)

Displaying Multicast Group Information

To display information about multicast groups, perform this task in privileged mode:
Task Command

  • Display information about multicast groups.

show multicast group [mac_addr] [vlan_id]

  • Display only information about multicast groups 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
IGMP enabled
 
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
Console> (enable)

Displaying IGMP Statistics

To check IGMP snooping statistics on the switch, perform this task:
Task Command

Display IGMP snooping statistics.

show igmp statistics [vlan_id]

This example shows how to display IGMP snooping statistics:

Console> (enable) show igmp statistics
IGMP enabled
 
IGMP statistics for vlan 1:
Total valid pkts rcvd:           18951
Total invalid pkts recvd         0
General Queries recvd            377
Group Specific Queries recvd     0
MAC-Based General Queries recvd  0
Leaves recvd                     14
Reports recvd                    16741
Queries  Xmitted                 0
GS Queries Xmitted               16
Reports Xmitted                  0
Leaves Xmitted                   0
Failures to add GDA to EARL      0
Topology Notifications rcvd      10
IGMP packets dropped             0
Console> (enable)

Disabling IGMP

To disable IGMP snooping on the switch, perform this task in privileged mode:
Task Command

Disable IGMP snooping on the switch.

set igmp disable

This example shows how to disable IGMP snooping:

Console> (enable) set igmp disable
IGMP feature for IP multicast disabled
Console> (enable)

Configuring GMRP

These sections describe how to configure the GARP Multicast Registration Protocol (GMRP):


Note For an overview of GMRP operation, see the "Understanding GMRP" section.

GMRP Software Requirements

GMRP requires supervisor engine software release 5.2 or later.

Default GMRP Configuration

Table 34-2 shows the default GMRP configuration.


Table 34-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 IGMP snooping 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
GMRP enabled.
Console> (enable) show gmrp configuration
Global GMRP Configuration:
GMRP Feature is currently enabled on this switch.
GMRP Timers (milliseconds):
Join = 200
Leave = 600
LeaveAll = 10000
Port based GMRP Configuration:
Port                                         GMRP Status Registration ForwardAll
-------------------------------------------- ----------- ------------ ----------
1/1-2,3/1,6/1-48,7/1-24                      Enabled     Normal       Disabled  
Console> (enable)

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 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):
Join = 200
Leave = 600
LeaveAll = 10000
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  
Console> (enable)

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 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):
Join = 200
Leave = 600
LeaveAll = 10000
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  
Console> (enable) 

Enabling GMRP Forward-All Option

When you enable the GMRP forward-all option on a port, a copy of all multicast traffic registered on the switch is forwarded to that port. Enable the forward-all option on any port connected to a router that needs to receive any multicasts (routers do not support GMRP and so 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 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.
Console> (enable) 

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.
Console> (enable) 

Configuring GMRP Registration

These sections describe how to configure GMRP registration modes on switch ports:

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.
Console> (enable)

Setting Fixed Registration Mode

When you configure a port in fixed registration mode, all the 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):
Join = 200
Leave = 600
LeaveAll = 10000
Port based GMRP Configuration:
GMRP-Status Registration ForwardAll Port(s)
----------- ------------ ---------- --------------------------------------------
Enabled     Normal       Disabled   1/1-4
                                    2/1-9,2/11-48
                                    3/1-24
                                    5/1
Enabled     Fixed        Disabled   2/10
Console> (enable) 

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):
Join = 200
Leave = 600
LeaveAll = 10000
Port based GMRP Configuration:
GMRP-Status Registration ForwardAll Port(s)
----------- ------------ ---------- --------------------------------------------
Enabled     Normal       Disabled   1/1-4
                                    2/1-9,2/11-48
                                    3/1-24
                                    5/1
Enabled     Forbidden    Disabled   2/10
Console> (enable) 

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.)

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 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) do 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)
--------  --------------------------
Join      300                       
Leave     650                       
LeaveAll  12000                    
Console> (enable)

Displaying GMRP Statistics

To display GMRP statistics on the switch, perform this task:
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
Join Empties:200
Join INs:250
Leaves:10
Leave Alls:35
Empties:5
Fwd Alls:0
Fwd Unregistered:0
Total valid GMRP Packets Transmitted:600
Join Empties:200
Join INs:150
Leaves:45
Leave Alls:200
Empties:5
Fwd Alls:0
Fwd Unregistered:0
Total valid GMRP Packets Received:0
Total GMRP packets dropped:0
Total GMRP Registrations Failed:0
Console>

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
Console> (enable)

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
GMRP disabled.
Console> (enable)

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

When you enable IGMP snooping the switch automatically learns to which ports a multicast router is connected. However, if desired, you can manually specify multicast router ports.

To define multicast router ports manually, 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 specify 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
IGMP disabled
 
Port       Vlan
---------  ----------------
 2/1       99
 2/2       255
 3/1    *  1
 7/9       2,99
 
Total Number of Entries = 4
'*' - Configured
Console> (enable)

Configuring Multicast Groups

To configure a multicast group manually, 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 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
IGMP disabled
 
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
Console> (enable)

Clearing Multicast Router Ports

To clear manually configured multicast router ports, perform one of these tasks in privileged mode:
Task Command

  • Disable specific, manually configured multicast router ports.

clear multicast router mod_num/port_num

  • Disable all manually configured multicast router ports.

clear multicast router all

This example shows how to clear a manually configured multicast router port entry:

Console> (enable) clear multicast router 2/12
Port 2/12 cleared from multicast router port list.
Console> (enable)

Clearing 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 clear a multicast group entry from the CAM table:

Console> (enable) clear cam 01-11-22-33-44-55 1
CAM entry cleared.
Console> (enable)
 
 


hometocprevnextglossaryfeedbacksearchhelp
Posted: Wed Dec 29 07:28:36 PST 1999
Copyright 1989-1999©Cisco Systems Inc.