|
|
Prior to multicast distributed switching (MDS), IP multicast traffic was always switched at the Route Processor (RP) in the Route Switch Processor (RSP)-based platforms. With Cisco IOS Release 11.2 GS, IP multicast traffic can be distributed switched on RSP-based platforms with VIPs. Furthermore, MDS is the only multicast switching method on the Cisco 12000 Gigabit Switched Router (GSR), starting with Cisco IOS Release 11.2(11) GS.
Switching multicast traffic at the RP had disadvantages:
MDS solves these problems by performing distributed switching of multicast packets received at the line cards (VIPs in the case of RSP, and line cards in the case of GSR). The line card is the interface card that houses the VIPs (in the case of RSP) and the GSR line card (in the case of GSR). MDS is accomplished using a forwarding data structure called a Multicast Forwarding Information Base (MFIB), which is a subset of the routing table. A copy of MFIB runs on each line card and is always kept up to date with the RP's MFIB table.
In the case of RSP, packets received on non-VIP IPs are switched by the RP.
MDS can work in conjunction with Cisco Express Forwarding (CEF), unicast distributed fast switching (DFS), or flow switching.
The multicast switching load is kept off the RP, improving the performance of the router.
This feature is supported on these platforms:
This section describes the tasks to configure MDS. The first task is required.
To enable MDS, you must enable it globally and on at least one interface because MDS is an attribute of the interface. Perform the following tasks beginning in global configuration mode:
| Task | Command |
|---|---|
Step 1 Enable MDS globally. | |
Step 2 Configure an interface. | interface type number |
Step 3 Enable distributed switching on the RSP. (This step is required on the RSP platform only.) | |
Step 4 Enable MDS on the interface. | |
Step 5 Repeat Steps 2 through 4 for each interface that you want to perform MDS. |
|
To maintain MDS on the line cards, perform the following task in EXEC mode:
| Task | Command |
|---|---|
Clear the line card's MFIB table and resynchronize with the RP. |
To maintain MDS on the RP, perform the following tasks in EXEC mode:
| Task | Command |
|---|---|
Clear multicast routes and counts. | clear ip mroute {* | group [source]} |
Clear all packet counts on the line cards. |
To monitor MDS on the line cards, perform the following tasks in EXEC mode. Remember that to reach a line card's console, enter attach slot#, using the slot number where the line card resides.
| Task | Command |
|---|---|
Display the MFIB table, forwarding information, related flags, and counts. | show ip mds forwarding [group-address] [source-address] |
Display a summary of the MFIB. |
To monitor MDS on the RP, perform the following tasks in EXEC mode:
| Task | Command |
|---|---|
Display switching statistics or line card statistics for MDS. | show ip mds stats [switching | linecard] |
Display the status of MDS interfaces. | |
Display switching counts for unicast distributed fast switching and other fast switching statistics. | show ip pim interface [type number] count |
Display the contents of the IP fast-switching cache. | show ip mcache [group [source]] |
Display numbers of packets that were process switched, fast switched, and distributed switched. |
The following example enables MDS. The command ip route-cache distributed is needed on the RSP only, not on the GSR.
ip multicast-routing distributed interface pos 1/0/0 ip route-cache distributed ip mroute-cache distributed
This section documents new or modified commands. All other commands used with this feature are documented in the Cisco IOS Release 11.2 command references.
To clear all routes from a line card's MFIB table and resynchronize it with the RP, use the clear ip mds forwarding EXEC command.
clear ip mds forwardingThis command has no arguments or keywords.
EXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on a line card of a Cisco 7500 or Cisco 12000.
The following example clears the line card's MFIB table:
clear ip mds forwarding
To clear all line card counts or packet counts, use the clear ip pim interface count EXEC command.
clear ip pim interface countThis command has no arguments or keywords.
EXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on an RP to delete all multicast distributed switching (MDS) statistics for the entire router.
The following example clears all the line card packets counts:
clear ip pim interface count
To configure IP multicast fast switching or multicast distributed switching (MDS), use the ip mroute-cache interface configuration command. To disable either of these features, use the no form of this command.
ip mroute-cache [distributed]
distributed | (Optional) Enables MDS on the interface. In the case of RSP, this keyword is optional; if it is omitted, fast switching occurs. On the GSR, this keyword is required because the GSR does only distributed switching. |
On the RSP, IP multicast fast switching is enabled; MDS is disabled.
On the GSR, MDS is disabled.
Interface configuration
This command first appeared in Cisco IOS Release 11.0. The distributed keyword first appeared in Release 11.2(11) GS.
On the RSP
If multicast fast switching is disabled on an incoming interface for a multicast routing table entry, the packet will be sent at process level for all interfaces in the outgoing interface list.
If multicast fast switching is disabled on an outgoing interface for a multicast routing table entry, the packet is process level switched for that interface, but may be fast-switched for other interfaces in the outgoing interface list.
When multicast fast switching is enabled (like unicast routing), debug messages are not logged. If you want to log debug messages, disable fast switching.
If MDS is not enabled on an incoming interface that is capable of MDS, incoming multicast packets will not be distributed switched; they will be fast-switched at the RP as before. Also, if the incoming interface is not capable of MDS, packets will get fast-switched or process-switched at the RP as before.
If MDS is enabled on the incoming interface, but at least one of the outgoing interfaces cannot fast-switch, packets will be process-switched. So it is a good idea not to disable fast switching on any interface when MDS is enabled.
On the GSR
On the GSR, all interfaces should be configured for MDS because that is the only switching mode.
The following example enables IP multicast fast switching on the interface:
ip mroute-cache
The following example disables IP multicast fast switching on the interface:
no ip mroute-cache
The following example enables MDS on the interface:
ip mroute-cache distributed
The following example disables MDS and IP multicast fast switching on the interface:
no ip mroute-cache distributed
To enable IP multicast routing or multicast distributed switching (MDS), use the ip multicast-routing global configuration command. To disable IP multicast routing and MDS, use the no form of this command.
ip multicast-routing [distributed]
distributed | (Optional) Enables MDS. |
Disabled
Global configuration
This command first appeared in Cisco IOS Release 10.0. The distributed keyword first appeared in Release 11.2(11) GS.
When IP multicast routing is disabled, the Cisco IOS software does not forward any multicast packets.
The following example enables IP multicast routing:
ip multicast-routing
The following example disables IP multicast routing and MDS:
no ip multicast-routing
You can use the master indexes or search online to find documentation of related commands.
ip pim
To display numbers of packets that were process switched, fast switched, and distributed switched, use the show interface stats EXEC command.
show interface type number stats
type number | Interface type and number about which to display statistics. |
EXEC
This command first appeared in Cisco IOS Release 11.0.
Use this command on the RP.
The following is sample output from the show interface stats command:
Router# show interface fddi 3/0/0 stats
Fddi3/0/0
Switching path Pkts In Chars In Pkts Out Chars Out
Processor 3459994 1770812197 4141096 1982257456
Route cache 10372326 3693920448 439872 103743545
Distributed cache 19257912 1286172104 86887377 1184358085
Total 33090232 2455937453 91468345 3270359086
Table 1 describes the fields in the display.
| Field | Description |
|---|---|
Fddi3/0/0 | Interface for which information is shown. |
Switching path | Column heading for the various switching paths below it. |
Pkts In | Number of packets received in each switching mechanism. |
Chars In | Number of characters received in each switching mechanism. |
Pkts Out | Number of packets sent out each switching mechanism. |
Chars Out | Number of characters sent out each switching mechanism. |
To display the contents of the IP multicast fast-switching cache, use the show ip mcache EXEC command.
show ip mcache [group [source]]
group | (Optional) Displays the fast-switching cache for the single group. The group argument can be either a Class D IP address or a DNS name. |
source | (Optional) If source is also specified, displays a single multicast cache entry. The source argument can be either a unicast IP address or a DNS name. |
EXEC
This command first appeared in Cisco IOS Release 11.0.
Use this command on the RP.
The following is sample output from the show ip mcache command. This entry shows a specific source (wrn-source 204.62.246.73) sending to the World Radio Network group (224.2.143.24).
Router> show ip mcache wrn wrn-source
IP Multicast Fast-Switching Cache (204.62.246.73/32, 224.2.143.24), Fddi0, Last used: 00:00:00 Ethernet0 MAC Header: 01005E028F1800000C1883D30800 Ethernet1 MAC Header: 01005E028F1800000C1883D60800 Ethernet2 MAC Header: 01005E028F1800000C1883D40800 Ethernet3 MAC Header: 01005E028F1800000C1883D70800
Table 2 describes the significant fields in the display.
| Field | Description |
|---|---|
204.62.246.73 | Source address. |
224.2.143.24 | Destination address. |
Fddi0 | Incoming or expected interface on which the packet should be received. |
Last used: | Latest time the entry was accessed for a packet that was successfully fast- switched.
|
Ethernet0 MAC Header: | Outgoing interface list and respective MAC header that is used when rewriting the packet for output. If the interface is a tunnel, the MAC header will show the real next hop MAC header and then, in parentheses, the real interface name. |
The following is sample output from the show ip mcache command when MDS is in effect.
Router# show ip mcache
IP Multicast Fast-Switching Cache
(*, 224.2.170.73), Fddi3/0/0, Last used: mds
Tunnel3 MAC Header: 5000602F9C150000603E473F60AAAA030000000800 (Fddi3/0/0)
Tunnel0 MAC Header: 5000602F9C150000603E473F60AAAA030000000800 (Fddi3/0/0)
Tunnel1 MAC Header: 5000602F9C150000603E473F60AAAA030000000800 (Fddi3/0/0)
On a line card, to display the MFIB table and forwarding information for multicast distributed switching (MDS), use the show ip mds forwarding EXEC command.
show ip mds forwarding [group-address] [source-address]
group-address | (Optional) Address of the IP multicast group for which to display the MFIB table. |
source-address | (Optional) Address of the source of IP multicast packets for which to display the MFIB table. |
EXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on the line card. This command displays the MFIB table, forwarding information and related flags and counts.
slot# (slot number where the line card resides).
On a GSR only, line card commands can be executed from the RP using the following syntax: execute [slot slot-number | all] command
The command is any of the line card show commands, such as show ip mds summary and show ip mds forward.
The following is sample output from the show ip mds forwarding command:
Router# show ip mds forwarding
IP multicast MDFS forwarding information and statistics:
Flags: N - Not MDFS switchable, F - Not all MDFS switchable, O - OIF Null
R - In-ratelimit, A - In-access, M - MTU mismatch, P - Register set
Interface state: Interface, Next-Hop, Mac header
(*, 224.2.170.73),
Incoming interface: Null
Pkts: 0, last used: never, Kbps: 0, fast-flags: N
Outgoing interface list: Null
(128.97.62.86, 224.2.170.73) [31]
Incoming interface: Fddi3/0/0
Pkts: 3034, last used: 00:00:00, Kbps: 0, fast-flags: M
Outgoing interface list:
Table 3 describes the significant fields in the display.
| Field | Description |
|---|---|
(128.97.62.86, 224.2.170.73) [31]) | Source and group addresses. Number in [ ] is the hash bucket for the route. |
Incoming interface: | Expected interface for a multicast packet from the source. If the packet is not received on this interface, it is discarded. |
Pkts | Total number of packets switched by that entry. |
last used: | Time when this MFIB entry was used to switch a packet. |
Kbps: | Kilobits per second of the switched traffic. |
Outgoing interface list: | Interfaces through which packets will be forwarded. |
To display the status of multicast distributed switching (MDS) interfaces, use the show ip mds interface EXEC command.
show ip mds interfaceThis command has no arguments or keywords.
EXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on the RP.
The following is sample output from the show ip mds interface command:
Router# show ip mds interface
Ethernet1/0/0 is up, line protocol is up
Ethernet1/0/1 is up, line protocol is up
Fddi3/0/0 is up, line protocol is up
FastEthernet3/1/0 is up, line protocol is up
Table 4 describes the fields in the display.
| Field | Description |
|---|---|
Ethernet1/0/0 is up | Status of interface. |
line protocol is up | Status of line protocol. |
To display switching statistics or line card statistics for multicast distributed switching (MDS), use the show ip mds stats EXEC command.
show ip mds stats [switching | linecard]
switching | (Optional) Displays switching statistics. |
linecard | (Optional) Displays line card statistics. |
EXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on the RP.
The following is sample output from the show ip mds stats command with the switching keyword:
Router# show ip mds stats switching
Slot Total Switched Drops RPF Punts Failures
(switch/clone)
1 0 0 0 0 4 0/0
3 20260925 18014717 253 93 2247454 1/0
Table 5 describes the fields in the display.
.
| Field | Description |
|---|---|
Slot | Slot number for the line card. |
Total | Total number of packets received. |
Switched | Total number of packets switched. |
Drops | Total number of packets dropped. |
RPF | Total number of packets that failed RPF lookup. |
Punts | Total number of packets sent to the RP because the line card could not switch them. |
Failures (switch/clone) | Times that the RP tried to switch but failed due to lack of resources / clone for RSP only; failed to get a packet clone. |
The following is sample output from the show ip mds stats command with the linecard keyword:
Router# show ip mds stats linecard
Slot Status IPC(seq/max) Q(high/route) Reloads
1 active 10560/10596 0/0 9
3 active 11055/11091 0/0 9
Table 6 describes the fields in the display.
.
| Field | Description |
|---|---|
Slot | VIP card slot. |
Status |
|
IPC (seq/max) | Interprocess communication of packets sent from the RP to the VIP. |
Q (high/route) |
|
Reloads | Number of times the image on the VIP was reloaded. |
To display a summary of the MFIB table for multicast distributed switching (MDS), use the show ip mds summary EXEC command.
show ip mds summaryThis command has no arguments or keywords.
EXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on a line card. On a GSR only, line card commands can be executed from the RP using the following syntax:
execute [slot slot-number | all] command
The command is any of the line card show commands, such as show ip mds summary and show ip mds forward.
The following is sample output from the show ip mds summary command:
Router# show ip mds summary
IP multicast MDFS forwarding information and statistics:
Flags: N - Not MDFS switchable, F - Not all MDFS switchable, O - OIF Null
R - In-ratelimit, A - In-access, M - MTU mismatch, P - Register set
Interface state: Interface, Next-Hop, Mac header
(*, 224.2.170.73),
Incoming interface: Null
Pkts: 0, last used: never, Kbps: 0, fast-flags: N
(128.97.62.86, 224.2.170.73) [31]
Incoming interface: Fddi3/0/0
Pkts: 3045, last used: 00:00:03, Kbps: 0, fast-flags: M
(128.223.3.7, 224.2.170.73) [334]
Incoming interface: Fddi3/0/0
Pkts: 0, last used: never, Kbps: 0, fast-flags: M
Table 7 describes the fields in the display.
| Field | Description |
|---|---|
(128.97.62.86, 224.2.170.73) [31] | Source and group addresses. Number in [ ] is the hash bucket for the route. |
Incoming interface | Expected interface for a multicast packet from the source. If the packet is not received on this interface, it is discarded. |
Pkts | Total number of packets switched by that entry. |
last used | Time when this MFIB entry was used to switch a packet. |
Kbps | Kilobits per second of the switched traffic. |
To display switching counts for multicast distributed switching (MDS) and other fast switching statistics, use the show ip pim interface count EXEC command.
show ip pim interface [type number] count
type number | (Optional) Interface type and number. If these arguments are specified, information is displayed about that interface only. |
EXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on the RP.
The following is sample output from the show ip pim interface count command:
Router#show ip pim interface countAddres
s Interface FS Mpackets In/Out
128.223.224.8 Ethernet1/0/0 D 4/0
128.223.225.1 Ethernet1/0/1 D 0/0
128.223.222.8 Fddi3/0/0 D 20182993/56931
128.223.156.1 FastEthernet3/1/0 D 59991/462385
137.39.26.98 Tunnel0 * 394681/10686513
128.223.90.13 Tunnel1 * 517821/7185605
128.223.90.25 Tunnel3 * 26282/20027641
128.223.90.29 Tunnel4 * 2415/8688961
Table 8 describes the fields in the display.
| Field | Description |
|---|---|
Address | Source address of the IP multicast packet. |
Interface | Interface on which the packets are arriving. |
FS | D indicates the packets were distributed switched. |
Mpackets In/Out | Number of multicast packets received/number of multicast packets sent out. |
This section documents the following debug commands:
event | Displays MDS events when there is a problem. |
packet | Displays MDS packets. |
EXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on the line card or RP.
Figure 1 shows sample debug ip mds ipc packet output.
VIP-Slot0# debug ip mds ipc packet
MDFS ipc packet debugging is on VIP-Slot0# MDFS: LC sending statistics message to RP with code 0 of size 36 MDFS: LC sending statistics message to RP with code 1 of size 680 MDFS: LC sending statistics message to RP with code 2 of size 200 MDFS: LC sending statistics message to RP with code 3 of size 152 MDFS: LC sending window message to RP with code 36261 of size 8 MDFS: LC received IPC packet of size 60 sequence 36212
Figure 2 shows sample debug ip mds ipc event output.
VIP-Slot0# debug ip mds ipc event
MDFS: LC received invalid sequence 21 while expecting 20
To debug MFIB route creation, route updates, and so on, use the debug ip mds mevent EXEC command.
[no] debug ip mds meventEXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on the line card.
Figure 3 shows sample debug ip mds mevent output.
VIP-Slot0# debug ip mds mevent
MDFS mroute event debugging is on VIP-Slot0#clear ip mdfs for * VIP-Slot0# MDFS: Create (*, 239.255.255.255) MDFS: Create (192.168.1.1/32, 239.255.255.255), RPF POS2/0/0 MDFS: Add OIF for mroute (192.168.1.1/239.255.255.255) on Fddi0/0/0 MDFS: Create (*, 224.2.127.254) MDFS: Create (192.168.1.1/32, 224.2.127.254), RPF POS2/0/0 MDFS: Add OIF for mroute (192.168.1.1/224.2.127.254) on Fddi0/0/0 MDFS: Create (128.9.160.67/32, 224.2.127.254), RPF POS2/0/0
To debug multicast distributed switching (MDS) events, such as packet drops, interface drops, and switching failures, use the debug ip mds mpacket EXEC command.
[no] debug ip mds mpacketEXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on the line card.
Router# debug ip mds mpacket
To debug line card process level events, use the debug ip mds process EXEC command.
[no] debug ip mds processEXEC
This command first appeared in Cisco IOS Release 11.2(11) GS.
Use this command on the line card or RP.
Figure 4 shows sample debug ip mds process output.
Router# debug ip mds process
MDFS process debugging is on Mar 19 16:15:47.448: MDFS: RP queueing mdb message for (210.115.194.5, 224.2.127.254) to all linecards Mar 19 16:15:47.448: MDFS: RP queueing midb message for (210.115.194.5, 224.2.127.254) to all linecards Mar 19 16:15:47.628: MDFS: RP servicing low queue for LC in slot 0 Mar 19 16:15:47.628: MDFS: RP servicing low queue for LC in slot 2 Mar 19 16:15:48.229: MDFS: RP queueing mdb message for (171.68.224.10, 224.2.127.254) to all linecards Mar 19 16:15:48.229: MDFS: RP queueing mdb message for (171.68.224.10, 224.2.127.254) to all linecards Mar 19 16:15:48.229: MDFS: RP queueing mdb message for (171.69.67.106, 224.2.127.254) to all linecards Mar 19 16:15:48.229: MDFS: RP queueing mdb message for (171.69.67.106, 224.2.127.254) to all linecards Mar 19 16:15:48.229: MDFS: RP queueing mdb message for (206.14.154.181, 224.2.127.254) to all linecards Mar 19 16:15:48.229: MDFS: RP queueing mdb message for (206.14.154.181, 224.2.127.254) to all linecards Mar 19 16:15:48.233: MDFS: RP queueing mdb message for (210.115.194.5, 224.2.127.254) to all linecards
|
|