The PIM source-specific multicast (SSM) routing protocol supports SSM
implementation and is derived from PIM-SM. However, unlike PIM-SM data from all
multicast sources are sent when there is a PIM join, the SSM feature forwards
datagram traffic to receivers from only those multicast sources that the
receivers have explicitly joined, thus optimizing bandwidth utilization and
denying unwanted Internet broadcast traffic.
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest caveats and feature information,
see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module,
and to see a list of the releases in which each feature is supported, see the feature information table.
Use Cisco Feature Navigator to find information about platform support and Cisco software image
support. To access Cisco Feature Navigator, go to https://cfnng.cisco.com/. An account on Cisco.com is not required.
Prerequisites for IPv6 Multicast: PIM Source-Specific Multicast
Multicast Listener Discovery (MLD) version 2 is required for source-specific multicast (SSM) to operate.
Before SSM will run with MLD, SSM must be supported by the Cisco IPv6 device, the host where the application is running, and
the application itself.
Information About IPv6 Multicast: PIM Source-Specific Multicast
IPv6 Multicast Routing Implementation
Cisco software supports the following protocols to implement IPv6 multicast routing:
MLD is used by IPv6 devices to discover multicast listeners (nodes that want to receive multicast packets destined for specific
multicast addresses) on directly attached links. There are two versions of MLD:
MLD version 1 is based on version 2 of the Internet Group Management Protocol (IGMP) for IPv4.
MLD version 2 is based on version 3 of the IGMP for IPv4.
IPv6 multicast for Cisco software uses both MLD version 2 and MLD version 1. MLD version 2 is fully backward-compatible with
MLD version 1 (described in RFC 2710). Hosts that support only MLD version 1 will interoperate with a device running MLD version
2. Mixed LANs with both MLD version 1 and MLD version 2 hosts are likewise supported.
PIM-SM is used between devices so that they can track which multicast packets to forward to each other and to their directly
PIM in Source Specific Multicast (PIM-SSM) is similar to PIM-SM with the additional ability to report interest in receiving
packets from specific source addresses (or from all but the specific source addresses) to an IP multicast address.
The figure below shows where MLD and PIM-SM operate within the IPv6 multicast environment.
Protocol Independent Multicast
Protocol Independent Multicast (PIM) is used between devices so that they can track which multicast packets to forward to
each other and to their directly connected LANs. PIM works independently of the unicast routing protocol to perform send or
receive multicast route updates like other protocols. Regardless of which unicast routing protocols are being used in the
LAN to populate the unicast routing table, Cisco IOS PIM uses the existing unicast table content to perform the Reverse Path
Forwarding (RPF) check instead of building and maintaining its own separate routing table.
You can configure IPv6 multicast to use either a PIM- Sparse Mode (SM) or PIM-Source Specific Multicast (SSM) operation,
or you can use both PIM-SM and PIM-SSM together in your network.
PIM-Source Specific Multicast
PIM-SSM is the routing protocol that supports the implementation of SSM and is derived from PIM-SM. However, unlike PIM-SM
where data from all multicast sources are sent when there is a PIM join, the SSM feature forwards datagram traffic to receivers
from only those multicast sources that the receivers have explicitly joined, thus optimizing bandwidth utilization and denying
unwanted Internet broadcast traffic. Further, instead of the use of RP and shared trees, SSM uses information found on source
addresses for a multicast group. This information is provided by receivers through the source addresses relayed to the last-hop
devices by MLD membership reports, resulting in shortest-path trees directly to the sources.
In SSM, delivery of datagrams is based on (S, G) channels. Traffic for one (S, G) channel consists of datagrams with an IPv6
unicast source address S and the multicast group address G as the IPv6 destination address. Systems will receive this traffic
by becoming members of the (S, G) channel. Signaling is not required, but receivers must subscribe or unsubscribe to (S, G)
channels to receive or not receive traffic from specific sources.
MLD version 2 is required for SSM to operate. MLD allows the host to provide source information. Before SSM will run with
MLD, SSM must be supported in the Cisco IPv6 device, the host where the application is running, and the application itself.
PIM Shared Tree and Source Tree (Shortest-Path Tree)
By default, members of a group receive data from senders to the group across a single data distribution tree rooted at the
RP. This type of distribution tree is called shared tree or rendezvous point tree (RPT), as illustrated in the figure below.
Data from senders is delivered to the RP for distribution to group members joined to the shared tree.
If the data threshold warrants, leaf devices 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 software switches
to a source tree upon receiving the first data packet from a source.
The following process details the move from shared tree to source tree:
Receiver joins a group; leaf Device C sends a join message toward the RP.
RP puts the link to Device C in its outgoing interface list.
Source sends the data; Device A encapsulates the data in the register and sends it to the RP.
RP forwards the data down the shared tree to Device C and sends a join message toward the source. At this point, data may
arrive twice at Device C, once encapsulated and once natively.
When data arrives natively (unencapsulated) at the RP, the RP sends a register-stop message to Device A.
By default, receipt of the first data packet prompts Device C to send a join message toward the source.
When Device C receives data on (S, G), it sends a prune message for the source up the shared tree.
RP deletes the link to Device C from the outgoing interface of (S, G).
RP triggers a prune message toward the source.
Join and prune messages are sent for sources and RPs. They are sent hop-by-hop and are processed by each PIM device 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 (DR) that is directly connected to a source and are received by the RP for the group.
forwarding is used for forwarding multicast datagrams. It functions as follows:
If a device
receives a datagram on an interface it uses to send unicast packets to the
source, the packet has arrived on the RPF interface.
If the packet
arrives on the RPF interface, a device forwards the packet out the interfaces
present in the outgoing interface list of a multicast routing table entry.
If the packet
does not arrive on the RPF interface, the packet is silently discarded to
PIM uses both source
trees and RP-rooted shared trees to forward datagrams; the RPF check is
performed differently for each, as follows:
If a PIM device
has source-tree state (that is, an (S, G) entry is present in the multicast
routing table), the device performs the RPF check against the IPv6 address of
the source of the multicast packet.
If a PIM device
has shared-tree state (and no explicit source-tree state), it performs the RPF
check on the RP’s address (which is known when members join the group).
Sparse-mode PIM uses
the RPF lookup function to determine where it needs to send joins and prunes.
(S, G) joins (which are source-tree states) are sent toward the source. (*, G)
joins (which are shared-tree states) are sent toward the RP.
To do a RPF check, use the
show ipv6 rpf hostname or
show ipv6 rpf vrf vrf_name hostname command.
How to Configure IPv6 Multicast: PIM Source-Specific Multicast
Displays the average join-prune aggregation for the most recently aggregated packets for each interface.
Resetting the PIM Traffic Counters
If PIM malfunctions, or in order to verify that the expected number of PIM packets are received and sent, clear PIM traffic
counters. Once the traffic counters are cleared, you can verify that PIM is functioning correctly and that PIM packets are
being received and sent correctly.
Command or Action
Enables privileged EXEC mode.
Enter your password if prompted.
Device# clear ipv6 pim traffic
Resets the PIM traffic counters.
Device# show ipv6 pim traffic
Displays the PIM traffic counters.
Clearing the PIM Topology Table to Reset the MRIB Connection
No configuration is necessary to use the MRIB. However, users may in certain situations want to clear the PIM topology table
in order to reset the MRIB connection and verify MRIB information.
Displays information about MRIB routing entry-related activity.
Device# debug ipv6 mrib table
Enables debugging on MRIB table management activity.
Configuration Examples for IPv6 Multicast: PIM Source-Specific Multicast
Example: Displaying IPv6 PIM Topology Information
Device# show ipv6 pim topology
IP PIM Multicast Topology Table
Entry state:(*/S,G)[RPT/SPT] Protocol Uptime Info
Entry flags:KAT - Keep Alive Timer, AA - Assume Alive, PA - Probe Alive,
RA - Really Alive, LH - Last Hop, DSS - Don't Signal Sources,
RR - Register Received, SR - Sending Registers, E - MSDP External,
DCC - Don't Check Connected
Interface state:Name, Uptime, Fwd, Info
Interface flags:LI - Local Interest, LD - Local Dissinterest,
II - Internal Interest, ID - Internal Dissinterest,
LH - Last Hop, AS - Assert, AB - Admin Boundary
SM UP:02:26:56 JP:Join(now) Flags:LH
Ethernet0/1 02:26:56 fwd LI LH
SM UP:00:00:07 JP:Null(never) Flags:
Ethernet1/1 00:00:07 off LI
Example: Configuring Join/Prune Aggregation
The following example shows how to provide the join/prune aggregation on Ethernet interface 0/0:
Device# show ipv6 pim join-prune statistic Ethernet0/0
PIM Average Join/Prune Aggregation for last (1K/10K/50K) packets
Interface Transmitted Received
Ethernet0/0 0 / 0 1 / 0
Example: Displaying Information About PIM Traffic
Device# show ipv6 pim traffic
PIM Traffic Counters
Elapsed time since counters cleared:00:05:29
Valid PIM Packets 22 22
Hello 22 22
Join-Prune 0 0
Register 0 0
Register Stop 0 0
Assert 0 0
Bidir DF Election 0 0
Malformed Packets 0
Bad Checksums 0
Send Errors 0
Packet Sent on Loopback Errors 0
Packets Received on PIM-disabled Interface 0
Packets Received with Unknown PIM Version 0
Support and Documentation website provides online resources to download
documentation, software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve technical issues with
Cisco products and technologies. Access to most tools on the Cisco Support and
Documentation website requires a Cisco.com user ID and password.
Feature Information for IPv6 Multicast: PIM Source-Specific Multicast
The following table provides release information about the feature or features described in this module. This table lists
only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise,
subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco
Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for IPv6 Multicast: PIM Source-Specific Multicast
IPv6 Multicast: PIM Source-Specific Multicast
Cisco IOS XE Release 2.1
PIM-SSM supports the implementation of SSM and is derived from PIM-SM. The SSM feature forwards datagram traffic to receivers
from only those multicast sources that the receivers have explicitly joined, optimizing bandwidth utilization and denying
unwanted Internet broadcast traffic.
The following commands were introduced or modified:
clear ipv6 pim topology,
debug ipv6 pim,
debug ipv6 pim neighbor,
ipv6 pim dr-priority,
ipv6 pim hello-interval,
ipv6 pim rp-address
ipv6 pim spt-threshold infinity,
show ipv6 mroute,
show ipv6 pim group-map,
show ipv6 pim interface,
show ipv6 pim neighbor,
show ipv6 pim range-list,
show ipv6 pim topology,
show ipv6 pim tunnel.