|
|
This feature module describes the Bidirectional PIM (bidir-PIM) feature. It includes information on the benefits of the new feature, supported platforms, related documents, and so on.
This document includes the following sections:
Bidir-PIM is a variant of the Protocol Independent Multicast (PIM) suite of routing protocols for IP multicast. In PIM, packet traffic for a multicast group is routed according to the rules of the mode configured for that multicast group. The Cisco IOS implementation of PIM supports three modes for a multicast group:
A router can simultaneously support all three modes or any combination of them for different multicast groups. In bidirectional mode, traffic is only routed along a bidirectional shared tree that is rooted at the rendezvous point (RP) for the group. In bidir-PIM, the IP address of the RP acts as the key to having all routers establish a loop-free spanning tree topology rooted in that IP address. This IP address does not need to be a router, but can be any unassigned IP address on a network that is reachable throughout the PIM domain. Using this technique is the preferred configuration for establishing a redundant RP configuration for bidir-PIM.
Membership to a bidirectional group is signalled via explicit Join messages. Traffic from sources is unconditionally sent up the shared tree toward the RP and passed down the tree toward the receivers on each branch of the tree.
Bidir-PIM is designed to be used for many-to-many applications within individual PIM domains. Multicast groups in bidirectional mode can scale to an arbitrary number of sources without incurring overhead due to the number of sources.
Bidir-PIM is derived from the mechanisms of PIM sparse mode (PIM SM) and shares many SPT operations. Bidir-PIM also has unconditional forwarding of source traffic toward the RP upstream on the shared tree, but no registering process for sources as in PIM SM. These modifications are necessary and sufficient to allow forwarding of traffic in all routers solely based on the (*, G) multicast routing entries. This feature eliminates any source-specific state and allows scaling capability to an arbitrary number of sources. Figure 1 and Figure 2 show the difference in state created per router for a unidirectional shared tree and source tree versus a bidirectional shared tree.


In forwarding packets downstream from the RP toward receivers, there are no fundamental differences between bidir-PIM and PIM SM. Bidir-PIM deviates substantially from PIM SM when passing traffic from sources upstream toward the RP.
PIM SM cannot forward traffic in the upstream direction of a tree, because it only accepts traffic from one Reverse Path Forwarding (RPF) interface. This interface (for the shared tree) points toward the RP, therefore allowing only downstream traffic flow. In this case, upstream traffic is first encapsulated into unicast register messages, which are passed from the designated router (DR) of the source toward the RP. In a second step, the RP joins a SPT that is rooted at the source. Therefore, in PIM SM, traffic from sources traveling toward the RP does not flow upstream in the shared tree, but downstream along the SPT of the source until it reaches the RP. From the RP, traffic flows along the shared tree toward all receivers.
In bidir-PIM, the packet forwarding rules have been improved over PIM SM, allowing traffic to be passed up the shared tree toward the RP. To avoid multicast packet looping, bidir-PIM introduces a new mechanism called the designated forwarder (DF) election, which establishes a loop-free SPT rooted at the RP.
On every network segment and point-to-point link, all PIM routers participate in a procedure called DF election. The procedure selects one router as the DF for every RP of bidirectional groups. This router is responsible for forwarding multicast packets received on that network upstream to the RP.
The DF election is based on unicast routing metrics and uses the same tie-break rules employed by PIM assert processes. The router with the most preferred unicast routing metric to the RP becomes the DF. Use of this method ensures that only one copy of every packet will be sent to the RP, even if there are parallel equal cost paths to the RP.
A DF is selected for every RP of bidirectional groups. As a result, multiple routers may be elected as DF on any network segment, one for each RP. In addition, any particular router may be elected as DF on more than one interface.
On a network with local receivers, only the router elected as the DF populates the outgoing interface list (olist) upon receiving Internet Group Management Protocol (IGMP) Join messages, and sends (*, G) Join/Leave messages upstream toward the RP. When a downstream router wishes to join the shared tree, the RPF neighbor in the PIM Join/Leave messages is always the DF elected for the interface leading to the RP.
When a router receives a Join/Leave message, and the router is not the DF for the receiving interface, the message is ignored. Otherwise, the router updates the shared tree in the same way as in sparse mode.
In a network where all routers support bidirectional shared trees, (S, G) Join/Leave messages are ignored. There is also no need to send PIM assert messages, because the DF election procedure eliminates parallel downstream paths from any RP. In addition, an RP never joins a path back to the source, nor will it send any register stops.
If a packet is received from the RPF interface toward the RP, the packet is forwarded downstream according to the olist of the (*, G) entry. Otherwise, only the router that is the DF for the receiving interface forwards the packet upstream toward the RP; all other routers must discard the packet.
Reduced Memory, Bandwidth, and CPU Requirements
In PIM dense mode (PIM DM), PIM SM, and most other multicast routing protocols (such as, Distance Vector Multicast Routing Protocol (DVMRP) and Multicast Open Shortest Path First (MOSPF), protocol operations and maintenance of packet forwarding state depend on signalling the presence or expiration of traffic (where "signalling" refers to both packet forwarding engine to routing protocol process within routers and packet exchange as part of the routing protocol). Triggering PIM assert messages, PIM register messages, and source tree forwarding state are all examples of traffic signalling.
There are several advantages to traffic signalling, but can lead to problems for applications with a large number of sources. For example, the more sources an application has, the less frequently traffic is sent from each sender. Each time a source starts to send packets, protocol operations take place and forwarding state is established. For applications with a large number of sources, this state can time out before the source sends again, resulting in "bursty sources." Therefore, applications with a large number of sources would not only create a large amount of forwarding state (requiring memory), but they could also require high CPU usage on the routing processor due to the accounting of frequently changing state. In addition, the signalling within the router between the routing processor and forwarding hardware can become another potential bottleneck if continuously large amounts of traffic signalling must go to the routing processor and equally large amounts of forwarding state changes must go to the forwarding engine(s).
Bidir-PIM solves all these problems. Not only does bidir-PIM avoid maintaining source-specific forwarding state, therefore reducing the amount of memory needed by the number of sources per multicast group, but it also does not require any traffic signalling in the protocol. Thus, bidir-PIM prevents the "bursty source" problem, saving on CPU requirements for protocol operations and avoiding potential router internal performance limits.
Easier Debugging
Because routers operating in bidirectional mode only maintain a single (*, G) entry per group, debugging multicast connectivity is made simpler than in sparse mode.
RP Tree Delivery for All Packets
InPIM SM, the first few packets of a new source are passed encapsulated, via register packets, before the RP joins a path to the source. The need to send register packets makes PIM SM unsuitable for applications like expanding ring searches, because the expanding ring search for those register packets will start at the RP. Bidir-PIM does not suffer from this limitation because there is no registering process.
![]() |
Note For expanding ring search applications, dense mode is preferred over bidirectional mode because, in dense mode, every packet will travel along the SPT from the source. Therefore, the time-to-live (TTL) will more closely resemble the network neighborhood than when using a shared tree. |
Partial Upgrades Not Allowed
If bidir-PIM is deployed within a domain, then it must be supported on all IP multicast enabled routers in that domain. It is not possible to enable groups for bidir-PIM operation in a partially upgraded network.
![]() |
Note Packet loops will occur immediately in networks that are only partially upgraded to support bidir-PIM. |
Utilization of Network Redundancy Within Bidirectional Groups Not Allowed
A group that is in bidirectional mode has only shared tree forwarding capabilities. Shared tree and SPT forwarding cannot be mixed as in PIM SM. Consequently, traffic for a bidirectional group will only flow along the one shared tree and can never simultaneously utilize multiple paths in a redundant network topology. Care must be taken to not overload parts of the network close to the RP, because all traffic could end up traveling through this area.
Traffic Forwarding Restrictions
Traffic in a bidirectional group will always be forwarded to the RP of that group. If no receivers are along the way to the RP, the traffic will only be dropped off at the RP. Traffic will be forwarded to the RP even if there are no receivers at all. This is a generic restriction resulting from the fact that bidir-PIM does not use traffic signalling. Without traffic signalling, the RP does not know where the currently active sources are, and therefore does not know which sources to signal traffic restrictions to.
In general, these traffic forwarding restrictions are not limitations for the applications for which bidir-PIM was intended. Different bidirectional groups can use different RPs and thus different shared trees, utilizing different parts of the network topology. For groups with many sources, the chance of having no receivers is typically small. Using the following general rules for placing the RP within a network can help avoid most of the potential shortcomings related to traffic forwarding:
![]() |
Note In general, the fact that bidir-PIM forwards traffic up the shared tree toward the RP is not an advantage over PIM SM in terms of traffic forwarding performance or typical path lengths. PIM SM forwards the same traffic down SPTs from the sources toward the RP, and unless the unicast routing is highly asymmetric, these trees will be very similar to the RP trees. In fact, if the unicast routing is fully symmetric, then the SPTs and RP trees will be identical. The difference is only in the forwarding state, which in PIM SM is per source and therefore does not scale to the dimensions of bidir-PIM. The fact that PIM SM keeps per source state for source-to-RP forwarding also allows it to effectively restrict traffic toward the RP. In PIM SM, if there are no receivers to a multicast group, then traffic will not flow toward the RP. The RP will stop the registering from the DR of the source and will not join the SPT to the source. If there are only receivers on branches of the network between the source and the RP in PIM SM, traffic will also only flow toward the RP up to that branching point, but not further on toward the RP. This latter feature is an improvement beyond the PIM SM version 2 protocol, and is only implemented in Cisco IOS Release 12.0 and later releases. |
The bidir-PIM feature is an extension of the existing PIM SM feature, which is documented in the "IP Multicast" chapter of the Cisco IOS IP and IP Routing Configuration Guide and the Cisco IOS IP and IP Routing Command Reference.
For related information on this feature, refer to the following documents:
The bidir-PIM feature in Cisco IOS Release 12.1(2)T is based on the following Internet Engineering Task Force (IETF) protocol specification:
This draft and other drafts referenced by it can be found at the following URL:
Bidir-PIM is supported on all platforms for which IP multicast in Cisco IOS Release 12.1(2)T and further images is supported, except for Cisco 12000 routers.
Bidir-PIM is also supported in the process switching and in the fast-switching path. In addition, it is supported on the Cisco 7500 series routers in the multicast distributed fast-switching path.
Standards
No new or modified standards are supported by this feature.
MIBs
No new or modified MIBs are supported by this feature.
For descriptions of supported MIBs and how to use MIBs, see the Cisco MIB web site on CCO at http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.
RFCs
No new or modified RFCs are supported by this feature.
See the following sections for configuration tasks for the bidir-PIM feature. Each task in the list is identified as either optional or required.
To configure bidir-PIM, use one of the following commands in global configuration mode, depending on which method you use to distribute group-to-RP mappings:
To verify configuration of bidirectional groups, use the following show commands:
| Command | Purpose |
|---|---|
Router#show ip pim interface [type-number] [df | count] [rp-address] | Displays information about the elected DF for each RP of an interface, along with the unicast routing metric associated with the DF. |
Router#show ip pim rp [mapping | metric] [rp-address] | Displays information about configured RPs, learned via Auto-RP or Bootstrap router (BSR), along with their unicast routing metric. |
By default a bidirectional RP advertises all groups as bidirectional. An access list on the RP can be used to specify a list of groups to be advertised as bidirectional. Groups with the deny keyword will operate in dense mode. A different, nonbidirectional RP address is required for groups that operate in sparse mode, because a single access list allows only either a permit or deny keyword.
The following example shows how a router can announce both bidirectional and sparse mode groups, leaving the rest of the groups to operate in dense mode implicitly. 224/8 and 227/8 are bidirectional groups, 225/8 is dense mode, and 226/8 is sparse mode. Both the bidirectional RP and the sparse mode RP are configured on one router, using the IP addresses of two different loopback interfaces.
ip pim send-rp-announce Loopback0 scope 10 group-list 45 bidir ip pim send-rp-announce Loopback1 scope 10 group-list 46 ip pim send-rp-discovery scope 10 access-list 45 permit 224.0.0.0 0.255.255.255 access-list 45 permit 227.0.0.0 0.255.255.255 access-list 45 deny 225.0.0.0 0.255.255.255 access-list 46 permit 226.0.0.0 0.255.255.255
This section documents the following modified commands. All other commands used with this feature are documented in the Cisco IOS Release 12.1 command reference publication.
To configure the address of a Protocol Independent Multicast (PIM) rendezvous point (RP) for a particular group, use the ip pim rp-address global configuration command. To remove an RP address, use the no form of this command.
ip pim rp-address ip-address [group-access-list-number | name] [override] [bidir]
Syntax Description
ip-address IP address of a router to be a PIM RP. This is a unicast IP address in four-part, dotted notation. group-access-list-number (Optional) Number of an access list that defines for which multicast groups the RP should be used. This is a standard IP access list. name (Optional) Name of an access list. The name cannot contain a space or quotation mark, and must begin with an alphabetic character to avoid ambiguity with numbered access lists. override (Optional) Indicates that if there is a conflict, the RP configured with this command prevails over the RP learned by Auto-RP. bidir (Optional) Indicates that the multicast groups specified by the group-access-list-number argument are to operate in bidirectional mode. If the command is configured without this option, the groups specified will operate in PIM sparse mode.
Defaults
No PIM RPs are preconfigured.
Command Modes
Global configuration
Command History
10.2 This command was introduced. 11.1 The override keyword was added. 12.1(2)T The bidir keyword was added.
Release
Modification
Usage Guidelines
In the Cisco IOS implementation of PIM, each multicast group individually operates in one of the following modes: dense mode, sparse mode, or bidirectional mode. In addition to the mode, groups in sparse mode or bidirectional mode need to have the IP address of one router to operate as the RP for the group. All routers in a PIM domain need to have a consistent configuration for the mode and RP addresses of the multicast groups.
The Cisco IOS software learns the mode and RP addresses of multicast groups via the following three mechanisms: static configuration, Auto-RP, and bootstrap (BSR). Use the ip pim rp-address command to statically define the mode of operations and RP address for multicast groups that are to operate in sparse mode or bidirectional mode. By default, groups will operate in dense mode. There are no commands to explicitly define groups to operate in dense mode.
You can configure the Cisco IOS software to use a single RP for more than one group. The conditions specified by the access list determine for which groups the RP can be used. If no access list is configured, the RP is used for all groups. A PIM router can use multiple RPs, but only one per group.
If multiple ip pim rp-address commands are configured, the following rules apply to a multicast group:
Static definitions for the group mode and RP address of the ip pim rp-address command may be used together with dynamically learned group mode and RP address mapping through Auto-RP or BSR. The following rules apply to a multicast group:
Examples
The following example sets the PIM RP address to 198.92.37.33 for all multicast groups and defines all groups to operate in sparse mode:
ip pim rp-address 198.92.37.33
![]() |
NoteThe same RP cannot be used for both bidirectional and sparse mode groups. |
The following example sets the PIM RP address to 147.106.6.22 for the multicast group 225.2.2.2 only:
access list 1 permit 225.2.2.2 0.0.0.0 ip pim rp-address 147.106.6.22 1
Related Commands
access-list (IP standard) Defines a standard IP access list.
Command
Description
To configure the router to advertise itself as a Protocol Independent Multicast (PIM) Version 2 candidate rendezvous point (RP) to the bootstrap router, use the ip pim rp-candidate global configuration command. To remove this router as a candidate for being an RP, use the no form of this command.
ip pim rp-candidate type-number [group-list access-list-number | group-list name] [bidir]
Syntax Description
type-number IP address associated with this interface type and number on this router is advertised as a candidate RP address. group-list access-list-number | group-list name (Optional) Standard IP access list number or name that defines the group prefixes that are advertised in association with the RP address. The access list name cannot contain a space or quotation mark, and must begin with an alphabetic character to avoid ambiguity with numbered access lists. bidir (Optional) Indicates that the multicast groups specified by the access-list-number argument are to operate in bidirectional mode. If the command is configured without this option, the groups specified will operate in PIM sparse mode.
Defaults
Disabled
Command Modes
Global configuration
Command History
11.3 T This command was introduced. 12.1(2)T The bidir keyword was added.
Release
Modification
Usage Guidelines
This command causes the router to send a PIM Version 2 message advertising itself as a candidate RP to the bootstrap router. The addresses allowed by the access list, together with the router identified by the type and number, constitute the RP and its range of addresses for which it is responsible.
Use this command only in backbone routers that have good connectivity to all parts of the PIM domain. That is, a stub router that relies on an on-demand dialup link to connect to the rest of the PIM domain is not a good candidate RP.
Use this command with the bidir keyword when you want bidirectional forwarding and you are using the PIM Version 2 Bootstrap mechanism to distribute group-to-RP mappings. Other options are as follows:
Examples
The following example configures the router to advertise itself as a candidate RP to the bootstrap router in its PIM domain. Standard access list number 4 specifies the group prefix associated with the RP that has the address identified by Ethernet interface 2. That RP is responsible for the groups with the prefix 239.
ip pim rp-candidate 198.92.37.33 ethernet 2 group-list 4 access-list 4 permit 239.0.0.0 0.255.255.255
Related Commands
ip pim bsr-candidate Configures the router to announce its candidacy as a BSR. ip pim rp-announce-filter Filters incoming Auto-RP announcement messages sent from the RP.
Command
Description
Syntax Description
type-number Interface type and number that identify the RP address. scope ttl Time-to-live (TTL) value that limits the number of Auto-RP announcements. group-list access-list-number | group-list name (Optional) Standard IP access list number or name that defines the group prefixes that are advertised in association with the RP address. The access list name cannot contain a space or quotation mark, and must begin with an alphabetic character to avoid ambiguity with numbered access lists. interval seconds (Optional) Specifies the interval between RP announcements in seconds. The total hold time of the RP announcements is automatically set to three times the value of the interval. The default interval is 60 seconds. bidir (Optional) Indicates that the multicast groups specified by the access-list-number argument are to operate in bidirectional mode. If the command is configured without this option, the groups specified will operate in Protocol Independent Multicast sparse mode (PIM SM).
Defaults
Auto-RP is disabled.
Command Modes
Global configuration
Command History
11.1 This command was introduced. 12.1(2)T The following keywords and argument were added:
Release
Modification
Usage Guidelines
Use this command in the router you want to be an RP. When you are using Auto-RP to distribute group-to-RP mappings, this command causes the router to send an Auto-RP announcement message to the well-known group CISCO-RP-ANNOUNCE (224.0.1.39). This message announces the router as a candidate RP for the groups in the range described by the access list.
Use this command with the bidir keyword when you want bidirectional forwarding, and you are using Auto-RP to distribute group-to-RP mappings. Other options are as follows:
Examples
The following example sends RP announcements out all PIM-enabled interfaces for a maximum of 31hops. The IP address by which the router wants to be identified as RP is the IP address associated with Ethernet interface 0. Access list 5 describes the groups for which this router serves as RP.
ip pim send-rp-announce ethernet0 scope 31 group-list 5 access-list 5 permit 224.0.0.0 15.255.255.255
Related Commands
access-list (IP standard) Defines a standard IP access list.
Command
Description
To display information about interfaces configured for Protocol Independent Multicast (PIM), use the show ip pim interface EXEC command.
show ip pim interface [type-number] [df | count] [rp-address]
Syntax Description
type-number (Optional) Interface type and number. df (Optional) When bidir-PIM is used, displays the IP address of the elected designated forwarder (DF) for each rendezvous point (RP) of an interface. count (Optional) Number of packets received and sent out the interface. rp-address (Optional) RP IP address.
Defaults
If no interface is specified, all interfaces are displayed.
Command Modes
EXEC
Command History
10.0 This command was introduced. 12.1(2)T The following keyword and argument were added:
Release
Modification
Usage Guidelines
This command works only on interfaces that are configured for PIM.
Examples
The following is sample output from the show ip pim interface command:
Router# show ip pim interface
Address Interface Mode Neighbor Query DR
Count Interval
198.92.37.6 Ethernet0 Dense 2 30 198.92.37.33
198.92.36.129 Ethernet1 Dense 2 30 198.92.36.131
10.1.37.2 Tunnel0 Dense 1 30 0.0.0.0
The following is sample output from the show ip pim interface command when count is specified:
Router# show ip pim interface count Address Interface FS Mpackets In/Out 171.69.121.35 Ethernet0 * 548305239/13744856 171.69.121.35 Serial0.33 * 8256/67052912 198.92.12.73 Serial0.1719 * 219444/862191
The following are sample outputs from the show ip pim interface command when df is specified:
Router#show ip pim interface df InterfaceRPDF WinnerMetricUptime Ethernet3/310.10.0.210.4.0.2000:03:49 10.10.0.310.4.0.3000:01:49 10.10.0.510.4.0.440960000:01:49 Ethernet3/410.10.0.210.5.0.2000:03:49 10.10.0.310.5.0.240960000:02:32 10.10.0.510.5.0.243520000:02:16 Loopback010.10.0.210.10.0.2000:03:49 10.10.0.310.10.0.240960000:02:32 10.10.0.510.10.0.243520000:02:16 Router#show ip pim interface Ethernet3/3 df 10.10.0.3 Designated Forwarder election for Ethernet3/3, 10.4.0.2, RP 10.10.0.3 StateNon-DF Offer count is0 Current DF ip address10.4.0.3 DF winner up time00:02:33 Last winner metric preference0 Last winner metric0
Table 1 describes the fields shown in the displays.
Related Commands
ip pim Enables PIM on an interface. show ip pim neighbor Lists the PIM neighbors discovered by the Cisco IOS software.
Command
Description
To display active rendezvous points (RPs) that are cached with associated multicast routing entries, use the show ippim rp EXEC command.
show ip pim rp [mapping | metric] [rp-address]
Syntax Description
mapping (Optional) Displays all group-to-RP mappings of which the router is aware (either configured or learned from Auto-RP). metric (Optional) Displays the unicast routing metric to the RPs configured statically or learned via Auto-RP or bootstrap router (BSR). rp-address (Optional) RP IP address.
Defaults
If no RP is specified, all active RPs are displayed.
Command Modes
EXEC
Command History
10.2 This command was introduced. 12.1(2)T The following keyword and argument were added:
Release
Modification
Examples
The following is sample output of the show ip pim rp command:
Router# show ip pim rp Group:227.7.7.7, RP:10.10.0.2, v2, v1, next RP-reachable in 00:00:48
The following is sample output of the show ip pim rp command when mapping is specified:
Router# show ip pim rp mapping PIM Group-to-RP Mappings This system is an RP (Auto-RP) This system is an RP-mapping agent Group(s) 227.0.0.0/8 RP 10.10.0.2 (?), v2v1, bidir Info source:10.10.0.2 (?), via Auto-RP Uptime:00:01:42, expires:00:00:32 Group(s) 228.0.0.0/8 RP 10.10.0.3 (?), v2v1, bidir Info source:10.10.0.3 (?), via Auto-RP Uptime:00:01:26, expires:00:00:34 Group(s) 229.0.0.0/8 RP 10.10.0.5 (mcast1.cisco.com), v2v1, bidir Info source:10.10.0.5 (mcast1.cisco.com), via Auto-RP Uptime:00:00:52, expires:00:00:37 Group(s) (-)230.0.0.0/8 RP 10.10.0.5 (mcast1.cisco.com), v2v1, bidir Info source:10.10.0.5 (mcast1.cisco.com), via Auto-RP Uptime:00:00:52, expires:00:00:37
The following is sample output of the show ip pim rp command when metric is specified:
Router# show ip pim rp metric RP AddressMetric PrefMetricFlagsRPF TypeInterface 10.10.0.200LunicastLoopback0 10.10.0.390409600LunicastEthernet3/3 10.10.0.590435200LunicastEthernet3/3
Table 2 describes the fields shown in the displays.
| Field | Description |
|---|---|
Group | Address of the multicast group about which to display RP information. |
RP | Address of the RP for that group. |
v2 | Indicates that the RP is running Protocol Independent Multicast (PIM) Version 2. |
v1 | Indicates that the RP is running PIM Version 1. |
next RP-reachable in... | Indicates the time the next RP-reachable message will be sent. Time is expressed in hours:minutes:seconds. |
bidir | Indicates that the RP is operating in bidirectional mode. |
Info source | RP mapping agent that advertised the mapping. |
(?) | Indicates that no DNS name has been specified. |
via Auto-RP | Indicates that RP was learned via Auto-RP. |
Uptime | Length of time the RP has been up in days and hours. If less than 1 day, time is expressed in hours:minutes:seconds. |
expires | Time in hours:minutes:seconds in which the entry will expire. |
Metric Pref | The preference value used for selecting the unicast routing metric to the RP announced by the designated forwarder (DF). |
Metric | Unicast routing metric to the RP announced by the DF. |
Flags | Indicates the flags set for the specified RP. The following are descriptions of possible flags:
|
RPF Type | Routing table from which this route was obtained, either unicast, Distance Vector Multicast Routing Protocol (DVMRP), or static mroute. |
Interface | Interface type and number that is configured to run PIM. |
To display how IP multicast routing does Reverse Path Forwarding (RPF), use the show iprpf EXEC command.
show ip rpf {source-address | name} [metric]
Syntax Description
source-address | name Source address or name of the host for which the RPF information is displayed. metric (Optional) Displays the unicast routing metric.
Defaults
If no source is specified, all sources are displayed.
Command Modes
EXEC
Command History
11.0 This command was introduced. 12.1(2)T The metric keyword was added.
Release
Modification
Usage Guidelines
The router can reverse path forward from multiple routing tables (that is, the unicast routing table, Distance Vector Multicast Routing Protocol (DVMRP) routing table, or static mroutes). This command tells you from where the information is retrieved.
Examples
The following is sample output of the show ip rpf command:
Router# show ip rpf 171.69.10.13 RPF information for sj-eng-mbone.cisco.com (171.69.10.13) RPF interface: BRI0 RPF neighbor: eng-isdn-pri3.cisco.com (171.69.121.10) RPF route/mask: 171.69.0.0/255.255.0.0 RPF type: unicast RPF recursion count: 0 Doing distance-preferred lookups across tables
The following is sample output of the show ip rpf command when metric is specified:
Router# show ip rpf 171.69.10.13 metric RPF information for sj-eng-mbone.cisco.com (171.69.10.13) RPF interface: BRI0 RPF neighbor: eng-isdn-pri3.cisco.com (171.69.121.10) RPF route/mask: 171.69.0.0/255.255.0.0 RPF type: unicast RPF recursion count: 0 Doing distance-preferred lookups across tables Metric preference: 110 Metric: 11
Table 3 describes the significant fields shown in the displays.
| Field | Description |
|---|---|
RPF information for name (address) | Host name and address that this information concerns. |
RPF interface | For the given source, interface from which the router expects to get packets. |
RPF neighbor | For the given source, neighbor from which the router expects to get packets. |
RPF route/mask | Route number and mask that matched against this source. |
RPF type | Routing table from which this route was obtained, either unicast, DVMRP, or static mroute. |
RPF recursion count | Indicates the number of times the route is recursively resolved. |
Doing distance-preferred... | Indicates whether RPF was determined based on distance or length of mask. |
Metric preference | The preference value used for selecting the unicast routing metric to the RP announced by the designated forwarder (DF). |
Metric | Unicast routing metric to the RP announced by the DF. |
This section documents modified debug commands. All other commands used with this feature are documented in the Cisco IOS Release 12.1 command reference publications.
To display IP multicast packets received and sent, use the debug ip mpacket privileged EXEC command. To disable the debugging output, use the no form of this command.
debug ip mpacket [detail | fastswitch] [access-list] [group]
Syntax Description
detail (Optional) Causes the debug ip mpacket command to display IP header information and MAC address information. fastswitch (Optional) Displays IP packet information in the fast path. access-list (Optional) Access list number. group (Optional) Group name or address.
Defaults
The debug ip mpacket command displays all IP multicast packets switched at the process level.
Command Modes
Privileged EXEC
Command History
10.2 This command was introduced. 12.1(2)T The fastswitch keyword was introduced.
Release
Modification
Usage Guidelines
This command displays information for multicast IP packets that are forwarded from this router. By using the access-list or group argument, you can limit the display to multicast packets from sources described by the access list or a specific multicast group.
Use this command with the debug ip packet command to observe additional packet information.
![]() |
NoteThe debug ip mpacket command generates many messages. Use this command with care so that performance on the network is not affected by the debug message traffic. |
Examples
The following is sample output from the debug ip mpacket command:
Router# debug ip mpacket 224.2.0.1 IP: s=10.188.34.54 (Ethernet1), d=224.2.0.1 (Tunnel0), len 88, mforward IP: s=10.188.34.54 (Ethernet1), d=224.2.0.1 (Tunnel0), len 88, mforward IP: s=10.188.34.54 (Ethernet1), d=224.2.0.1 (Tunnel0), len 88, mforward IP: s=10.162.3.27 (Ethernet1), d=224.2.0.1 (Tunnel0), len 68, mforward
Table 4 describes the fields shown in the display.
| Field | Description |
|---|---|
IP | IP packet. |
s=address | Source address of the packet. |
(Ethernet1) | Name of the interface that received the packet. |
d=address | Multicast group address that is the destination for this packet. |
(Tunnel0) | Outgoing interface for the packet. |
len 88 | Number of bytes in the packet. This value will vary depending on the application and the media. |
mforward | Packet has been forwarded. |
Related Commands
debug ip dvmrp Displays information on DVMRP packets received and sent. debug ip igmp Displays IGMP packets received and sent, and IGMP host-related events. debug ip mrm Displays MRM control packet activity. debug ip packet Displays general IP debugging information and IPSO security transactions. debug ip sd Displays all SD announcements received.
Command
Description
To display Protocol Independent Multicast (PIM) packets received and sent, and to display PIM-related events, use the debug ip pim privileged EXEC command. To disable the debugging output, use the no form of this command.
debug ip pim [group | df [rp-address]]
Syntax Description
group (Optional) Group name or address to monitor the packet activity of a single group. df (Optional) When bidir-PIM is used, displays all designated forwarder (DF) election messages. rp-address (Optional) Rendezvous point (RP) IP address.
Defaults
The debug ip pim command displays all PIM packets.
Command Modes
privileged EXEC
Command History
10.2 This command was introduced. 12.1(2)T The df keyword was introduced.
Release
Modification
Usage Guidelines
PIM uses Internet Group Management Protocol (IGMP) packets to communicate between routers and advertise reachability information.
Use this command with the debug ip igmp and debug ip mrouting commands to observe additional multicast routing information.
Examples
The following is sample output from the debug ip pim command:
Router# debug ip pim 224.2.0.1 PIM: Received Join/Prune on Ethernet1 from 172.24.37.33 PIM: Received Join/Prune on Ethernet1 from 172.24.37.33 PIM: Received Join/Prune on Tunnel0 from 10.3.84.1 PIM: Received Join/Prune on Ethernet1 from 172.24.37.33 PIM: Received Join/Prune on Ethernet1 from 172.24.37.33 PIM: Received RP-Reachable on Ethernet1 from 172.16.20.31 PIM: Update RP expiration timer for 224.2.0.1 PIM: Forward RP-reachability packet for 224.2.0.1 on Tunnel0 PIM: Received Join/Prune on Ethernet1 from 172.24.37.33 PIM: Prune-list (10.221.196.51/32, 224.2.0.1) PIM: Set join delay timer to 2 seconds for (10.221.0.0/16, 224.2.0.1) on Ethernet1 PIM: Received Join/Prune on Ethernet1 from 172.24.37.6 PIM: Received Join/Prune on Ethernet1 from 172.24.37.33 PIM: Received Join/Prune on Tunnel0 from 10.3.84.1 PIM: Join-list: (*, 224.2.0.1) RP 172.16.20.31 PIM: Add Tunnel0 to (*, 224.2.0.1), Forward state PIM: Join-list: (10.0.0.0/8, 224.2.0.1) PIM: Add Tunnel0 to (10.0.0.0/8, 224.2.0.1), Forward state PIM: Join-list: (10.4.0.0/16, 224.2.0.1) PIM: Prune-list (172.24.84.16/28, 224.2.0.1) RP-bit set RP 172.24.84.16 PIM: Send Prune on Ethernet1 to 172.24.37.6 for (172.24.84.16/28, 224.2.0.1), RP PIM: For RP, Prune-list: 10.9.0.0/16 PIM: For RP, Prune-list: 10.16.0.0/16 PIM: For RP, Prune-list: 10.49.0.0/16 PIM: For RP, Prune-list: 10.84.0.0/16 PIM: For RP, Prune-list: 10.146.0.0/16 PIM: For 10.3.84.1, Join-list: 172.24.84.16/28 PIM: Send periodic Join/Prune to RP via 172.24.37.6 (Ethernet1)
The following lines appear periodically when PIM is running in sparse mode and indicate to this router the multicast groups and multicast sources in which other routers are interested:
PIM: Received Join/Prune on Ethernet1 from 172.24.37.33 PIM: Received Join/Prune on Ethernet1 from 172.24.37.33
The following lines appear when an RP message is received and the RP timer is reset. The expiration timer sets a checkpoint to make sure the RP still exists; otherwise a new RP must be discovered.
PIM: Received RP-Reachable on Ethernet1 from 172.16.20.31 PIM: Update RP expiration timer for 224.2.0.1 PIM: Forward RP-reachability packet for 224.2.0.1 on Tunnel0
The Prune message in the following line states that this router is not interested in the source address information. This message tells an upstream router to stop forwarding multicast packets from this source.
PIM: Prune-list (10.221.196.51/32, 224.2.0.1)
In the following line, a second router on the network wants to override the Prune message that the upstream router just received. The timer is set at a random value so that if additional routers on the network still want to receive multicast packets for the group, only one will actually send the message. The other routers will receive the Join message and then suppress sending their own message.
PIM: Set join delay timer to 2 seconds for (10.221.0.0/16, 224.2.0.1) on Ethernet1
In the following line, a Join message is sent toward the RP for all sources:
PIM: Join-list: (*, 224.2.0.1) RP 172.16.20.31
In the following lines, the interface is being added to the outgoing interface (OIF) of the (*, G) and (S,G) mroute table entry so that packets from the source will be forwarded out that particular interface:
PIM: Add Tunnel0 to (*, 224.2.0.1), Forward state PIM: Add Tunnel0 to (10.0.0.0/8, 224.2.0.1), Forward state
The following line appears in sparse mode only. There are two trees on which data may be received: the RP tree and the source tree. In dense mode there is no RP. After the source and the receiver have discovered one another at the RP, the first hop router for the receiver will usually join to the source tree rather than the RP tree.
PIM: Prune-list (172.24.84.16/28, 224.2.0.1) RP-bit set RP 172.24.84.16
The Send Prune message in the next line shows that a router is sending a message to a second router saying that the first router no longer wants to receive multicast packets for the (S, G). The "RP" toward the end of the message indicates that the router is pruning the RP tree and is most likely joining the source tree, although the router may not have downstream members for the group or downstream routers with members of the group. The output shows the specific sources from which this router no longer wants to receive multicast.
PIM: Send Prune on Ethernet1 to 172.24.37.6 for (172.24.84.16/28, 224.2.0.1), RP
The following lines indicate that a Prune message is sent toward the RP so that the router can join the source tree rather than the RP tree:
PIM: For RP, Prune-list: 10.9.0.0/16 PIM: For RP, Prune-list: 10.16.0.0/16 PIM: For RP, Prune-list: 10.49.0.0/16
In the following line, a periodic message is sent toward the RP. The default period is once per minute. Prune and Join messages are sent toward the RP or source rather than directly to the RP or source. It is the responsibility of the next hop router to take proper action with this message, such as continuing to forward it to the next router in the tree.
PIM: Send periodic Join/Prune to RP via 172.24.37.6 (Ethernet1)
Related Commands
debug ip dvmrp Displays information on DVMRP packets received and sent. debug ip igmp Displays IGMP packets received and sent, and displays IGMP host-related events. debug ip igrp transactions Displays transaction information on IGRP routing transactions. debug ip mrouting Displays changes to the IP multicast routing table. debug ip sd Displays all SD announcements received.
Command
Description
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Tue Jun 20 15:24:49 PDT 2000
Copyright 1989 - 2000©Cisco Systems Inc.