|
|
This chapter describes how to configure IP Multicast Multilayer Switching (MMLS) on the Catalyst 6000 family switches.
This chapter contains these sections:
These sections provide an overview of IP 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 packet routing 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. Flows are based on the IP address of the source device, the destination IP multicast group address, and the source VLAN.
The Policy Feature Card (PFC) uses the Layer 2 multicast forwarding table to determine on which ports 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 (IGMP snooping or GMRP). These entries map the destination multicast MAC address to outgoing switch ports for a given VLAN.
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 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 router.
The PFC populates the MLS cache using information learned from the routers participating in IP MLS.
Whenever the router 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 router 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 router 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 reverse path forwarding (RPF) interface for the multicast flow.
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, if 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 router. 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 router 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, reducing the load on the router.
One consequence of a completely switched flow is that the router 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 router. The router updates the corresponding multicast routing table entry and resets the expiration timer for that multicast route.
Table 4-1 shows the default IP MMLS switch configuration. Table 4-2 shows the default IP MMLS router configuration.
| Feature | Default Value |
|---|---|
Multicast services (IGMP snooping or GMRP) | Disabled |
IP MMLS | Disabled |
| 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 |
These sections describe the configuration guidelines that apply when configuring IP MMLS:
These guidelines and restrictions apply when configuring the switch for 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 will not reflect accurate values.
These sections describe how to configure the MSFC for IP MMLS:
To configure IP MMLS on the switch, see the "Configuring IP MMLS on the Switch" section. For detailed information on configuring interVLAN routing on the MSFC, see "Configuring InterVLAN Routing."
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 router, perform this task in global configuration mode:
| Task | Command |
|---|---|
Enable IP multicast routing globally. | Router(config)# ip multicast-routing |
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 in interface configuration mode:
| Task | Command |
|---|---|
Enable IP PIM on a router interface. | Router(config-if)# ip pim {dense-mode | sparse-mode | sparse-dense-mode} |
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.
To enable IP MMLS on a router interface, perform this task in interface configuration mode:
| Task | Command |
|---|---|
Enable IP MMLS on a router interface. | Router(config-if)# mls ip multicast |
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 in interface configuration mode:
| Task | Command |
|---|---|
Disable IP MMLS on a router interface. | Router(config-if)# no mls ip multicast |
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 count 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:
| Task | Command |
|---|---|
| show ip pim interface [type number] count |
| show ip interface |
The show ip mroute command displays the IP multicast routing table on the router.
To display the IP multicast routing table, perform this task:
| Task | Command |
|---|---|
Display the IP multicast routing table. | show ip mroute [group[source]] | [summary] | [count] | [active kbps] |
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
Outgoing interface Flags: H - Hardware switched
Timers:Uptime/Expires
Interface state:Interface, Next-Hop or VCD, State/Mode
(*, 224.0.1.40), 00:01:15/00:00:00, RP 0.0.0.0, flags:DJCL
Incoming interface:Null, RPF nbr 0.0.0.0
Outgoing interface list:
Vlan800, Forward/Dense, 00:01:15/00:00:00
(*, 224.1.1.1), 00:01:14/00:02:59, RP 0.0.0.0, flags:DJC
Incoming interface:Null, RPF nbr 0.0.0.0
Outgoing interface list:
Vlan5, Forward/Dense, 00:01:15/00:00:00
Vlan4, Forward/Dense, 00:01:15/00:00:00
Vlan3, Forward/Dense, 00:01:15/00:00:00
Vlan2, Forward/Dense, 00:01:15/00:00:00
(2.1.1.2, 224.1.1.1), 00:01:06/00:02:53, flags:CT
Incoming interface:Vlan800, RPF nbr 0.0.0.0
Outgoing interface list:
Vlan2, Forward/Dense, 00:01:06/00:00:00, H
Vlan3, Forward/Dense, 00:01:06/00:00:00, H
Vlan4, Forward/Dense, 00:01:06/00:00:00, H
Vlan5, Forward/Dense, 00:01:06/00:00:00, H
The show mls ip multicast command displays detailed information about IP MMLS.
To display detailed MMLS information on the router, perform one of these tasks:
| Task | Command |
|---|---|
| show mls ip multicast [[group[source][vlan-id]] | [*]] |
| show mls ip multicast summary |
| show mls ip multicast statistics |
This example shows how to display information on a specific IP MMLS entry on the router:
Router# show mls ip multicast 224.1.1.1 Multicast hardware switched flows: (1.1.13.1, 224.1.1.1) Incoming interface: Vlan13, Packets switched: 61590 Hardware switched outgoing interfaces: Vlan20 Vlan9 MFD installed: Vlan13 (1.1.9.3, 224.1.1.1) Incoming interface: Vlan9, Packets switched: 0 Hardware switched outgoing interfaces: Vlan20 MFD installed: Vlan9 (1.1.12.1, 224.1.1.1) Incoming interface: Vlan12, Packets switched: 62010 Hardware switched outgoing interfaces: Vlan20 Vlan9 MFD installed: Vlan12 (1.1.12.3, 224.1.1.1) Incoming interface: Vlan12, Packets switched: 61980 Hardware switched outgoing interfaces: Vlan20 Vlan9 MFD installed: Vlan12 (1.1.11.1, 224.1.1.1) Incoming interface: Vlan11, Packets switched: 62430 Hardware switched outgoing interfaces: Vlan20 Vlan9 MFD installed: Vlan11 (1.1.11.3, 224.1.1.1) Incoming interface: Vlan11, Packets switched: 62430 Hardware switched outgoing interfaces: Vlan20 Vlan9 MFD installed: Vlan11 Total hardware switched installed: 6 Router#
This example shows how to display a summary of IP MMLS information on the router:
Router# show mls ip multicast summary 7 MMLS entries using 560 bytes of memory Number of partial hardware-switched flows:2 Number of complete hardware-switched flows:5 Router#
Table 4-3 describes IP MMLS-related debug commands that you can use to troubleshoot IP MMLS problems on the router.
| Command | Description |
|---|---|
[no] debug mls ip multicast events | Displays IP MMLS events. |
[no] debug mls ip multicast errors | Turns on debug messages for multicast MLS-related errors. |
[no] debug mls ip multicast group group_id group_mask | Turns on debugging for a subset of flows. |
[no] debug mls ip multicast messages | Displays IP MMLS messages from/to the hardware switching engine. |
[no] debug mls ip multicast all | Turns on all IP MMLS messages. |
[no] debug mdss error | Turns on MDSS1 error messages. |
[no] debug mdss events | Turns on MDSS-related events. |
[no] debug mdss all | Turns on all MDSS messages. |
| 1MDSS = Multicast Distributed Switching Services |
Table 4-4 describes the Serial Control Protocol (SCP)-related debug commands to troubleshoot the SCP that runs over the Ethernet out-of-band channel (EOBC).
| Command | Description |
[no] debug scp async | Displays trace for async data in and out of the SCP system. |
[no] debug scp data | Shows packet data trace. |
[no] debug scp errors | Displays errors and warnings in the SCP. |
[no] debug scp packets | Displays packet data in and out of the SCP system. |
[no] debug scp timeouts | Reports timeouts. |
[no] debug scp all | Turns on all SCP debugging messages. |
These sections describe how to configure IP MMLS on the switch:
When you enable IP MMLS on the switch, the MSFCs download flow information to the switch (PFC). The PFC stores the information in the Layer 3 MLS cache and begins multilayer switching IP multicast traffic. IP MMLS is disabled by default on the PFC.
To enable IP MMLS on the switch, perform this task in privileged mode:
| Task | Command |
|---|---|
Step 1 Enable IP MMLS on the switch. | set mls multicast enable |
Step 2 Verify that MMLS is enabled. | show mls multicast |
This example shows how to enable IP MMLS on the switch:
Console> (enable) set mls multicast enable Multilayer Switching for Multicast is enabled for this device. Console> (enable)
When you disable IP MMLS on the switch, the PFC stops multilayer switching IP multicast traffic, purges all IP MMLS information from the Layer 3 cache, and stops processing multicast messages sent from the MSFCs.
To disable IP MMLS on the switch, perform this task in privileged mode:
| Task | Command |
|---|---|
Step 1 Disable IP MMLS on the switch. | set mls multicast disable |
Step 2 Verify that MMLS is disabled. | show mls multicast |
This example shows how to disable IP MMLS on the switch:
Console> (enable) set mls multicast disable Multilayer Switching for Multicast is disabled for this device. Console> (enable)
The show mls multicast command displays global IP MMLS configuration information and the state of participating MSFCs.
To display global IP MMLS configuration information on the switch, perform this task:
| Task | Command |
|---|---|
Display global IP MMLS configuration information. | show mls multicast |
This example shows how to display global IP MMLS configuration information on the switch:
Console> (enable) show mls multicast
Admin Status: Enabled
Operational Status: Active
Configured flow mask is {Destination-source-vlan flow}
Active Entries = 10
Router include list :
1.1.9.254 (Active)
1.1.5.252 (Active)
Console> (enable)
The show mls multicast statistics command displays IP MMLS statistics for multicast MSFCs.
To display IP MMLS statistics for multicast MSFCs, perform this task:
| Task | Command |
|---|---|
Display IP multicast MSFC statistics. | show mls multicast statistics [ip_addr] |
This example shows how to display IP MMLS statistics for multicast MSFCs on the switch:
Console (enable) show mls multicast statistics
Router IP Router Name Router MAC
-------------------------------------------------------
1.1.9.254 ? 00-50-0f-06-3c-a0
Transmit:
Delete Notifications: 23
Acknowledgements: 92
Flow Statistics: 56
Receive:
Open Connection Requests: 1
Keep Alive Messages: 72
Shortcut Messages: 19
Shortcut Install TLV: 8
Selective Delete TLV: 4
Group Delete TLV: 0
Update TLV: 3
Input VLAN Delete TLV: 0
Output VLAN Delete TLV: 0
Global Delete TLV: 0
MFD Install TLV: 7
MFD Delete TLV: 0
Router IP Router Name Router MAC
-------------------------------------------------------
1.1.5.252 ? 00-10-29-8d-88-01
Transmit:
Delete Notifications: 22
Acknowledgements: 75
Flow Statistics: 22
Receive:
Open Connection Requests: 1
Keep Alive Messages: 68
Shortcut Messages: 6
Shortcut Install TLV: 4
Selective Delete TLV: 2
Group Delete TLV: 0
Update TLV: 0
Input VLAN Delete TLV: 0
Output VLAN Delete TLV: 0
Global Delete TLV: 0
MFD Install TLV: 4
MFD Delete TLV: 0
Console (enable)
The clear mls multicast statistics command clears IP MMLS statistics for all participating MSFCs.
To clear IP MMLS statistics on the switch, perform this task in privileged mode:
| Task | Command |
|---|---|
Clear IP MMLS statistics on the switch. | clear mls multicast statistics |
This example shows how to clear IP MMLS statistics on the switch:
Console> (enable) clear mls multicast statistics All statistics for the MLS routers in include list are cleared. Console> (enable)
The show mls multicast entry 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.
To display information about IP MMLS entries on the switch, perform this task in privileged mode:
| Task | Command |
|---|---|
Display information about IP MMLS entries on the switch. | show mls multicast entry [[[mod] [vlan vlan_id] [group ip_addr] [source ip_addr]] | [all]] |
This example shows how to display all IP MMLS entries on the switch:
Console> (enable) show mls multicast entry all Router IP Dest IP Source IP Pkts Bytes InVlan OutVlans --------------- --------------- --------------- ---------- ----------- ------- -------- 1.1.5.252 224.1.1.1 1.1.11.1 15870 2761380 20 1.1.9.254 224.1.1.1 1.1.12.3 473220 82340280 12 1.1.5.252 224.1.1.1 1.1.12.3 15759 2742066 20 1.1.9.254 224.1.1.1 1.1.11.1 473670 82418580 11 1.1.5.252 224.1.1.1 1.1.11.3 15810 2750940 20 1.1.9.254 224.1.1.1 1.1.12.1 473220 82340280 12 1.1.5.252 224.1.1.1 1.1.13.1 15840 2756160 20 1.1.9.254 224.1.1.1 1.1.13.1 472770 82261980 13 1.1.5.252 224.1.1.1 1.1.12.1 15840 2756160 20 1.1.9.254 224.1.1.1 1.1.11.3 473667 82418058 11 Total Entries: 10 Console> (enable)
This example shows how to display IP MMLS entries for a specific MSFC:
Console> (enable) show mls multicast entry 15 Router IP Dest IP Source IP Pkts Bytes InVlan OutVlans --------------- --------------- --------------- ---------- ----------- ------- -------- 1.1.5.252 224.1.1.1 1.1.11.1 15870 2761380 20 1.1.5.252 224.1.1.1 1.1.12.3 15759 2742066 20 1.1.5.252 224.1.1.1 1.1.11.3 15810 2750940 20 1.1.5.252 224.1.1.1 1.1.13.1 15840 2756160 20 1.1.5.252 224.1.1.1 1.1.12.1 15840 2756160 20 Total Entries: 5 Console> (enable)
This example shows how to display IP MMLS entries for a specific multicast group address:
Console> (enable) show mls multicast entry group 226.0.1.3 short Router IP Dest IP Source IP InVlan Pkts Bytes OutVlans -------------- ----------- ------------ ------ ------ --------- --------- 171.69.2.1 226.0.1.3 172.2.3.8 20 171 23512 10,201,22,45 171.69.2.1 226.0.1.3 172.3.4.9 12 25 3120 8,20 Total Entries: 2 Console> (enable)
This example shows how to display IP MMLS entries for a specific MSFC and a specific multicast source address:
Console> (enable) show mls multicast entry 15 1.1.5.252 source 1.1.11.1 short Router IP Dest IP Source IP Pkts Bytes InVlan OutVlans --------------- --------------- --------------- ---------- -------------------- ------ ---------- 172.20.49.159 224.1.1.6 1.1.40.4 368 57776 40 23,25 172.20.49.159 224.1.1.71 1.1.22.2 99 65142 22 30,37 172.20.49.159 224.1.1.8 1.1.22.2 396 235620 22 13,19 Console> (enable)
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Tue Aug 8 11:06:54 PDT 2000
Copyright 1989-2000©Cisco Systems Inc.