|
|
This chapter describes how to configure IP multicast Multilayer Switching (MMLS) on the Catalyst 6000 family switch.
This chapter contains these sections:
These sections provide an overview of IP multicast MLS (MMLS) and describe how MMLS works:
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.
An IP multicast flow is a unidirectional sequence of packets between a particular multicast source and the members of a destination multicast group.
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.
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 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.
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 | ||
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.
Table 13-1 shows the 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."
These sections describe the configuration guidelines that apply when configuring IP MMLS:
IP MMLS does not perform multilayer switching for an IP multicast flow in the following situations:
If you enable IP MMLS, IP accounting for the interface does not report accurate values.
These sections describe how to configure the MSFC for IP MMLS:
You must enable IP multicast routing globally on the MSFCs before you can enable IP MMLS on router interfaces.
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)#
You must enable PIM on the router interfaces connected to the switch before IP MMLS will function on those router interfaces.
To enable IP PIM on an interface, perform this task:
| Step | Command | Purpose | ||
|---|---|---|---|---|
| Router(config)# interface {type number}
| Select the interface to be configured. | ||
| 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)#
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.
To enable IP MMLS on a router interface, perform this task:
| Step | Command | Purpose | ||
|---|---|---|---|---|
| Router(config)# interface {type number}
| Select the interface to be configured. | ||
| 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)#
To disable IP MMLS on a router interface, perform this task:
| Step | Command | Purpose | ||
|---|---|---|---|---|
| Router(config)# interface {type number}
| Select the interface to be configured. | ||
| 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)#
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#
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.
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#
Table 13-2 describes IP MMLS-related debug commands that you can use to troubleshoot IP MMLS problems on the switch.
| 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 |
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.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Mon Jan 3 14:41:38 PST 2000
Copyright 1989-1999©Cisco Systems Inc.