Implementing Multicast Routing On Cisco IOS XR
Implementing Multicast Routing On Cisco IOS XR
Guide
Cisco IOS XR Software Release 3.4
Corporate Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 526-4100
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT
SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE
OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB’s public
domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS” WITH
ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF
DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING,
WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO
OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
CCDE, CCENT, Cisco Eos, Cisco Lumin, Cisco StadiumVision, the Cisco logo, DCE, and Welcome to the Human Network are trademarks; Changing the Way We Work,
Live, Play, and Learn is a service mark; and Access Registrar, Aironet, AsyncOS, Bringing the Meeting To You, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP,
CCVP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity,
Collaboration Without Limitation, EtherFast, EtherSwitch, Event Center, Fast Step, Follow Me Browsing, FormShare, GigaDrive, HomeLink, Internet Quotient, IOS, iPhone,
iQ Expertise, the iQ logo, iQ Net Readiness Scorecard, iQuick Study, IronPort, the IronPort logo, LightStream, Linksys, MediaTone, MeetingPlace, MGX, Networkers,
Networking Academy, Network Registrar, PCNow, PIX, PowerPanels, ProConnect, ScriptShare, SenderBase, SMARTnet, Spectrum Expert, StackWise, The Fastest Way to
Increase Your Internet Quotient, TransPath, WebEx, and the WebEx logo are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain
other countries.
All other trademarks mentioned in this document or Website are the property of their respective owners. The use of the word partner does not imply a partnership relationship
between Cisco and any other company. (0804R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the
document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
Preface MCC-v
Contents MCC-2
Prerequisites for Implementing Multicast Routing on Cisco IOS XR Software MCC-2
Configuration Examples for Implementing Multicast Routing on Cisco IOS XR Software MCC-40
MSDP Anycast RP Configuration on Cisco IOS XR Software: Example MCC-40
Bidir-PIM Configuration on Cisco IOS XR Software: Example MCC-41
Preventing Auto-RP Messages from Being Forwarded on Cisco IOS XR Software: Example MCC-42
Inheritance in MSDP on Cisco IOS XR Software: Example MCC-42
Multicast QoS: Example MCC-43
Additional References MCC-43
Related Documents MCC-43
Standards MCC-44
MIBs MCC-44
RFCs MCC-44
Technical Assistance MCC-44
Index
The Cisco IOS XR Multicast Routing Configuration Guide preface contains the following sections:
• Changes to This Document, page MCC-v
• Obtaining Documentation and Submitting a Service Request, page MCC-v
Contents
• Prerequisites for Implementing Multicast Routing on Cisco IOS XR Software, page MCC-2
• Information About Implementing Multicast Routing on Cisco IOS XR Software, page MCC-2
• How to Implement Multicast on Cisco IOS XR Software, page MCC-18
• Configuration Examples for Implementing Multicast Routing on Cisco IOS XR Software,
page MCC-40
• Additional References, page MCC-43
Key Protocols and Features Supported in the Cisco IOS XR Software Multicast
Routing Implementation
Table 2 lists the supported features for IPv4 and IPv6 multicast routing in Cisco IOS XR software.
Table 2 Supported Features for IPv4 and IPv6
The multicast environment consists of senders and receivers. Any host, regardless of whether it is a
member of a group, can send to a group. However, only the members of a group receive the message.
A multicast address is chosen for the receivers in a multicast group. Senders use that group address as
the destination address of a datagram to reach all members of the group.
Membership in a multicast group is dynamic; hosts can join and leave at any time. There is no restriction
on the location or number of members in a multicast group. A host can be a member of more than one
multicast group at a time.
How active a multicast group is and what members it has can vary from group to group and from time
to time. A multicast group can be active for a long time, or it may be very short-lived. Membership in a
group can change constantly. A group that has members may have no activity.
Routers use the IGMP (IPv4) and MLD (IPv6) to learn whether members of a group are present on their
directly attached subnets. Hosts join multicast groups by sending IGMP or MLD report messages.
Many multimedia applications involve multiple participants. Multicast is naturally suitable for this
communication paradigm.
Source
Router A Router B
Source tree
Shared tree
(shortest
from RP
path tree)
Router C RP
52647
Receiver
Note IGMP messages use group addresses, which are Class D IP addresses. The high-order four bits of a
Class D address are 1110. Host group addresses can be in the range 224.0.0.0 to 239.255.255.255. The
address 224.0.0.0 is guaranteed not to be assigned to any group. The address 224.0.0.1 is assigned to all
systems on a subnet. The address 224.0.0.2 is assigned to all routers on a subnet.
IGMP/MLD Versions
The following points describe IGMP versions 1, 2, and 3:
• IGMP Version 1 provides for the basic query-response mechanism that allows the multicast router
to determine which multicast groups are active and for other processes that enable hosts to join and
leave a multicast group.
• IGMP Version 2 extends IGMP allowing such features as the IGMP query timeout and the maximum
query-response time. See RFC 2236.
Note MLDv1 provides the same functionality (under IPv6) as IGMP Version 2.
• IGMP Version 3 permits joins and leaves for certain source/group pairs instead of requesting traffic
from all sources in the multicast group.
Note MLDv2 provides the same functionality (under IPv6) as IGMP Version 3.
Router A Router B
Router C
IGMPv3 message:
Join 10.0.0.1, 239.1.1.1
Host receiver
103673
Member of
239.1.1.1
Note When configuring IGMP, ensure that all systems on the subnet support the same IGMP version. The
router does not automatically detect Version 1 systems. Configure the router for Version 2 if your hosts
do not support Version 3.
Note Cisco IOS XR software supports PIM SM, PIM SSM, and PIM Version 2 only. PIM Version 1 hello
messages that arrive from neighbors are rejected.
PIM-Sparse Mode
Typically, PIM in sparse mode operation is used in a multicast network when relatively few routers are
involved in each multicast and these routers do not forward multicast packets for a group, unless there
is an explicit request for the traffic. Requests are accomplished using PIM join messages, which are sent
hop by hop toward the root node of the tree. The root node of a tree in PIM-SM is the RP in the case of
a shared tree or the first-hop router that is directly connected to the multicast source in the case of a
shortest path tree (SPT). The RP keeps track of multicast groups and the hosts that send multicast packets
are registered with the RP by that host’s first-hop router.
How does PIM-SM work? As a PIM join travels up the tree, routers along the path set up multicast
forwarding state so that the requested multicast traffic is forwarded back down the tree. When multicast
traffic is no longer needed, a router sends a PIM prune message up the tree toward the root node to prune
(or remove) the unnecessary traffic. As this PIM prune travels hop by hop up the tree, each router updates
its forwarding state appropriately. Ultimately, the forwarding state associated with a multicast group or
source is removed.
PIM-SM is the best choice for multicast networks that have potential members at the end of WAN links.
required, but receivers must subscribe or unsubscribe to (S, G) channels to receive or not receive traffic
from specific sources. Channel subscription signaling uses IGMP include mode membership reports,
which are supported only in Version 3 of IGMP (IGMPv3).
To run SSM with IGMPv3, SSM must be supported on the multicast router, the host where the
application is running, and the application itself. Cisco IOS XR software allows SSM configuration for
an arbitrary subset of the IP multicast address range 224.0.0.0 through 239.255.255.255. When an SSM
range is defined, existing IP multicast receiver applications will not receive any traffic when they try to
use addresses in the SSM range unless the application is modified to use explicit (S,G) channel
subscription.
Source
Router A Router B
Source tree
Shared tree
(shortest
from RP
path tree)
Router C RP
52647
Receiver
If the data threshold warrants, leaf routers on the shared tree may initiate a switch to the data distribution
tree rooted at the source. This type of distribution tree is called a shortest path tree or source tree. By
default, the Cisco IOS XR software switches to a source tree upon receiving the first data packet from a
source.
The following process describes the move from shared tree to source tree in more detail:
1. Receiver joins a group; leaf Router C sends a join message toward RP.
2. RP puts link to Router C in its outgoing interface list.
3. Source sends data; Router A encapsulates data in Register and sends it to RP.
4. RP forwards data down the shared tree to Router C and sends a join message toward Source. At this
point, data may arrive twice at the RP, once encapsulated and once natively.
5. When data arrives natively (unencapsulated) at RP, RP sends a register-stop message to Router A.
6. By default, receipt of the first data packet prompts Router C to send a join message toward Source.
7. When Router C receives data on (S,G), it sends a prune message for Source up the shared tree.
8. RP deletes the link to Router C from outgoing interface of (S,G). RP triggers a prune message
toward Source.
Join and prune messages are sent for sources and RPs. They are sent hop by hop and are processed by
each PIM router along the path to the source or RP. Register and register-stop messages are not sent hop
by hop. They are sent by the designated router that is directly connected to a source and are received by
the RP for the group.
Tip The spt-threshold infinity command lets you configure the router so that it never switches to the SPT.
Designated Routers
Cisco routers use PIM-SM to forward multicast traffic and follow an election process to select a
designated router (DR) when there is more than one router on a LAN segment.
The designated router is responsible for sending PIM register and PIM join and prune messages toward
the RP to inform it about host group membership.
If there are multiple PIM-SM routers on a LAN, a designated router must be elected to avoid duplicating
multicast traffic for connected hosts. The PIM router with the highest IP address becomes the DR for the
LAN unless you choose to force the DR election by use of the dr-priority command. The DR priority
option will allow you to specify the DR priority of each router on the LAN segment (default priority =
1) so that the router with the highest priority is elected as the DR. If all routers on the LAN segment have
the same priority, the highest IP address is again used as the tiebreaker.
Figure 4 illustrates what happens on a multiaccess segment. Router A (10.0.0.253) and Router B
(10.0.0.251) are connected to a common multiaccess Ethernet segment with Host A (10.0.0.1) as an
active receiver for Group A. As the Explicit Join model is used, only Router A, operating as the DR,
sends joins to the RP to construct the shared tree for Group A. If Router B was also permitted to send
(*, G) joins to the RP, parallel paths are created and Host A receive duplicate multicast traffic. Once Host
A begins to source multicast traffic to the group, the DR’s responsibility is to send register messages to
the RP. Again, if both routers were assigned the responsibility, the RP receives duplicate multicast
packets.
What happens if the DR fails? The PIM-SM provides a way to detect the failure of Router A and elect a
failover DR. If the DR (Router A) became inoperable, Router B detects this situation when its neighbor
adjacency with Router A timed out. As Router B has been hearing IGMP Membership Reports from Host
A, it already has IGMP state for Group A on this interface and immediately sends a join to the RP when
it became the new DR. This step reestablishes traffic flow down a new branch of the shared tree using
Router B. Additionally, if Host A were sourcing traffic, Router B initiates a new Register process
immediately after receiving the next multicast packet from Host A. This action triggers the RP to join
the SPT to Host A using a new branch through Router B.
Tip Two PIM routers are neighbors if there is a direct connection between them. To display your PIM
neighbors, use the show pim neighbor EXEC command.
RP
(*,G) Join
Router A Router B
10.0.0.253 10.0.0.251
(DR)
10.0.0.0/24
103672
Host Receiver
(10.0.0.1) of Group X
Note DR election process is required only on multiaccess LANs. The last-hop router directly connected to the
host is the DR.
Rendezvous Points
When PIM is configured in sparse mode, you must choose one or more routers to operate as a rendezvous
point (RP). A rendezvous point is a single common root placed at a chosen point of a shared distribution
tree, as illustrated in Figure 3. A rendezvous point can be either configured statically in each box or
learned through a dynamic mechanism.
PIM DRs forward data from directly connected multicast sources to the rendezvous point for distribution
down the shared tree. Data is forwarded to the rendezvous point in one of two ways:
• Encapsulated in register packets and unicast directly to the rendezvous point by the first-hop router
operating as the DR.
• Multicast forwarded by the RPF forwarding algorithm, described in the “Reverse Path Forwarding”
section, if the rendezvous point has itself joined the source tree.
The rendezvous point address is used by first-hop routers to send PIM register messages on behalf of a
host sending a packet to the group. The rendezvous point address is also used by last-hop routers to send
PIM join and prune messages to the rendezvous point to inform it about group membership. You must
configure the rendezvous point address on all routers (including the rendezvous point router).
A PIM router can be a rendezvous point for more than one group. Only one rendezvous point address
can be used at a time within a PIM domain. The conditions specified by the access list determine for
which groups the router is a rendezvous point.
You can manually configure a PIM router to function as a rendezvous point or allow the rendezvous point
to learn group-to-RP mappings automatically by configuring Auto-RP or BSR (see the “Auto-RP” and
“PIM Bootstrap Router” sections).
Auto-RP
Auto-RP is a feature that automates the distribution of group-to-RP mappings in a PIM network. This
feature has the following benefits:
• It is easy to use multiple RPs within a network to serve different group ranges.
• It allows load splitting among different RPs and arrangement of RPs according to the location of
group participants.
• It avoids inconsistent, manual RP configurations that can cause connectivity problems.
Multiple RPs can be used to serve different group ranges or serve as hot backups of each other. To ensure
that Auto-RP functions, configure routers as candidate RPs so that they can announce their interest in
operating as the RP for certain group ranges. Additionally, a router must be designated as an RP-mapping
agent that receives the RP-announcement messages from the candidate RPs and arbitrates conflicts. The
RP-mapping agent sends the consistent group-to-RP mappings to all remaining routers. Thus, all routers
automatically discover which RP to use for the groups they support.
Tip By default, if a given group address is covered by group-to-RP mappings from both static RP
configuration and is discovered using Auto-RP or PIM BSR, the Auto-RP or PIM BSR range is
preferred. To override the default to use RP mapping only, use the rp-address override keyword.
Note If you configure PIM in sparse mode and do not configure Auto-RP, you must statically configure an RP
as described in “Configuring a Static RP and Allowing Backward Compatibility”.
When router interfaces are configured in sparse mode, Auto-RP can still be used if all routers are
configured with a static RP address for the Auto-RP groups.
Routers that are configured as candidate RPs unicast to the BSR the group range for which they are
responsible. The BSR includes this information in its bootstrap messages and disseminates it to all PIM
routers in the domain. Based on this information, all routers are able to map multicast groups to specific
RPs. As long as a router is receiving the bootstrap message, it has a current RP map.
Note Although you should configure BGP or Multiprotocol BGP for optimal MSDP interdomain operation,
these features are not considered necessary in the Cisco IOS XR software implementation. For
information about how BGP or Multiprotocol BGP may be used with MSDP, see the MSDP RPF rules
listed in the Multicast Source Discovery Protocol (MSDP), Internet Engineering Task Force (IETF)
Internet draft.
Note Non-stop forwarding is not supported for PIM bidirectional routes. If a PIM or MRIB failure (including
RP failover) happens with multicast-routing NSF enabled, PIM bidirectional routes in the MFIBs will
be purged immediately and forwarding on these routes will stop. Routes will be reinstalled and
forwarding will recommence after NSF recovery has ended. This will only impact bidirectional routes.
PIM SM/SSM routes are forwarded with NSF during the failure. This exception is designed to prevent
possible multicast routing loops from forming when the control plane is not able to participate in the
BiDir Designated Forwarder election.
Alternatively, you can issue the same command from global configuration mode like this:
RP/0/RP0/CPU0:router(config)# multicast-routing ssm range
The following multicast protocol-specific submodes are available through these configuration
submodes:
• Multicast-routing Configuration Submode
• Router PIM Configuration Submode
• Router IGMP Configuration Submode
• Router MDSP Configuration Submode
The following is a listing of commands (specified under the appropriate router submode) that use the
inheritance mechanism:
multicast-routing
interface all enable
interface all disable
router pim
interface all enable
interface all disable
dr-priority
hello-interval
join-prune-interval
router igmp
interface all router disable
interface all router enable
version
query-interval
query-max-response-time
explicit-tracking
router mld
interface all disable
interface all enable
version
query-interval
query-max-response-time
explicit-tracking
router msdp
connect-source
sa-filter
filter-sa-request list
remote-as
ttl-threshold
To disable an interface that was globally configured from the multicast routing configuration submode,
you enter interface configuration submode, as illustrated in the following example:
RP/0/RP0/CPU0:router(config-mcast-ipv4)# interface pos 0/1/0/0
RP/0/RP0/CPU0:router(config-mcast-ipv4-if)# disable
PIM-SM Operations
PIM in sparse mode operation is used in a multicast network when relatively few routers are involved in
each multicast and these routers do not forward multicast packets for a group, unless there is an explicit
request for the traffic.
For more information about PIM-SM, see the “PIM-Sparse Mode” section.
PIM-SSM Operations
PIM in Source Specific Multicast operation uses information found on source addresses for a multicast
group provided by receivers and performs source filtering on traffic.
• By default, PIM-SSM operates in the 232.0.0.0/8 multicast group range for IPv4 and ff3x::/32
(where x is any valid scope) in IPv6. To configure these values, use the ssm range command.
• If SSM is deployed in a network already configured for PIM-SM, only the last-hop routers must be
upgraded with Cisco IOS XR software that supports the SSM feature.
• No MSDP SA messages within the SSM range are accepted, generated, or forwarded.
For more information about PIM-SSM, see the “PIM-Source Specific Multicast” section.
Restrictions
Interoperability with SSM
PIM-SM operations within the SSM range of addresses change to PIM-SSM. In this mode, only PIM
(S, G) join and prune messages are generated by the router, and no (S,G) RP shared tree or (*,G) shared
tree messages are generated.
IGMP Version
To report multicast memberships to neighboring multicast routers, routers use IGMP and all routers on
the subnet must be configured with the same version of IGMP.
A router running Cisco IOS XR software does not automatically detect Version 1 systems. You must use
the version command in router IGMP configuration submode to configure the IGMP version.
MLD Version
To report multicast memberships to neighboring multicast routers, routers use MLD and all routers on
the subnet must be configured with the same version of MLD.
SUMMARY STEPS
1. configure
2. multicast-routing
3. interface all
4. exit
5. router {igmp | mld}
6. version {1 | 2 | 3}
7. end
or
commit
8. show pim {ipv4 | ipv6} group-map
9. show pim topology
DETAILED STEPS
Example:
RP/0/RP0/CPU0:router# configure
Step 2 multicast-routing [address-family ipv6] Enters multicast routing configuration mode.
• The following multicast processes are started: MRIB,
Example: MFWD, PIM, IGMP and MLD.
RP/0/RP0/CPU0:router(config)# multicast-routing
• For IPv4, IGMP version 3 is enabled by default; for
IPv6, MLD version 1 is enabled by default.
• For IPv6, use the address-family ipv6 keywords.
Step 3 interface all enable Enables multicast routing and forwarding on all new and
existing interfaces.
Example:
RP/0/RP0/CPU0:router(config-mcast-ipv4)#
interface all enable
Step 4 exit Exits multicast routing configuration mode, and returns the
router to the parent configuration mode.
Example:
RP/0/RP0/CPU0:router(config-mcast-ipv4)# exit
Step 5 router {igmp | mld} (Optional) Enters router IGMP or MLD configuration
mode.
Example:
RP/0/RP0/CPU0:router(config)# router igmp
Example:
RP/0//CPU0:router# show pim ipv4 group-map
Step 9 show pim [ipv4 | ipv6] topology (Optional) Displays PIM topology table information for a
specific group or all groups.
Example:
RP/0/RP0/CPU0:router# show pim topology
This task configures a static RP. For more information about RPs, see the “Rendezvous Points” section.
For configuration information for Auto-RP, see the “Configuring Auto-RP to Automate Group-to-RP
Mappings” section.
SUMMARY STEPS
1. configure
2. router pim [address-family ipv6]
3. rp-address ip-address [group-access-list-number] [bidir] [override]
4. old-register-checksum
5. exit
6. ipv4 access-list name
7. [sequence-number] permit source [source-wildcard]
8. end
or
commit
9. show version
DETAILED STEPS
Example:
RP/0/RP0/CPU0:router# configure
Step 2 router pim [address-family ipv4] Enters router PIM configuration mode.
Example:
RP/0/RP0/CPU0:router(config)# router pim
Step 3 rp-address ip-address Assigns an RP to multicast groups.
[group-access-list-number] [bidir] [override]
• If you specify a group-access-list-number value, you
must configure the optional ipv4 access-list command.
Example:
RP/0/RP0/CPU0:router(config-pim-ipv4)#
rp-address 172.16.6.22 rp-access
Step 4 old-register-checksum (Optional) Allows backward compatibility on the RP that
uses old register checksum methodology.
Example:
RP/0/RP0/CPU0:router(config-pim-ipv4)#
old-register-checksum
Step 5 exit Exits PIM configuration mode, and returns the router to the
parent configuration mode.
Example:
RP/0/RP0/CPU0:router(config-pim-ipv4)# exit
Example:
RP/0/RP0/CPU0:router# show version
SUMMARY STEPS
1. configure
2. router pim [address-family ipv4]
DETAILED STEPS
Example:
RP/0/RP0/CPU0:router# configure
Step 2 router pim [address-family ipv6] Enters router PIM configuration mode.
Example:
RP/0/RP0/CPU0:router(config)# router pim
Step 3 auto-rp candidate-rp interface-type Configures an RP candidate that sends messages to the
interface-number scope ttl-value [group-list CISCO-RP-ANNOUNCE multicast group (224.0.1.39).
access-list-number] [interval seconds] [bidir]
• This example sends RP announcements out all
PIM-enabled interfaces for a maximum of 31 hops. The
Example: IP address by which the router wants to be identified as
RP/0/RP0/CPU0:router(config-pim-ipv4)# auto-rp
an RP is the IP address associated with POS interface
candidate-rp pos 0/1/0/1 scope 31 group-list 2
0/1/0/1.
• Access list 2 designates the groups this router serves as
RP.
• If you specify group-list, you must configure the
optional access-list command.
Step 4 auto-rp mapping-agent interface-type Configures the router to be a RP mapping agent on a
interface-number scope ttl-value [interval specified interface.
seconds]
• After the router is configured as an RP mapping agent
and determines the RP-to-group mappings through the
Example: CISCO-RP-ANNOUNCE (224.0.1.39) group, the
RP/0/RP0/CPU0:router(config-pim-ipv4)# auto-rp
router sends the mappings in an Auto-RP discovery
mapping-agent pos 0/1/0/1 scope 20
message to the well-known group
CISCO-RP-DISCOVERY (224.0.1.40).
• A PIM DR listens to this well-known group to
determine which RP to use.
• This example limits Auto-RP discovery messages to 20
hops.
Example:
RP/0/RP0/CPU0:router(config)# ipv4 access-list
2 permit 239.1.1.1 0.0.0.0
Step 7 end Saves configuration changes.
or
commit • When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before
Example:
exiting (yes/no/cancel)?
RP/0/RP0/CPU0:router(config)# end
[cancel]:
or
RP/0/RP0/CPU0:router(config)# commit
– Entering yes saves configuration changes to the
running configuration file, exits the configuration
session, and returns the router to EXEC mode.
– Entering no exits the configuration session and
returns the router to EXEC mode without
committing the configuration changes.
– Entering cancel leaves the router in the current
configuration session without exiting or
committing the configuration changes.
• Use the commit command to save the configuration
changes to the running configuration file and remain
within the configuration session.
SUMMARY STEPS
1. configure
2. router pim [address-family ipv6]
3. bsr candidate-bsr ip-address [hash-mask-len length] [priority value]
4. bsr candidate-rp ip-address [group-list access-list] [priority value]
5. interface type number
6. bsr border
7. exit
DETAILED STEPS
Example:
RP/0/RP0/CPU0:router# configure
Step 2 router pim [address-family ipv6] Enters router PIM configuration mode.
Example:
RP/0/RP0/CPU0:router(config)# router pim
Step 3 bsr candidate-bsr ip-address [hash-mask-len Configures the router to announce its candidacy as a BSR.
length] [priority value]
Example:
RP/0/RP0/CPU0:router(config-pim-ipv4)# bsr
candidate-bsr 10.0.0.1 hash-mask-len 30
Step 4 bsr candidate-rp ip-address [group-list Configures the router to advertise itself as a PIM Version 2
access-list] [priority value] candidate RP to the BSR.
• See Step 8 for group list 4 configuration.
Example:
RP/0/RP0/CPU0:router(config-pim-ipv4)# bsr
candidate-rp 172.16.0.0 group-list 4
Step 5 interface type number Enters interface configuration mode for the PIM protocol.
Example:
RP/0/RP0/CPU0:router(config-pim-ipv4)#
interface pos 0/1/0/0
Step 6 bsr-border Stops the forwarding of bootstrap router (BSR) messages on
a Protocol Independent Multicast (PIM) router interface,
Example:
RP/0/RP0/CPU0:router(config-pim-ipv4-if)#
bsr-border
Example:
RP/0/RP0/CPU0:router# show pim bsr rp-cache
Step 14 show pim [ipv4 | ipv6] group-map (Optional) Displays group-to-PIM mode mapping.
Example:
RP/0/RP0/CPU0:router# show pim ipv4 group-map
SUMMARY STEPS
1. configure
2. multicast-routing [vrf vrf-name] [address-family {ipv4 | ipv6}]
3. rate-per-route
4. interface {type interface-id | all} enable
5. accouting per-prefix
6. end
or
commit
7. show mfib route rate [vrf vrf-name] [ipv4 | ipv6] route [rate | statistics] [* | source-address]
[group-address [/prefix-length] [detail | old-output] | summary] [location node-id]
DETAILED STEPS
Example:
RP/0/RP0/CPU0:router# configure
Step 2 multicast-routing [vrf vrf-name] Enters multicast routing configuration mode.
[address-family {ipv4 | ipv6}]
• The following multicast processes are started: MRIB,
MFWD, PIM, IGMP, and MLD.
Example:
RP/0/RP0/CPU0:router(config)# multicast-routing
• For IPv4, IGMP version 3 is enabled by default; for
address-family ipv4 IPv6, MLD version 1 is enabled by default.
Step 3 rate-per-route Enables a per (S,G) rate calculation for a particular route.
Example:
RP/0/RP0/CPU0:router(config-mcast-default-ipv4)
# rate-per-route
Example:
RP/0/RP0/CPU0:router(config-mcast-default-ipv4)
# interface all enable
or
RP/0/RP0/CPU0:router(config-mcast-default-ipv4)
# interface FastEthernet0/3/3/1 enable
Step 5 accounting per-prefix Enables per-prefix counters in hardware. Cisco IOS XR
software counters are always present. When enabled, every
existing and new (S, G) route is assigned forward, punt, and
Example:
RP/0/RP0/CPU0:router(config-mcast-default-ipv4)
drop counters on the ingress route and forward and punt
# accounting per-prefix counters on the egress route. The (*, G) routes are assigned
a single counter.
Step 6 end Saves configuration changes.
or
• When you issue the end command, the system prompts
commit you to commit changes:
Uncommitted changes found, commit them before
Example: exiting(yes/no/cancel)?
RP/0/RP0/CPU0:router(config-mcast-default-ipv4) [cancel]:
# end
or – Entering yes saves configuration changes to the
running configuration file, exits the configuration
RP/0/RP0/CPU0:router(config-mcast-default-ipv4)
# commit
session, and returns the router to EXEC mode.
– Entering no exits the configuration session and
returns the router to EXEC mode without
committing the configuration changes.
– Entering cancel leaves the router in the current
configuration session without exiting or
committing the configuration changes.
• Use the commit command to save the configuration
changes to the running configuration file and remain
within the configuration session.
Step 7 show mfib route rate [vrf vrf-name] [ipv4 | Displays route entries in the Multicast Forwarding
ipv6] route [rate | statistics] [* | Information Base (MFIB) table.
source-address] [group-address [/prefix-length]
[detail | old-output] | summary] [location • When the rate keyword is used with the source- and
node-id] group-address arguments, the command displays the
cumulative rates per route for all line cards in the
Example: Multicast Forwarding Information Base (MFIB) table .
RP/0/RP0/CPU0:router# show mfib route rate ipv4 • When the statistics keyword is used, the command
IP Multicast Forwarding Rates Source Address, displays the rate per route for one line card in the
Group Address HW Forwarding Rates: bps In/pps
In/bps Out/pps Out
Multicast Forwarding Information Base (MFIB) table .
Prerequisites
For NSF to operate in your multicast network, you must also enable NSF for the unicast protocols (such
as IS-IS, OSPF and BGP) that PIM relies on for Reverse Path Forwarding (RPF) information. See the
appropriate configuration modules to learn how to configure NSF for unicast protocols.
SUMMARY STEPS
1. configure
2. multicast-routing
3. nsf
4. exit
5. router pim [address-family ipv6]
6. nsf lifetime seconds
7. exit
8. router {igmp | mld}
9. nsf lifetime seconds
10. end
or
commit
11. show {igmp | mld} nsf
12. show mfib nsf [location node-id]
13. show mrib nsf
14. show pim nsf
DETAILED STEPS
Example:
RP/0/RP0/CPU0:router# configure
Step 2 multicast-routing [address-family ipv6] Enters multicast routing configuration mode.
• The following multicast processes are started: MRIB,
Example: MFWD, PIM, IGMP, and MLD.
RP/0/RP0/CPU0:router(config)# multicast-routing
• For IPv4, IGMP version 3 is enabled by default; for
IPv6, MLD version 1 is enabled by default.
Step 3 nsf Turns on NSF capability for the multicast routing system.
Example:
RP/0/RP0/CPU0:router(config-mcast-ipv4)# nsf
Step 4 exit (Optional) Exits multicast routing configuration mode, and
returns the router to the parent configuration mode.
Example:
RP/0/RP0/CPU0:router(config-mcast-ipv4)# exit
Step 5 router pim [address-family ipv6] (Optional) Enters router PIM configuration mode.
Example:
RP/0/RP0/CPU0:router(config)# router pim
Step 6 nsf lifetime seconds (Optional) Configures the NSF timeout value for multicast
forwarding route entries under the PIM process.
Example: Note If you configure the PIM hello interval to a
RP/0/RP0/CPU0:router(config-pim-ipv4)# nsf non-default value, configure the PIM NSF lifetime
lifetime 30 to a value less than the hello hold time. Typically the
value of the hold-time field is 3.5 times the interval
time value, or 120 seconds if the PIM hello interval
time is 30 seconds.
Step 7 exit (Optional) Exits PIM configuration mode and returns the
router to the parent configuration mode.
Example:
RRP/0/RP0/CPU0:router(config-pim-ipv4)# exit
Step 8 router {igmp | mld} (Optional) Enters router IGMP or MLD configuration
mode.
Example:
RP/0/RP0/CPU0:router(config)# router igmp
Step 9 nsf lifetime seconds (Optional) Configures the NSF timeout value for multicast
forwarding route entries under the IGMP or MLD process.
Example:
RP/0/RP0/CPU0:router(config-igmp)# nsf lifetime
30
Example:
RP/0/RP0/CPU0:router# show mrib nsf
Step 14 show pim [ipv4 | ipv6] nsf (Optional) Displays the state of NSF operation for PIM.
Example:
RP/0/RP0/CPU0:router# show pim nsf
Prerequisites
You must configure MSDP default peering, if the addresses of all MSDP peers are not known in BGP or
multiprotocol BGP.
SUMMARY STEPS
1. configure
2. interface type number
3. ipv4 address address mask
4. end
5. router msdp
6. default-peer {ip-address | dns-name} [prefix-list]
7. originator-id interface-type interface-number
8. peer {peer-name | peer-address}
9. connect-source interface-type interface-number
10. mesh-group name
11. remote-as-number
12. end
or
commit
13. show msdp globals
14. show msdp peer {peer-address | peer-name}
15. show msdp rpf {rpf-address | host-name}
DETAILED STEPS
Example:
RP/0/RP0/CPU0:router# configure
Step 2 interface type number (Optional) Enters interface configuration mode to define the
IPv4 address for the interface.
Example: Note This step is required if you specify the interface
RP/0/RP0/CPU0:router(config)# interface type and number whose primary address becomes
loopback 0 the source IP address for the TCP connection.
Step 3 ipv4 address address mask (Optional) Defines the IPv4 address for the interface.
Note This step is required only if you specify the
Example: interface type and number whose primary address
RP/0/RP0/CPU0:router(config-if)# ipv4 address becomes the source IP address for the TCP
10.0.1.3 255.255.255.0 connection. See optional Step 9 for information
about configuring the connect-source command.
Example:
RP/0/RP0/CPU0:router(config)# router msdp
Step 6 default-peer {ip-address | dns-name} (Optional) Defines a default peer from which to accept all
[prefix-list list] MSDP SA messages.
Example:
RP/0/RP0/CPU0:router(config-msdp)# default-peer
router.cisco.com
Step 7 originator-id interface-type interface-number (Optional) Allows an MSDP speaker that originates a
(Source-Active) SA message to use the IP address of the
interface as the RP address in the SA message.
Example:
RP/0/RP0/CPU0:router(config-msdp)#
originator-id pos 0/1/1/0
Step 8 peer {peer-name | peer-address} Enters MSDP peer configuration mode and configures an
MSDP peer.
Example: • Configure the router as a BGP neighbor.
RP/0/RP0/CPU0:router(config-msdp)# peer
172.31.1.2
• If you are also BGP peering with this MSDP peer, use
the same IP address for MSDP and BGP. You are not
required to run BGP or multiprotocol BGP with the
MSDP peer, as long as there is a BGP or multiprotocol
BGP path between the MSDP peers.
Step 9 connect-source interface-type interface-number (Optional) Configures a source address used for an MSDP
connection.
Example:
RP/0/RP0/CPU0:router(config-msdp-peer)#
connect-source interface loopback 0
Step 10 mesh-group name (Optional) Configures an MSDP peer to be a member of a
mesh group.
Example:
RP/0/RP0/CPU0:router(config-msdp-peer)#
mesh-group internal
Step 11 remote-as as-number (Optional) Configures the remote autonomous system
number of this peer.
Example:
RP/0/RP0/CPU0:router(config-msdp-peer)#
remote-as 250
Example:
RP/0/RP0/CPU0:router# show msdp globals
Step 14 show msdp peer {peer-address | peer-name} Displays information about the MSDP peer.
Example:
RP/0/RP0/CPU0:router# show msdp peer 172.31.1.2
Step 15 show msdp rpf {rpf-address | host-name} Displays the RPF lookup.
Example:
RP/0/RP0/CPU0:router# show msdp rpf
172.16.10.13
SUMMARY STEPS
1. configure
2. router msdp
3. sa-filter {in | out} {ip-address | peer-name} [list access-list-name] [rp-list access-list-name]
4. cache-sa-state [list access-list-name] [rp-list access-list-name]
5. ttl-threshold ttl-value
6. ipv4 access-list name [sequence-number] permit source [source-wildcard]
7. end
or
commit
DETAILED STEPS
Example:
RP/0/RP0/CPU0:router# configure
Step 2 router msdp Enters MSDP protocol configuration mode.
Example:
RP/0/RP0/CPU0:router(config)# router msdp
Note For supported multicast QoS commands and general QoS commands, refer to Cisco IOS XR Modular
Quality of Service Command Reference.
SUMMARY STEPS
1. configure
2. hw-module qos multicast [location node id]
3. hw-module qos multicast priorityq disable {location node id}
4. end
or
commit
5. show mfib hardware route {* | source-address | group-address [/prefix-length]} location node-id
DETAILED STEPS
Example:
RP/0/RP0/CPU0:router# configure
Step 2 hw-module qos multicast [location node id] Enables multicast QoS on an interface.
Example:
RP/0/RP0/CPU0:router# hw-module qos multicast
POS 0/7/0/3
Step 3 hw-module qos multicast priorityq disable Assigns a QoS priority value on the specified interface and
[location node id] diverts traffic from the priority to the default queue.
Example:
RP/0/RP0/CPU0:router# hw-module qos multicast
priorityq disable POS 0/7/0/3
Step 4 end Saves configuration changes.
or
• When you issue the end command, the system prompts
commit you to commit changes:
Uncommitted changes found, commit them before
Example: exiting(yes/no/cancel)?
RP/0/RP0/CPU0:router(config-if)# end [cancel]:
or
– Entering yes saves configuration changes to the
RP/0/RP0/CPU0:router(config-if)# commit running configuration file, exits the configuration
session, and returns the router to EXEC mode.
– Entering no exits the configuration session and
returns the router to EXEC mode without
committing the configuration changes.
– Entering cancel leaves the router in the current
configuration session without exiting or
committing the configuration changes.
• Use the commit command to save the configuration
changes to the running configuration file and remain
within the configuration session.
Step 5 show mfib hardware route {* | source-address | Displays multicast routes configured with multicast QoS
group-address [/prefix-length]} location and the associated parameters.
node-id
Example:
RP/0/RP0/CPU0:router# show mfib hardware route
* location 0/1/cpu0
Router A
interface loopback 0
ipv4 address 10.0.0.1/32
no shutdown
interface loopback 1
ipv4 address 10.2.0.1/32
no shutdown
multicast-routing
interfaces all enable
router pim
rp-address 10.0.0.1
router msdp
connect-source loopback 1
peer 10.2.0.2
Router B
interface loopback 0
ipv4 address 10.0.0.1/32
no shutdown
interface loopback 1
ipv4 address 10.2.0.2/32
no shutdown
multicast-routing
interfaces all enable
router pim
rp-address 10.0.0.1
router msdp
connect-source loopback 1
peer 10.2.0.1
Tip Issue the show pim group-map command and verify the output to ensure that the configured mappings
are learned correctly.
Router A
!
ipv4 access-list 111
10 deny ip host 172.16.0.3 any
20 permit any any
!
ipv4 access-list 112
10 deny any 226.0.0.0 0.255.255.255
Additional References
The following sections provide references related to implementing multicast routing on
Cisco IOS XR software.
Related Documents
Related Topic Document Title
Multicast command reference documents Cisco IOS XR Multicast Command Reference, Release 3.3.0
Cisco CRS-1 router getting started material Cisco IOS XR Getting Started Guide, Release 3.3.0
Information about user groups and task IDs Configuring AAA Services on Cisco IOS XR Software module of the Cisco IOS
XR System Security Configuration Guide, Release 3.3.0
Standards
Standards Title
No new or modified standards are supported
by this feature, and support for existing
standards has not been modified by this
feature.
MIBs
MIBs MIBs Link
— To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB
Locator found at the following URL and choose a platform under the Cisco
Access Products menu:
http://cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml
RFCs
RFCs Title
RFC 2362 Protocol-Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification
RFC 2710 Multicast Listener Discovery (MLD) for IPv6
RFC 3446 Anycast Rendevous Point (RP) mechanism using Protocol Independent Multicast
(PIM) and Multicast Source Discovery Protocol (MSDP)
RFC 3810 Multicast Listener Discovery Version 2 (MLDv2) for IPv6
RFC 3618 Multicast Source Discovery Protocol (MSDP)
RFC 3376 Internet Group Management Protocol, Version 3
draft-ietf-pim-sm-v2-new Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol
Specification (Revised), March 6, 2003
Technical Assistance
Description Link
The Cisco Technical Support website contains thousands of http://www.cisco.com/techsupport
pages of searchable technical content, including links to
products, technologies, solutions, technical tips, and tools.
Registered Cisco.com users can log in from this page to
access even more content.
M
C
mesh-group command MCC-31
cache-sa-state command MCC-34 MSDP (Multicast Source Discovery Protocol)
Class D IP addresses MCC-5 See multicast routing, MSDP
clear pim bsr command MCC-26 multicast
command MCC-28 See multicast routing
connect-source command MCC-31 multicast NSF (multicast nonstop forwarding)
See multicast routing, multicast NSF
PIM-SSM (Protocol Independent Multicast in Source show pim bsr rp-cache command MCC-26
Specific Multicast) show pim group-map command MCC-21
See multicast routing, PIM-SSM show pim nsf command MCC-29
show pim topology command MCC-20, MCC-21
show version command MCC-22
Q
QOS
T
overview MCC-13
ttl-threshold command MCC-34
R
V
remote-as command MCC-31, MCC-33
RFC 2362, Protocol-Independent Multicast-Sparse Mode version command MCC-20
(PIM-SM) MCC-7
router command MCC-20, MCC-28
router igmp submode
nsf lifetime command MCC-30
router msdp command MCC-31, MCC-34
router pim command MCC-22, MCC-23, MCC-25
rp-address command MCC-22
RPF (Reverse Path Forwarding)
See multicast routing, RPF
RPT (Rendezvous Point Tree)
See multicast routing, RPT