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

Table of Contents

Configuring IP Multicast Multilayer Switching

Configuring IP Multicast Multilayer Switching

This chapter describes how to configure IP multicast Multilayer Switching (MMLS) on the Catalyst 6000 family switch.


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

This chapter contains these sections:

Understanding How IP MMLS Works

These sections provide an overview of IP multicast MLS (MMLS) and describe how MMLS works:

IP MMLS Overview

IP MMLS provides high-performance hardware-based Layer 3 switching of IP multicast traffic for Catalyst 6000 family LAN switches. MMLS switches IP multicast data packet flows between IP subnets using advanced application-specific integrated circuit (ASIC) switching hardware, offloading processor-intensive multicast forwarding and replication from network routers.

The packet forwarding function is moved onto Layer 3 switches whenever a supported path exists between a source and members of a multicast group. Packets that do not have a supported path to reach their destinations are still forwarded in software by routers. Protocol Independent Multicast (PIM) is used for route determination.

IP MMLS Flows

An IP multicast flow is a unidirectional sequence of packets between a particular multicast source and the members of a destination multicast group.

Layer 2 Multicast Forwarding Table

The Policy Feature Card (PFC) uses the Layer 2 multicast forwarding table to determine on which interfaces Layer 2 multicast traffic should be forwarded (if any). The multicast forwarding table entries are populated by whichever multicast service is enabled on the switch (Internet Group Management Protocol [IGMP] snooping or GARP Multicast Registration Protocol [GMRP]). These entries are populated by IGMP snooping.

Layer 3 MMLS Cache

The PFC maintains the Layer 3 MLS cache to identify individual IP multicast flows. Each entry is of the form {source IP, destination group IP, source VLAN}. The maximum Multilayer Switching (MLS) cache size is 128K entries and is shared by all MLS processes on the switch (such as IP unicast MLS and IPX MLS). However, a cache exceeding 32K entries increases the probability that a flow will not be switched by the PFC and will get forwarded to the Catalyst 6000 family switch.

The PFC populates the MLS cache using information learned from the routers participating in IP MLS.

Whenever the switch receives traffic for a new flow, it updates its multicast routing table and forwards the new information to the PFC. In addition, if an entry in the multicast routing table ages out, the switch deletes the entry and forwards the updated information to the PFC.

The MLS cache contains flow information for all active multilayer-switched flows. After the MLS cache is populated, multicast packets identified as belonging to an existing flow can be Layer 3 switched based on the cache entry for that flow. For each cache entry, the PFC maintains a list of outgoing interfaces for the destination IP multicast group. The PFC uses this list to determine on which VLANs traffic to a given multicast flow should be replicated.

These commands affect the Layer 3 MLS cache entries on the switch:

IP MMLS Flow Mask

IP MMLS supports a single flow mask, source-destination-vlan. The PFC maintains one MMLS cache entry for each {source IP, destination group IP, source VLAN}. The multicast source-destination-vlan flow mask differs from the IP unicast MLS source-destination-ip flow mask in that, for IP MMLS, the source VLAN is included as part of the entry. The source VLAN is the multicast RPF interface for the multicast flow. Flows are based on the IP address of the source device, the destination IP multicast group address, and the source VLAN. The Catalyst 6000 family switch uses the RPF interface to send a unicast packet back to the source.

Layer 3-Switched Multicast Packet Rewrite


Note Only ARPA rewrites are supported for IP multicast packets. Subnetwork Address Protocol (SNAP) rewrites are not supported.

When a multicast packet is Layer 3 switched from a multicast source to a destination multicast group, the PFC performs a packet rewrite based on information learned from the MSFC and stored in the MMLS cache.

For example, Server A sends a multicast packet addressed to IP multicast group G1. If there are members of group G1 on VLANs other than the source VLAN, the PFC must perform a packet rewrite when it replicates the traffic to the other VLANs (the switch also bridges the packet in the source VLAN).

When the PFC receives the multicast packet, it is (conceptually) formatted as follows:
Frame Header IP Header Payload

Destination

Source

Destination

Source

TTL

Checksum

Data

Checksum

Group G1 MAC

Server A MAC

Group G1 IP

Server A IP

n

calculation1

The PFC rewrites the packet as follows:

The result is a rewritten IP multicast packet that appears to have been routed by the switch. The PFC replicates the rewritten packet onto the appropriate destination VLANs, where it is forwarded to members of IP multicast group G1.

After the PFC performs the packet rewrite, the packet is (conceptually) formatted as follows:
Frame Header IP Header Payload

Destination

Source

Destination

Source

TTL

Checksum

Data

Checksum

Group G1 MAC

MSFC MAC

Group G1 IP

Server A IP

n-1

calculation2

Partially and Completely Switched Flows

When at least one outgoing router interface for a given flow is multilayer switched, and at least one outgoing interface is not multilayer switched, that flow is considered partially switched. When a partially switched flow is created, all multicast traffic belonging to that flow still reaches the MSFC and is software forwarded on those outgoing interfaces that are not multilayer switched.

A flow might be partially switched instead of completely switched in these situations:

When all the outgoing router interfaces for a given flow are multilayer switched, and none of the above situations apply to the flow, that flow is considered completely switched. When a completely switched flow is created, the PFC prevents multicast traffic bridged on the source VLAN for that flow from reaching the MSFC interface in that VLAN, freeing the MSFC of the forwarding and replication load for that flow.

One consequence of a completely switched flow is that the Catalyst 6000 family switch cannot record multicast statistics for that flow. Therefore, the PFC periodically sends multicast packet and byte count statistics for all completely switched flows to the switch. The switch updates the corresponding multicast routing table entry and resets the expiration timer for that multicast route.

Default IP MMLS Configuration

Table 13-1 shows the default IP MMLS router configuration.


Table 13-1: Default IP MMLS Router Configuration
Feature Default Value

Multicast routing

Disabled globally

PIM routing

Disabled on all interfaces

IP MMLS

Enabled when multicast routing is enabled and PIM is enabled on the interface

IGMP snooping is enabled by default on all VLAN interfaces. If you disable IGMP snooping on an interface then multicast Layer 3 flows will still be hardware switched. Bridging of the flow on an interface with IGMP snooping disabled causes flooding to all forwarding interfaces of the VLAN. For details on configuring IGMP snooping, see "Configuring IGMP Snooping."

Configuration Guidelines and Restrictions

These sections describe the configuration guidelines that apply when configuring IP MMLS:

IP MMLS Configuration Restrictions

IP MMLS does not perform multilayer switching for an IP multicast flow in the following situations:

224.0.0.* through 239.0.0.*
224.128.0.* through 239.128.0.*

Note Groups in the 224.0.0.* range are reserved for routing control packets and must be flooded to all forwarding interfaces of the VLAN. All these addresses map to the multicast MAC address range 01-00-5E-00-00-xx, where xx is in the range 0-0xFF.

Note In systems with redundant MSFCs, the PIM interface configuration must be the same on both the active and standby MSFCs.

Unsupported Features

If you enable IP MMLS, IP accounting for the interface does not report accurate values.


Note The MSFC will not act as an external router for a Catalyst 6000 family switch that has Layer 3 switching hardware. The PFC provides the hardware assistance for all multicast flows seen by the MSFC.

Configuring IP MMLS on the MSFC

These sections describe how to configure the MSFC for IP MMLS:

Enabling IP Multicast Routing Globally

You must enable IP multicast routing globally on the MSFCs before you can enable IP MMLS on router interfaces.


Note This section describes how to enable IP multicast routing on the switch. For more detailed IP multicast configuration information, refer to the documentation for your Cisco IOS software release.

To enable IP multicast routing globally on the Catalyst 6000 family switch, perform this task:
Command Purpose
Router(config)# ip multicast-routing

Enable IP multicast routing globally.

This example shows how to enable multicast routing globally:

Router(config)# ip multicast-routing
Router(config)# 

Enabling IP PIM on Router Interfaces

You must enable PIM on the router interfaces connected to the switch before IP MMLS will function on those router interfaces.


Note This section describes how to enable the Protocol Independent Multicast (PIM) feature on router interfaces. For more detailed PIM configuration information, refer to the documentation for your Cisco IOS software release.

To enable IP PIM on an interface, perform this task:
Step Command Purpose

1 . 

Router(config)# interface {type number}

Select the interface to be configured.

2 . 

Router(config-if)# ip pim {dense-mode | sparse-mode | sparse-dense-mode}

Enable IP PIM on a router interface.

This example shows how to enable PIM on an interface using the default mode (sparse-dense-mode):

Router(config-if)# ip pim
Router(config-if)# 
 

This example shows how to enable PIM sparse-mode on an interface:

Router(config-if)# ip pim sparse-mode
Router(config-if)# 

Enabling IP MMLS on Router Interfaces

IP MMLS is enabled by default on the router interface when you enable PIM on the interface. Perform this task only if you disabled IP MMLS on the interface and you want to reenable it.

PIM can be enabled on any Layer 3 interface, including switched virtual interfaces (SVI) interfaces.


Note You must enable PIM on all participating router interfaces before IP MMLS will function. For information on configuring PIM on router interfaces, see the "Enabling IP PIM on Router Interfaces" section.

To enable IP MMLS on a router interface, perform this task:
Step Command Purpose

1 . 

Router(config)# interface {type number}

Select the interface to be configured.

2 . 

Router(config-if)# mls ip multicast

Enable IP MMLS on a router interface.

This example shows how to enable IP MMLS on a router interface:

Router(config-if)# mls ip multicast
Router(config-if)# 

Disabling IP MMLS on Router Interfaces

To disable IP MMLS on a router interface, perform this task:
Step Command Purpose

1 . 

Router(config)# interface {type number}

Select the interface to be configured.

2 . 

Router(config-if)# no mls ip multicast

Disable IP MMLS on a router interface.

This example shows how to disable IP MMLS on a router interface:

Router(config-if)# no mls ip multicast
Router(config-if)# 

Displaying IP MMLS Interface Status

The show ip pim interface command displays the IP MMLS enable state on MSFC IP PIM interfaces and the number of packets received and sent on the interface.

The show ip interface command displays the IP MMLS enable state on a router interface.

To display IP MMLS information for an IP PIM router interface, perform one of these tasks:
Command Purpose
Router# show ip pim interface [type number] count

Display IP MMLS enable state information for all MSFC IP PIM router interface.

Router# show ip interface

Display the IP MMLS enable state on the router interfaces.

This example shows how to display the IP PIM configuration of the interfaces:

Router# show ip pim interface vlan 10
 
Address          Interface          Version/Mode    Nbr   Query     DR
                                                    Count Intvl
10.0.0.6         Vlan10             v2/Sparse-Dense  0    30     10.0.0.6
Router#
 

This example shows how to display the IP MMLS configuration of VLAN 10:

Router# show ip interface vlan 10
Vlan10 is up, line protocol is up
  Internet address is 10.0.0.6/8
  Broadcast address is 255.255.255.255
  Address determined by non-volatile memory
  MTU is 1500 bytes
  Helper address is not set
  Directed broadcast forwarding is disabled
  Multicast reserved groups joined: 224.0.0.1 224.0.0.2 224.0.0.13 224.0.0.10
  Outgoing access list is not set
  Inbound  access list is not set
  Proxy ARP is enabled
  Security level is default
  Split horizon is enabled
  ICMP redirects are always sent
  ICMP unreachables are never sent
  ICMP mask replies are never sent
  IP fast switching is enabled
  IP fast switching on the same interface is disabled
  IP Flow switching is disabled
  IP CEF switching is enabled
  IP Fast switching turbo vector
  IP Normal CEF switching turbo vector
  IP multicast fast switching is enabled
  IP multicast distributed fast switching is disabled
  IP route-cache flags are Fast, CEF
  Router Discovery is disabled
  IP output packet accounting is disabled
  IP access violation accounting is disabled
  TCP/IP header compression is disabled
  RTP/IP header compression is disabled
  Probe proxy name replies are disabled
  Policy routing is disabled
  Network address translation is disabled
  WCCP Redirect outbound is disabled
  WCCP Redirect exclude is disabled
  BGP Policy Mapping is disabled
  IP multicast multilayer switching is enabled
  IP mls switching is enabled
Router#

Displaying the IP Multicast Routing Table

The show ip mroute command displays the IP multicast routing table on the Catalyst 6000 family switch.

To display the IP multicast routing table, perform this task:
Command Purpose
Router# show ip mroute {interface-type number | active {kbps | interface-type number} | count | pruned | static | summary}

Display the IP multicast routing table and the hardware-switched interfaces.

This example shows how to display the IP multicast routing table:

Router# show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, 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 - Advertised via MSDP
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
 
(*, 224.0.1.39), 00:03:15/00:02:44, RP 0.0.0.0, flags: DJ
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Vlan11, Forward/Sparse-Dense, 00:03:15/00:00:00
 
(*, 224.0.1.40), 22:25:54/00:00:00, RP 0.0.0.0, flags: DJCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Vlan11, Forward/Sparse-Dense, 22:06:02/00:00:00
    Vlan10, Forward/Sparse-Dense, 22:17:46/00:00:00
    Vlan50, Forward/Sparse-Dense, 22:25:54/00:00:00
 
(*, 224.2.2.2), 00:00:02/00:02:58, RP 0.0.0.0, flags: D
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Vlan11, Forward/Sparse-Dense, 00:00:04/00:00:00
 
(10.1.0.61, 224.2.2.2), 00:00:04/00:02:55, flags: T
  Incoming interface: Vlan10, RPF nbr 0.0.0.0
  Outgoing interface list:
    Vlan11, Forward/Sparse-Dense, 00:00:04/00:00:00, H
 
(10.1.0.74, 224.2.2.2), 00:00:02/00:02:57, flags: T
  Incoming interface: Vlan10, RPF nbr 0.0.0.0
  Outgoing interface list:
    Vlan11, Forward/Sparse-Dense, 00:00:02/00:00:00, H
 
(10.1.0.92, 224.2.2.2), 00:00:02/00:02:57, flags: TA
  Incoming interface: Vlan10, RPF nbr 0.0.0.0
  Outgoing interface list:
    Vlan11, Forward/Sparse-Dense, 00:00:02/00:00:00, H
 

The hardware-switched interfaces appear in the show ip mroute display with the outgoing interface flag "H" at the end. This "H" flag will not appear for non-Layer 3 switched routers such as the Cisco 7500.

Displaying IP MMLS on the Switch

The show mls ip multicast command displays detailed information about IP MMLS.

To display detailed IP MMLS information on the switch, perform these tasks:
Command Purpose
Router# show mls ip multicast group ip-address [interface type number | statistics]

Display IP MMLS group information.

Router# show mls ip multicast interface type number [statistics | summary]

Display IP MMLS details for all interfaces.

Router# show mls ip multicast slot 1-8 [group ip-address | interface type number | statistics]

Display IP MMLS interface slot information.

Router# show mls ip multicast source ip-address [interface type number | statistics]

Display IP MMLS source information.

Router# show mls ip multicast summary

Display a summary of IP MMLS information.

Router# show mls ip multicast statistics

Display IP MMLS statistics.

This example shows how to display information on a specific IP MMLS entry on the switch:

Router# show mls ip multicast group 10.1.0.11
Multicast hardware switched flows:
Total shortcut installed: 0
Router#show mls ip multicast interface vlan 10
Multicast hardware switched flows:
(10.1.0.15, 224.2.2.15) Incoming interface: Vlan10, Packets switched: 0
Hardware switched outgoing interfaces:
MFD installed: Vlan10
 
(10.1.0.19, 224.2.2.19) Incoming interface: Vlan10, Packets switched: 1970
Hardware switched outgoing interfaces:
MFD installed: Vlan10
 
(10.1.0.11, 224.2.2.11) Incoming interface: Vlan10, Packets switched: 0
Hardware switched outgoing interfaces:
MFD installed: Vlan10
 
(10.1.0.10, 224.2.2.10) Incoming interface: Vlan10, Packets switched: 2744
Hardware switched outgoing interfaces:
MFD installed: Vlan10
 
(10.1.0.17, 224.2.2.17) Incoming interface: Vlan10, Packets switched: 3340
Hardware switched outgoing interfaces:
MFD installed: Vlan10
 
(10.1.0.13, 224.2.2.13) Incoming interface: Vlan10, Packets switched: 0
Hardware switched outgoing interfaces:
 
Router#
 

This example shows how to display IP MMLS information for VLAN 10 on the switch:

Router# show mls ip multicast interface vlan 10
Multicast hardware switched flows:
(10.1.0.15, 224.2.2.15) Incoming interface: Vlan10, Packets switched: 0
Hardware switched outgoing interfaces:
MFD installed: Vlan10
 
(10.1.0.19, 224.2.2.19) Incoming interface: Vlan10, Packets switched: 1970
Hardware switched outgoing interfaces:
MFD installed: Vlan10
 
(10.1.0.11, 224.2.2.11) Incoming interface: Vlan10, Packets switched: 0
Hardware switched outgoing interfaces:
MFD installed: Vlan10
 
(10.1.0.10, 224.2.2.10) Incoming interface: Vlan10, Packets switched: 2744
Hardware switched outgoing interfaces:
MFD installed: Vlan10
 
(10.1.0.17, 224.2.2.17) Incoming interface: Vlan10, Packets switched: 3340
Hardware switched outgoing interfaces:
MFD installed: Vlan10
 
(10.1.0.13, 224.2.2.13) Incoming interface: Vlan10, Packets switched: 0
Hardware switched outgoing interfaces:

This example shows how to display IP MMLS information for slot 3 on the switch:

Router# show mls ip multicast slot 3
Multicast hardware switched flows:
Total shortcut installed: 0
Router#show mls ip multicast stat
 
MLS Multicast Operation Status:
MLS Multicast configuration and state:
    Router Mac: 00e0.b0ff.7b00, Router IP: 33.0.33.24
    MLS multicast operating  state: ACTIVE
    Maximum number of allowed outstanding messages: 1
    Maximum size reached from feQ: 3096
    Feature Notification sent: 1
    Feature Notification Ack received: 1
    Unsolicited Feature Notification received: 0
    MSM sent: 203904
    MSM ACK received: 203903
    Delete notifications received: 0
    Flow Statistics messages received: 34852
 
MLS Multicast statistics:
    Flow install Ack: 988199
    Flow install Nack: 1
    Flow update Ack: 1415808
    Flow update Nack: 0
    Flow delete Ack: 768075
    Complete flow install Ack: 950160
    Complete flow install Nack: 1
 
MLS Multicast Operation Status:
    Complete flow delete Ack: 591715
    Input VLAN delete Ack: 0
    Output VLAN delete Ack: 0
    Group delete sent: 3381
    Group delete Ack: 3381
    Global delete sent: 0
    Global delete Ack: 0
 
    L2 entry not found error: 0
    Generic error : 0
    LTL entry not found error: 0
    MET entry not found error: 0
    L3 entry exists error : 1
    Hash collision error : 0
    L3 entry not found error: 0
    MFD entry exists error : 1
 
Router#
 

This example shows how to display the IP MMLS statistics for the switch:

Router# show mls ip multicast statistics
 
MLS Multicast Operation Status:
MLS Multicast configuration and state:
    Router Mac: 00e0.b0ff.7b00, Router IP: 33.0.33.24
    MLS multicast operating  state: ACTIVE
    Shortcut Request Queue size 4
    Maximum number of allowed outstanding messages: 1
    Maximum size reached from feQ: 3096
    Feature Notification sent: 1
    Feature Notification Ack received: 1
    Unsolicited Feature Notification received: 0
    MSM sent: 205170
    MSM ACK received: 205170
    Delete notifications received: 0
    Flow Statistics messages received: 35211
 
MLS Multicast statistics:
    Flow install Ack: 996508
    Flow install Nack: 1
    Flow update Ack: 1415959
    Flow update Nack: 0
    Flow delete Ack: 774953
    Complete flow install Ack: 958469
 
Router#
 

This example shows how to display a summary of IP MMLS information on the switch:

Router# show mls ip multicast summary
2965 MMLS entries using 298412 bytes of memory
Number of partial hardware-switched flows: 0
Number of complete hardware-switched flows: 2965
Router#show mls ip multicast statistics
 
MLS Multicast Operation Status:
MLS Multicast configuration and state:
    Router Mac: 00e0.b0ff.7b00, Router IP: 33.0.33.24
    MLS multicast operating  state: ACTIVE
    Shortcut Request Queue size 4
    Maximum number of allowed outstanding messages: 1
    Maximum size reached from feQ: 3096
    Feature Notification sent: 1
    Feature Notification Ack received: 1
    Unsolicited Feature Notification received: 0
    MSM sent: 205170
    MSM ACK received: 205170
    Delete notifications received: 0
    Flow Statistics messages received: 35211
 
MLS Multicast statistics:
    Flow install Ack: 996508
    Flow install Nack: 1
    Flow update Ack: 1415959
    Flow update Nack: 0
    Flow delete Ack: 774953
    Complete flow install Ack: 958469
 
Router#
 

Using Debug Commands on the IP MMLS Switch

Table 13-2 describes IP MMLS-related debug commands that you can use to troubleshoot IP MMLS problems on the switch.


Table 13-2: IP MMLS Debug Commands
Command Description

[no] debug mls ip multicast events

Display IP MMLS events

[no] debug mls ip multicast errors

Turn on debug messages for multicast MLS-related errors

[no] debug mls ip multicast group group_id group_mask

Turn on debugging for a subset of flows

[no] debug mls ip multicast messages

Display IP MMLS messages from/to hardware switching engine

[no] debug mls ip multicast all

Turn on all IP MMLS messages

[no] debug mdss errors

Turn on MDSS1 error messages

[no] debug mdss events

Turn on MDSS-related events

[no] debug mdss all

Turn on all MDSS messages

1MDSS = Multicast Distributed Switching Services

Clearing IP MMLS Statistics

The clear mls multicast statistics command clears IP MMLS statistics for all participating MSFCs.

To clear IP MMLS statistics on the MSFCs, perform this task:
Command Purpose
Router# clear mls ip multicast statistics 

Clear IP MMLS statistics on the switch.

This example shows how to clear IP MMLS statistics on the MSFCs:

Router# clear mls ip multicast statistics 
 

The show mls multicast statistics command displays a variety of information about the multicast flows being handled by the PFC. You can display entries based on any combination of the participating MSFC, the VLAN, the multicast group address, or the multicast traffic source. For an example of the show mls ip multicast statistics command, see "Displaying IP MMLS on the Switch" section.


hometocprevnextglossaryfeedbacksearchhelp
Posted: Mon Jan 3 14:41:38 PST 2000
Copyright 1989-1999©Cisco Systems Inc.