Cisco IOS XE IPv6 Configuration Guide, Release 2
Implementing IPv6 Multicast

Table Of Contents

Implementing IPv6 Multicast

Finding Feature Information

Contents

Prerequisites for IPv6 Multicast

Restrictions for IPv6 Multicast

Information About IPv6 Multicast

IPv6 Multicast Overview

IPv6 Multicast Addressing

IPv6 Multicast Groups

IPv6 Multicast Routing Implementation

Multicast Listener Discovery Protocol for IPv6

MLD Access Group

Explicit Tracking of Receivers

Protocol Independent Multicast

PIM-Sparse Mode

IPv6 BSR

PIM-Source Specific Multicast

Routable Address Hello Option

Bidirectional PIM

Static Mroutes

MRIB

MFIB

Distributed MFIB

IPv6 Multicast Process Switching and Fast Switching

Multiprotocol BGP for the IPv6 Multicast Address Family

How to Implement IPv6 Multicast

Enabling IPv6 Multicast Routing

Prerequisites

Configuring the MLD Protocol

Customizing and Verifying MLD on an Interface

Implementing MLD Group Limits

Configuring Explicit Tracking of Receivers to Track Host Behavior

Resetting the MLD Traffic Counters

Clearing the MLD Interface Counters

Configuring PIM

Configuring PIM Options

Configuring Bidirectional PIM and Displaying Bidirectional PIM Information

Resetting the PIM Traffic Counters

Clearing the PIM Topology Table to Reset the MRIB Connection

Configuring a BSR

Configuring a BSR and Verifying BSR Information

Configuring to send PIM RP Advertisements to the BSR

Configuring SSM Mapping

Restrictions

Configuring Static Mroutes

Configuring IPv6 Multiprotocol BGP

Configuring an IPv6 Peer Group to Perform Multicast BGP Routing

Advertising Routes into IPv6 Multiprotocol BGP

Redistributing Prefixes into IPv6 Multiprotocol BGP

Assigning a BGP Administrative Distance

Generating Translate Updates for IPv6 Multicast BGP

Resetting BGP Sessions

Clearing External BGP Peers

Clearing IPv6 BGP Route Dampening Information

Clearing IPv6 BGP Flap Statistics

Using MFIB in IPv6 Multicast

Verifying MFIB Operation in IPv6 Multicast

Resetting MFIB Traffic Counters

Disabling Default Features in IPv6 Multicast

Disabling Embedded RP Support in IPv6 PIM

Turning Off IPv6 PIM on a Specified Interface

Disabling MLD Router-Side Processing

Disabling MFIB on the Router

Disabling MFIB Interrupt-Level IPv6 Multicast Forwarding

Troubleshooting IPv6 Multicast

Examples

Configuration Examples for IPv6 Multicast

Enabling IPv6 Multicast Routing: Example

Configuring PIM: Examples

Configuring PIM Options: Example

Configuring the MLD Protocol: Examples

Configuring Explicit Tracking of Receivers: Example

Configuring Mroutes: Example

Configuring an IPv6 Multiprotocol BGP Peer Group: Example

Advertising Routes into IPv6 Multiprotocol BGP: Example

Redistributing Prefixes into IPv6 Multiprotocol BGP: Example

Generating Translate Updates for IPv6 Multicast BGP: Example

Turning Off IPv6 PIM on a Specified Interface: Example

Disabling MLD Router-Side Processing: Example

Additional References

Related Documents

Standards and Drafts

MIBs

RFCs

Technical Assistance

Feature Information for Implementing IPv6 Multicast


Implementing IPv6 Multicast


First Published: July 28, 2003
Last Updated: June 25, 2009

Traditional IP communication allows a host to send packets to a single host (unicast transmission) or to all hosts (broadcast transmission). IPv6 multicast provides a third scheme, allowing a host to send a single data stream to a subset of all hosts (group transmission) simultaneously.

This module describes the concepts and tasks you need to implement IPv6 multicast on your network.

Finding Feature Information

For the latest feature information and caveats, see 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 for Implementing IPv6 Multicast" section.

Use Cisco Feature Navigator to find information about platform support and Cisco IOS XE software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.

Contents

Prerequisites for IPv6 Multicast

Restrictions for IPv6 Multicast

Information About IPv6 Multicast

How to Implement IPv6 Multicast

Configuration Examples for IPv6 Multicast

Additional References

Feature Information for Implementing IPv6 Multicast

Prerequisites for IPv6 Multicast

In order to enable IPv6 multicast routing on a router, you must first enable IPv6 unicast routing on the router. For information on how to do that, refer to the Implementing IPv6 Addressing and Basic Connectivity module.

You must enable IPv6 unicast routing on all interfaces.

This module assumes that you are familiar with IPv6 addressing and basic configuration. Refer to the Implementing IPv6 Addressing and Basic Connectivity module for more information.

This module assumes that you are familiar with IPv4. Refer to the publications referenced in the "Related Documents" section for IPv4 configuration and command reference information, as needed.

Restrictions for IPv6 Multicast

IPv6 multicast for Cisco IOS XE software uses Multicast Listener Discovery (MLD) version 2. This version of MLD is fully backward-compatible with MLD version 1 (described in RFC 2710). Hosts that support only MLD version 1 will interoperate with a router running MLD version 2. Mixed LANs with both MLD version 1 and MLD version 2 hosts are likewise supported.

When using bidirectional (bidir) range in a network, all routers in that network must be able to understand the bidirectional range in the bootstrap message (BSM).

IPv6 multicast routing is disabled by default when the ipv6 unicast-routing command is configured.

Information About IPv6 Multicast

To configure IPv6 multicast, you need to understand the following concepts:

IPv6 Multicast Overview

IPv6 Multicast Addressing

IPv6 Multicast Routing Implementation

Multicast Listener Discovery Protocol for IPv6

Protocol Independent Multicast

Static Mroutes

MRIB

MFIB

Multiprotocol BGP for the IPv6 Multicast Address Family

IPv6 Multicast Overview

An IPv6 multicast group is an arbitrary group of receivers that want to receive a particular data stream. This group has no physical or geographical boundaries—receivers can be located anywhere on the Internet or in any private network. Receivers that are interested in receiving data flowing to a particular group must join the group by signaling their local router. This signaling is achieved with the MLD protocol.

Routers use the MLD protocol to learn whether members of a group are present on their directly attached subnets. Hosts join multicast groups by sending MLD report messages. The network then delivers data to a potentially unlimited number of receivers, using only one copy of the multicast data on each subnet. IPv6 hosts that wish to receive the traffic are known as group members.

Packets delivered to group members are identified by a single multicast group address. Multicast packets are delivered to a group using best-effort reliability, just like IPv6 unicast packets.

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 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, its duration, and its membership can vary from group to group and from time to time. A group that has members may have no activity.

IPv6 Multicast Addressing

An IPv6 multicast address is an IPv6 address that has a prefix of FF00::/8 (1111 1111). An IPv6 multicast address is an identifier for a set of interfaces that typically belong to different nodes. A packet sent to a multicast address is delivered to all interfaces identified by the multicast address. The second octet following the prefix defines the lifetime and scope of the multicast address. A permanent multicast address has a lifetime parameter equal to 0; a temporary multicast address has a lifetime parameter equal to 1. A multicast address that has the scope of a node, link, site, or organization, or a global scope has a scope parameter of 1, 2, 5, 8, or E, respectively. For example, a multicast address with the prefix FF02::/16 is a permanent multicast address with a link scope. Figure 1 shows the format of the IPv6 multicast address.

Figure 1 IPv6 Multicast Address Format

IPv6 nodes (hosts and routers) are required to join (receive packets destined for) the following multicast groups:

All-nodes multicast group FF02:0:0:0:0:0:0:1 (scope is link-local)

Solicited-node multicast group FF02:0:0:0:0:1:FF00:0000/104 for each of its assigned unicast and anycast addresses

IPv6 routers must also join the all-routers multicast group FF02:0:0:0:0:0:0:2 (scope is link-local).

The solicited-node multicast address is a multicast group that corresponds to an IPv6 unicast or anycast address. IPv6 nodes must join the associated solicited-node multicast group for every unicast and anycast address to which it is assigned. The IPv6 solicited-node multicast address has the prefix FF02:0:0:0:0:1:FF00:0000/104 concatenated with the 24 low-order bits of a corresponding IPv6 unicast or anycast address (see Figure 2). For example, the solicited-node multicast address corresponding to the IPv6 address 2037::01:800:200E:8C6C is FF02::1:FF0E:8C6C. Solicited-node addresses are used in neighbor solicitation messages.

Figure 2 IPv6 Solicited-Node Multicast Address Format


Note There are no broadcast addresses in IPv6. IPv6 multicast addresses are used instead of broadcast addresses.


IPv6 Multicast Groups

An IPv6 address must be configured on an interface for the interface to forward IPv6 traffic. Configuring a site-local or global IPv6 address on an interface automatically configures a link-local address and activates IPv6 for that interface. Additionally, the configured interface automatically joins the following required multicast groups for that link:

Solicited-node multicast group FF02:0:0:0:0:1:FF00::/104 for each unicast and anycast address assigned to the interface

All-nodes link-local multicast group FF02::1

All-routers link-local multicast group FF02::2


Note The solicited-node multicast address is used in the neighbor discovery process.


For further information on configuring IPv6 addresses, refer to the Implementing IPv6 Addressing and Basic Connectivity module.

IPv6 Multicast Routing Implementation

The Cisco IOS XE software supports the following protocols to implement IPv6 multicast routing:

MLD for IPv6. MLD is used by IPv6 routers 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, and MLD version 2 is based on version 3 of the IGMP for IPv4. IPv6 multicast for Cisco IOS XE 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 router running MLD version 2. Mixed LANs with both MLD version 1 and MLD version 2 hosts are likewise supported.

Protocol Independent Multicast (PIM) in Source Specific Multicast (PIM-SSM) is used between routers so that they can track which multicast packets to forward to each other and to their directly connected LANs. It can also report interest in receiving packets from specific source addresses (or from all but the specific source addresses) to an IP multicast address.

Figure 3 shows where MLD and PIM-Sparse Mode (SM) operate within the IPv6 multicast environment.

Figure 3 IPv6 Multicast Routing Protocols Supported for IPv6

Multicast Listener Discovery Protocol for IPv6

To start implementing multicasting in the campus network, users must first define who receives the multicast. The MLD protocol is used by IPv6 routers to discover the presence of multicast listeners (for example, nodes that want to receive multicast packets) on their directly attached links, and to discover specifically which multicast addresses are of interest to those neighboring nodes. It is used for discovering local group and source-specific group membership. The MLD protocol provides a means to automatically control and limit the flow of multicast traffic throughout your network with the use of special multicast queriers and hosts.

The difference between multicast queriers and hosts is as follows:

A querier is a network device, such as a router, that sends query messages to discover which network devices are members of a given multicast group.

A host is a receiver, including routers, that send report messages to inform the querier of a host membership.

A set of queriers and hosts that receive multicast data streams from the same source is called a multicast group. Queriers and hosts use MLD reports to join and leave multicast groups and to begin receiving group traffic.

MLD uses the Internet Control Message Protocol (ICMP) to carry its messages. All MLD messages are link-local with a hop limit of 1, and they all have the router alert option set. The router alert option implies an implementation of the hop-by-hop option header.

MLD has three types of messages:

Query—General, group-specific, and multicast-address-specific. In a query message, the multicast address field is set to 0 when MLD sends a general query. The general query learns which multicast addresses have listeners on an attached link.

Group-specific and multicast-address-specific queries are the same. A group address is a multicast address.

Report—In a report message, the multicast address field is that of the specific IPv6 multicast address to which the sender is listening.

Done—In a done message, the multicast address field is that of the specific IPv6 multicast address to which the source of the MLD message is no longer listening.

MLD Access Group

The MLD access group provides receiver access control in Cisco IOS IPv6 multicast routers. This feature limits the list of groups a receiver can join, and it allows or denies sources used to join SSM channels.

Explicit Tracking of Receivers

The explicit tracking feature allows a router to track the behavior of the hosts within its IPv6 network. This feature also enables the fast leave mechanism to be used with MLD version 2 host reports.

Protocol Independent Multicast

Protocol Independent Multicast (PIM) is used between routers 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 XE 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.

PIM-Sparse Mode

IPv6 multicast provides support for intradomain multicast routing using PIM-SM. PIM-SM uses unicast routing to provide reverse-path information for multicast tree building, but it is not dependent on any particular unicast routing protocol.

PIM-SM 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. PIM-SM distributes information about active sources by forwarding data packets on the shared tree. PIM-SM initially uses shared trees, which requires the use of an RP.

Requests are accomplished via PIM joins, 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.

As a PIM join travels up the tree, routers along the path set up multicast forwarding state so that the requested multicast traffic will be forwarded back down the tree. When multicast traffic is no longer needed, a router sends a PIM prune 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.

A multicast data sender sends data destined for a multicast group. The designated router (DR) of the sender takes those data packets, unicast-encapsulates them, and sends them directly to the RP. The RP receives these encapsulated data packets, de-encapsulates them, and forwards them onto the shared tree. The packets then follow the (*, G) multicast tree state in the routers on the RP tree, at each point where the RP tree branches the packets are replicated and forwarded along the branches, eventually reaching all the receivers for that multicast group. The process of encapsulating data packets to the RP is called registering, and the encapsulation packets are called PIM register packets.

Designated Router

Cisco routers use PIM-SM to forward multicast traffic and follow an election process to select a designated router when more than one router is 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 multiple PIM-SM routers are on a LAN, a designated router must be elected to avoid duplicating multicast traffic for connected hosts. The PIM router with the highest IPv6 address becomes the DR for the LAN unless you choose to force the DR election by use of the ipv6 pim dr-priority command. This command allows you to specify the DR priority of each router on the LAN segment (default priority = 1) so that the router with the highest priority will be elected as the DR. If all routers on the LAN segment have the same priority, then the highest IPv6 address is again used as the tiebreaker.

Figure 4 illustrates what happens on a multiaccess segment. Router A and Router B are connected to a common multiaccess Gigabit Ethernet segment with Host A as an active receiver for Group A. 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 would be created and Host A would 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. If both routers were assigned the responsibility, the RP would receive duplicate multicast packets.

Figure 4 Designated Router Election on a Multiaccess Segment

If the DR should fail, 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 would detect this situation when its neighbor adjacency with Router A timed out. Because Router B has been hearing MLD membership reports from Host A, it already has MLD state for Group A on this interface and would immediately send a join to the RP when it became the new DR. This step reestablishes traffic flow down a new branch of the shared tree via Router B. Additionally, if Host A were sourcing traffic, Router B would initiate a new register process immediately after receiving the next multicast packet from Host A. This action would trigger the RP to join the SPT to Host A via 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 ipv6 pim neighbor command in privileged EXEC mode.



Note DR election process is required only on multiaccess LANs. The last-hop router directly connected to the host is the DR.


Rendezvous Point

IPv6 PIM provides embedded RP support. Embedded RP support allows the router to learn RP information using the multicast group destination address instead of the statically configured RP. For routers that are the RP, the router must be statically configured as the RP.

The router searches for embedded RP group addresses in MLD reports or PIM messages and data packets. On finding such an address, the router learns the RP for the group from the address itself. It then uses this learned RP for all protocol activity for the group. For routers that are the RP, the router is advertised as an embedded RP must be configured as the RP.

To select a static RP over an embedded RP, the specific embedded RP group range or mask must be configured in the access list of the static RP. When PIM is configured in sparse mode, you must also choose one or more routers to operate as an RP. An RP is a single common root placed at a chosen point of a shared distribution tree and is configured statically in each box.

PIM DRs forward data from directly connected multicast sources to the RP for distribution down the shared tree. Data is forwarded to the RP in one of two ways:

Data is encapsulated in register packets and unicast directly to the RP by the first-hop router operating as the DR.

If the RP has itself joined the source tree, it is multicast-forwarded per the RPF forwarding algorithm described in the "PIM-Sparse Mode" section.

The RP address is used by first-hop routers to send PIM register messages on behalf of a host sending a packet to the group. The RP address is also used by last-hop routers to send PIM join and prune messages to the RP to inform it about group membership. You must configure the RP address on all routers (including the RP router).

A PIM router can be an RP for more than one group. Only one RP address can be used at a time within a PIM domain for a certain group. The conditions specified by the access list determine for which groups the router is an RP.

IPv6 multicast supports the PIM accept register feature, which is the ability to perform PIM-SM register message filtering at the RP. The user can match an access list or compare the AS path for the registered source with the AS path specified in a route map.

IPv6 BSR

PIM routers in a domain must be able to map each multicast group to the correct RP address. The BSR protocol for PIM-SM provides a dynamic, adaptive mechanism to distribute group-to-RP mapping information rapidly throughout a domain. With the IPv6 BSR feature, if an RP becomes unreachable, it will be detected and the mapping tables will be modified so that the unreachable RP is no longer used, and the new tables will be rapidly distributed throughout the domain.

Every PIM-SM multicast group needs to be associated with the IP or IPv6 address of an RP. When a new multicast sender starts sending, its local DR will encapsulate these data packets in a PIM register message and send them to the RP for that multicast group. When a new multicast receiver joins, its local DR will send a PIM join message to the RP for that multicast group. When any PIM router sends a (*, G) join message, the PIM router needs to know which is the next router toward the RP so that the router can direct its (*, G) join message toward it. Also, when a PIM router is forwarding data packets using (*, G) state, the PIM router needs to know which is the correct incoming interface for packets destined for G, because it needs to reject any packets that arrive on other interfaces.

A small set of routers from a domain are configured as candidate bootstrap routers (C-BSRs) and a single BSR is selected for that domain. A set of routers within a domain are also configured as candidate RPs (C-RPs); typically, these routers are the same routers that are configured as C-BSRs. Candidate RPs periodically unicast candidate-RP-advertisement (C-RP-Adv) messages to the BSR of that domain, advertising their willingness to be an RP. A C-RP-Adv message includes the address of the advertising C-RP, and an optional list of group addresses and mask length fields, indicating the group prefixes for which the candidacy is advertised. The BSR then includes a set of these C-RPs, along with their corresponding group prefixes, in bootstrap messages (BSMs) it periodically originates. BSMs are distributed hop-by-hop throughout the domain.

The IPv6 BSR ability to configure RP mapping allows IPv6 multicast routers to be statically configured to announce scope-to-RP mappings directly from the BSR instead of learning them from candidate-RP messages. Announcing RP mappings from the BSR is useful in several situations:

When an RP address never changes because there is only a single RP or the group range uses an anycast RP, it may be less complex to configure the RP address announcement statically on the candidate BSRs.

When an RP address is a virtual RP address (such as when bidirectional PIM is used), it cannot be learned by the BSR from a candidate-RP. Instead, the virtual RP address must be configured as an announced RP on the candidate BSRs.

Cisco IOS IPv6 routers provide support for the RPF flooding of BSR packets so that a Cisco IOS IPv6 router will not disrupt the flow of BSMs. The router will recognize and parse enough of the BSM to identify the BSR address. The router performs an RPF check for this BSR address and forwards the packet only if it is received on the RPF interface. The router also creates a BSR entry containing RPF information to use for future BSMs from the same BSR. When BSMs from a given BSR are no longer received, the BSR entry is timed out.

Bidirectional BSR support allows bidirectional RPs to be advertised in C-RP messages and bidirectional ranges in the BSM. All routers in a system must be able to use the bidirectional range in the BSM; otherwise, the bidirectional RP feature will not function.

BSR provides scoped zone support by distributing group-to-RP mappings in networks using administratively scoped multicast. The user can configure candidate BSRs and a set of candidate RPs for each administratively scoped region in the user's domain.

For BSR to function correctly with administrative scoping, a BSR and at least one C-RP must be within every administratively scoped region. Administratively scoped zone boundaries must be configured at the zone border routers (ZBRs), because they need to filter PIM join messages that might inadvertently cross the border due to error conditions. In addition, at least one C-BSR within the administratively scoped zone must be configured to be a C-BSR for the administratively scoped zone's address range.

A separate BSR election will then take place (using BSMs) for every administratively scoped range, plus one for the global range. Administratively scoped ranges are identified in the BSM because the group range is marked to indicate that this is an administrative scope range, not just a range that a particular set of RPs is configured to handle.

Unless the C-RP is configured with a scope, it discovers the existence of the administratively scoped zone and its group range through reception of a BSM from the scope zone's elected BSR containing the scope zone's group range. A C-RP stores each elected BSR's address and the administratively scoped range contained in its BSM. It separately unicasts C-RP-Adv messages to the appropriate BSR for every administratively scoped range within which it is willing to serve as an RP.

All PIM routers within a PIM bootstrap domain where administratively scoped ranges are in use must be able to receive BSMs and store the winning BSR and RP set for all administratively scoped zones that apply.

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 routers by MLD membership reports, resulting in 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 IOS XE IPv6 router, the host where the application is running, and the application itself.

SSM Mapping for IPv6

SSM mapping for IPv6 supports both static and dynamic Domain Name System (DNS) mapping for MLD version 1 receivers. This feature allows deployment of IPv6 SSM with hosts that are incapable of providing MLD version 2 support in their TCP/IP host stack and their IP multicast receiving application.

SSM mapping allows the router to look up the source of a multicast MLD version 1 report either in the running configuration of the router or from a DNS server. The router can then initiate an (S, G) join toward the source.

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 Figure 5. Data from senders is delivered to the RP for distribution to group members joined to the shared tree.

Figure 5 Shared Tree and Source Tree (Shortest Path Tree)

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 XE 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 the RP.

2. RP puts the link to Router C in its outgoing interface list.

3. Source sends the data; Router A encapsulates the data in the register and sends it to the RP.

4. RP forwards the data down the shared tree to Router C and sends a join message toward the source. At this point, data may arrive twice at Router C, once encapsulated and once natively.

5. When data arrives natively (unencapsulated) at the RP, the 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 the source.

7. When Router C receives data on (S, G), it sends a prune message for the source up the shared tree.

8. RP deletes the link to Router C from the outgoing interface of (S, G).

9. 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 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.

Reverse Path Forwarding

Reverse-path forwarding is used for forwarding multicast datagrams. It functions as follows:

If a router 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 router 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 prevent loops.

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 router has source-tree state (that is, an (S, G) entry is present in the multicast routing table), the router performs the RPF check against the IPv6 address of the source of the multicast packet.

If a PIM router 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.

Routable Address Hello Option

When an IPv6 interior gateway protocol is used to build the unicast routing table, the procedure to detect the upstream router address assumes the address of a PIM neighbor is always same as the address of the next-hop router, as long as they refer to the same router. However, it may not be the case when a router has multiple addresses on a link.

Two typical situations can lead to this situation for IPv6. The first situation can occur when the unicast routing table is not built by an IPv6 interior gateway protocol such as multicast BGP. The second situation occurs when the address of an RP shares a subnet prefix with downstream routers (note that the RP router address has to be domain-wide and therefore cannot be a link-local address).

The routable address hello option allows the PIM protocol to avoid such situations by adding a PIM hello message option that includes all the addresses on the interface on which the PIM hello message is advertised. When a PIM router finds an upstream router for some address, the result of RPF calculation is compared with the addresses in this option, in addition to the PIM neighbor's address itself. Because this option includes all the possible addresses of a PIM router on that link, it always includes the RPF calculation result if it refers to the PIM router supporting this option.

Bidirectional PIM

Bidirectional PIM allows multicast routers to keep reduced state information, as compared with unidirectional shared trees in PIM-SM. Bidirectional shared trees convey data from sources to the RP and distribute them from the RP to the receivers. Unlike PIM-SM, bidirectional PIM does not switch over to the source tree, and there is no register encapsulation of data from the source to the RP.

Bidirectional PIM offers advantages when there are many moderate or low-rate sources. However, the bidirectional source trees have worse delay characteristics than do the source trees built in PIM-SM.

Only static configuration of bidirectional RPs is supported in IPv6.

Static Mroutes

IPv6 static mroutes behave much in the same way as do IPv6 static routes. IPv6 static mroutes share the same database as IPv6 static routes and are implemented by extending static route support. Static mroutes support equal-cost multipath mroutes, and they also support unicast-only static routes.

For further information on IPv6 static routes, see the Implementing Static Routes for IPv6 module.

MRIB

The Multicast Routing Information Base (MRIB) is a protocol-independent repository of multicast routing entries instantiated by multicast routing protocols (routing clients). Its main function is to provide independence between routing protocols and the Multicast Forwarding Information Base (MFIB). It also acts as a coordination and communication point among its clients.

Routing clients use the services provided by the MRIB to instantiate routing entries and retrieve changes made to routing entries by other clients. Besides routing clients, MRIB also has forwarding clients (MFIB instances) and special clients such as MLD. MFIB retrieves its forwarding entries from MRIB and notifies the MRIB of any events related to packet reception. These notifications can either be explicitly requested by routing clients or spontaneously generated by the MFIB.

Another important function of the MRIB is to allow for the coordination of multiple routing clients in establishing multicast connectivity within the same multicast session. MRIB also allows for the coordination between MLD and routing protocols.

MFIB

The MFIB is a platform-independent and routing-protocol-independent library for IPv6 software. Its main purpose is to provide a Cisco IOS XE platform with an interface with which to read the IPv6 multicast forwarding table and notifications when the forwarding table changes. The information provided by the MFIB has clearly defined forwarding semantics and is designed to make it easy for the platform to translate to its specific hardware or software forwarding mechanisms.

When routing or topology changes occur in the network, the IPv6 routing table is updated, and those changes are reflected in the MFIB. The MFIB maintains next-hop address information based on the information in the IPv6 routing table. Because there is a one-to-one correlation between MFIB entries and routing table entries, the MFIB contains all known routes and eliminates the need for route cache maintenance that is associated with switching paths such as fast switching and optimum switching.

Distributed MFIB

Distributed MFIB (dMFIB) is used to switch multicast IPv6 packets on distributed platforms. dMFIB may also contain platform-specific information on replication across line cards. The basic MFIB routines that implement the core of the forwarding logic are common to all forwarding environments.

dMFIB implements the following functionalities:

Distributes a copy of the MFIB to the line cards.

Relays data-driven protocol events generated in the line cards to PIM.

Provides an MFIB platform application program interface (API) to propagate MFIB changes to platform-specific code responsible for programming the hardware acceleration engine. This API also includes entry points to switch a packet in software (necessary if the packet is triggering a data-driven event) and to upload traffic statistics to the software.

Provides hooks to allow clients residing on the RP to read traffic statistics on demand. (dMFIB does not periodically upload these statistics to the RP.)

The combination of dMFIB and MRIB subsystems also allows the router to have a "customized" copy of the MFIB database in each line card and to transport MFIB-related platform-specific information from the RP to the line cards.

IPv6 Multicast Process Switching and Fast Switching

A unified MFIB is used to provide both fast switching and process switching support for PIM-SM and PIM-SSM in IPv6 multicast. In process switching, the Route Processor must examine, rewrite, and forward each packet. The packet is first received and copied into the system memory. The router then looks up the Layer 3 network address in the routing table. The Layer 2 frame is then rewritten with the next-hop destination address and sent to the outgoing interface. The RP also computes the cyclic redundancy check (CRC). This switching method is the least scalable method for switching IPv6 packets.

IPv6 multicast fast switching allows routers to provide better packet forwarding performance than process switching. Information conventionally stored in a route cache is stored in several data structures for IPv6 multicast switching. The data structures provide optimized lookup for efficient packet forwarding.

In IPv6 multicast forwarding, the first packet is fast-switched if the PIM protocol logic allows it. In IPv6 multicast fast switching, the MAC encapsulation header is precomputed. IPv6 multicast fast switching uses the MFIB to make IPv6 destination prefix-based switching decisions. In addition to the MFIB, IPv6 multicast fast switching uses adjacency tables to prepend Layer 2 addressing information. The adjacency table maintains Layer 2 next-hop addresses for all MFIB entries.

The adjacency table is populated as adjacencies are discovered. Each time an adjacency entry is created (such as through ARP), a link-layer header for that adjacent node is precomputed and stored in the adjacency table. Once a route is determined, it points to a next hop and corresponding adjacency entry. It is subsequently used for encapsulation during switching of packets.

A route might have several paths to a destination prefix, such as when a router is configured for simultaneous load balancing and redundancy. For each resolved path, a pointer is added for the adjacency corresponding to the next-hop interface for that path. This mechanism is used for load balancing across several paths.

Multiprotocol BGP for the IPv6 Multicast Address Family

The multicast BGP for the IPv6 multicast address family feature provides multicast BGP extensions for IPv6 and supports the same features and functionality as IPv4 BGP. IPv6 enhancements to multicast BGP include support for an IPv6 multicast address family and network layer reachability information (NLRI) and next hop (the next router in the path to the destination) attributes that use IPv6 addresses.

Multicast BGP is an enhanced BGP that allows the deployment of interdomain IPv6 multicast. Multicast BGP carries routing information for multiple network layer protocol address families; for example, IPv6 address family and for IPv6 multicast routes. The IPv6 multicast address family contains routes used for RPF lookup by the IPv6 PIM protocol, and multicast BGP IPv6 provides for interdomain transport of the same. Users must use multicast BGP for IPv6 multicast when using IPv6 multicast with BGP because the unicast multicast BGP learned routes will not be used for IPv6 multicast.

Multicast BGP functionality provided through a separate address family context. A subsequent address family identifier (SAFI) provides information about the type of the network layer reachability information that is carried in the attribute. Multiprotocol BGP unicast uses SAFI 1 messages, and multiprotocol BGP multicast uses SAFI 2 messages.

A separate BGP routing table is maintained to configure incongruent policies and topologies (for example, IPv6 unicast and multicast) by using IPv6 multicast RPF lookup. Multicast RPF lookup is very similar to the IP unicast route lookup.

No MRIB is associated with the IPv6 multicast BGP table. However, IPv6 multicast BGP operates on the unicast IPv6 RIB when needed. Multicast BGP does not insert or update routes into the IPv6 unicast RIB.

How to Implement IPv6 Multicast

The tasks in the following sections explain how to implement IPv6 multicast:

Enabling IPv6 Multicast Routing

Configuring the MLD Protocol

Configuring PIM

Configuring SSM Mapping

Configuring Static Mroutes

Configuring IPv6 Multiprotocol BGP

Using MFIB in IPv6 Multicast

Disabling Default Features in IPv6 Multicast

Troubleshooting IPv6 Multicast

Enabling IPv6 Multicast Routing

This task explains how to enable IPv6 multicast routing on all interfaces and to enable multicast forwarding for PIM and MLD on all enabled interfaces of the router.

Prerequisites

In order to enable IPv6 multicast routing on a router, you must first enable IPv6 unicast routing on the router. For information on how to enable IPv6 unicast routing on a router, refer to the Implementing IPv6 Addressing and Basic Connectivity module.

If you are already using an IPv6 unicast router, use the following tasks to enable IPv6 multicast routing and configure IPv6 multicast routing options.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 multicast-routing

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 multicast-routing

Example:

Router(config)# ipv6 multicast-routing

Enables multicast routing on all IPv6-enabled interfaces and enables multicast forwarding for PIM and MLD on all enabled interfaces of the router.

Configuring the MLD Protocol

The following tasks describe how to customize and verify the MLD protocol.

Customizing and Verifying MLD on an Interface

Implementing MLD Group Limits

Configuring Explicit Tracking of Receivers to Track Host Behavior

Resetting the MLD Traffic Counters

Clearing the MLD Interface Counters

Customizing and Verifying MLD on an Interface

Use the following commands to customize MLD and verify MLD information on each interface, if desired.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. ipv6 mld join-group [group-address] [[include | exclude] {source-address | source-list [acl]}

5. ipv6 mld access-group access-list-name

6. ipv6 mld static-group [group-address] [[include | exclude] {source-address | source-list [acl]}

7. ipv6 mld query-max-response-time seconds

8. ipv6 mld query-timeout seconds

9. ipv6 mld query-interval seconds

10. exit

11. show ipv6 mld groups [link-local] [group-name | group-address] [interface-type interface-number] [detail | explicit]

12. show ipv6 mld groups summary

13. show ipv6 mld interface [type number]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface GigabitEthernet 1/0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 4 

ipv6 mld join-group [group-address] [[include | exclude] {source-address | source-list [acl]}

Example:

Router(config-if)# ipv6 mld join-group FF04::12 exclude 2001:0DB8::10::11

Configures MLD reporting for a specified group and source.

Step 5 

ipv6 mld access-group access-list-name

Example:

Router(config-if)# ipv6 access-list acc-grp-1

Allows the user to perform IPv6 multicast receiver access control.

Step 6 

ipv6 mld static-group [group-address] [[include | exclude] {source-address | source-list [acl]}

Example:
Router(config-if)# ipv6 mld static-group 
ff04::10 include 100::1

Statically forwards traffic for the multicast group onto a specified interface and cause the interface to behave as if a MLD joiner were present on the interface.

Step 7 

ipv6 mld query-max-response-time seconds

Example:

Router(config-if)# ipv6 mld query-max-response-time 20

Configures the maximum response time advertised in MLD queries.

Step 8 

ipv6 mld query-timeout seconds

Example:

Router(config-if)# ipv6 mld query-timeout 130

Configures the timeout value before the router takes over as the querier for the interface.

Step 9 

ipv6 mld query-interval seconds

Example:

Router(config-if)# ipv6 mld query-interval 60

Configures the frequency at which the Cisco IOS XE software sends MLD host-query messages.


Caution Changing this value may severely impact multicast forwarding.

Step 10 

exit

Example:

Router(config-if)# exit

Enter this command twice to exit interface configuration mode and enter privileged EXEC mode.

Step 11 

show ipv6 mld groups [link-local] [group-name | group-address] [interface-type interface-number] [detail | explicit]

Example:
Router# show ipv6 mld groups GigabitEthernet 
2/1/0

Displays the multicast groups that are directly connected to the router and that were learned through MLD.

Step 12 

show ipv6 mfib summary

Example:

Router# show ipv6 mfib summary

Displays summary information about the number of IPv6 Multicast Forwarding Information Base (MFIB) entries (including link-local groups) and interfaces.

Step 13 

show ipv6 mld interface [type number]

Example:
Router# show ipv6 mld interface GigabitEthernet 
2/1/0

Displays multicast-related information about an interface.

Implementing MLD Group Limits

Per-interface and global MLD limits operate independently of each other. Both per-interface and global MLD limits can be configured on the same router. The number of MLD limits, globally or per interface, is not configured by default; the limits must be configured by the user. A membership report that exceeds either the per-interface or the global state limit is ignored.

The following tasks describe how to limit MLD states that result from MLD version 2 or MLD version 1 membership reports globally or per interface:

Implementing MLD Group Limits Globally

Clearing the MLD Interface Counters

Implementing MLD Group Limits Globally

This task describes how to limit MLD groups globally.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 mld state-limit number

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 mld state-limit number

Example:

Router(config)# ipv6 mld state-limit 300

Limits the number of MLD states globally.

Implementing MLD Group Limits per Interface

This task describes how to limit MLD groups on a per-interface basis.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. ipv6 mld limit number [except access-list]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface GigabitEthernet 1/0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 4 

ipv6 mld limit number [except access-list]

Example:

Router(config-if)# ipv6 mld limit 100

Limits the number of MLD states on a per-interface basis.

Configuring Explicit Tracking of Receivers to Track Host Behavior

This task enables the explicit tracking of receivers feature. The explicit tracking feature allows a router to track the behavior of the hosts within its IPv6 network and enables the fast leave mechanism to be used with MLD version 2 host reports.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. ipv6 mld explicit-tracking access-list-name

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface GigabitEthernet 1/0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 4 

ipv6 mld explicit-tracking access-list-name

Example:

Router(config-if)# ipv6 mld explicit-tracking list1

Enables explicit tracking of hosts.

Resetting the MLD Traffic Counters

This task explains how to reset the MLD traffic counters and verify MLD traffic information.

SUMMARY STEPS

1. enable

2. clear ipv6 mld traffic

3. show ipv6 mld traffic

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear ipv6 mld traffic

Example:

Router# clear ipv6 mld traffic

Resets all MLD traffic counters.

Step 3 

show ipv6 mld traffic

Example:

Router# show ipv6 mld traffic

Displays the MLD traffic counters.

Clearing the MLD Interface Counters

This task explains how to clear MLD interface counters.

SUMMARY STEPS

1. enable

2. clear ipv6 mld counters [interface-type]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear ipv6 mld counters [interface-type]

Example:
Router# clear ipv6 mld counters 
GigabitEthernet1/0/0

Clears the MLD interface counters.

Configuring PIM

The following tasks explain how to configure PIM and display PIM configuration and information.

Configuring PIM Options

Configuring Bidirectional PIM and Displaying Bidirectional PIM Information

Resetting the PIM Traffic Counters

Clearing the PIM Topology Table to Reset the MRIB Connection

Configuring PIM Options

The following task explains commands you can use to refine your configuration for PIM-SSM, both in general or on specified interfaces. The task also gives various commands that can be used to verify PIM configuration and information.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 pim spt-threshold infinity [group-list access-list-name]

4. interface type number

5. ipv6 pim dr-priority value

6. ipv6 pim hello-interval seconds

7. ipv6 pim join-prune-interval seconds

8. exit

9. show ipv6 pim join-prune statistic [interface-type]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 pim spt-threshold infinity [group-list access-list-name]

Example:

Router(config)# ipv6 pim spt-threshold infinity group-list acc-grp-1

Configures when a PIM leaf router joins the SPT for the specified groups.

Step 4 

interface type number

Example:

Router(config)# interface GigabitEthernet 1/0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 5 

ipv6 pim dr-priority value

Example:
Router(config-if)# ipv6 pim dr-priority 3

Configures the DR priority on a PIM router.

Step 6 

ipv6 pim hello-interval seconds

Example:
Router(config-if)# ipv6 pim hello-interval 45

Configures the frequency of PIM hello messages on an interface.

Step 7 

ipv6 pim join-prune-interval seconds

Example:

Router(config-if)# ipv6 pim join-prune-interval 75

Configures periodic join and prune announcement intervals for a specified interface.

Step 8 

exit

Example:

Router(config-if)# exit

Enter this command twice to exit interface configuration mode and enter privileged EXEC mode.

Step 9 

show ipv6 pim join-prune statistic 
[interface-type]
Example:

Router# show ipv6 pim join-prune statistic

Displays the average join-prune aggregation for the most recently aggregated 1000, 10,000, and 50,000 packets for each interface.

Configuring Bidirectional PIM and Displaying Bidirectional PIM Information

This task explains how to configure bidirectional PIM and use show commands to display bidirectional PIM information.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 pim rp-address ipv6-address [group-access-list] [bidir]

4. exit

5. show ipv6 pim df [interface-type interface-number] [rp-address]

6. show ipv6 pim df winner [interface-type interface-number] [rp-address]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 pim rp-address ipv6-address [group-access-list] [bidir]

Example:

Router(config)# ipv6 pim rp-address 2001:0DB8::01:800:200E:8C6C bidir

Configures the address of a PIM RP for a particular group range. Use of the bidir keyword means that the group range will be used for bidirectional shared-tree forwarding.

Step 4 

exit

Example:

Router(config-if)# exit

Exits global configuration mode, and returns the router to privileged EXEC mode.

Step 5 

show ipv6 pim df [interface-type interface-number] [rp-address]

Example:
Router# show ipv6 pim df

Displays the designated forwarder (DF)-election state of each interface for RP.

Step 6 

show ipv6 pim df winner [interface-type interface-number] [rp-address]

Example:
Router# show ipv6 pim df winner GigabitEthernet 
1/0/0 200::1

Displays the DF-election winner on each interface for each RP.

Resetting the PIM Traffic Counters

If PIM malfunctions or in order to verify that the expected number of PIM packets are received and sent, the user can clear PIM traffic counters. Once the traffic counters are cleared, the user can enter the show ipv6 pim traffic command to verify that PIM is functioning correctly and that PIM packets are being received and sent correctly.

This task explains how to reset the PIM traffic counters and verify PIM traffic information.

SUMMARY STEPS

1. enable

2. clear ipv6 pim counters

3. show ipv6 pim traffic

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear ipv6 pim counters

Example:

Router# clear ipv6 pim counters

Resets the PIM traffic counters.

Step 3 

show ipv6 pim traffic

Example:

Router# 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.

SUMMARY STEPS

1. enable

2. clear ipv6 pim topology [group-name | group-address]

3. show ipv6 mrib client [filter] [name {client-name | client-name:client-id}]

4. show ipv6 mrib route [link-local | summary | source-address | source-name | *] [group-name | group-address [prefix-length]]

5. show ipv6 pim topology [link-local | route-count | group-name | group-address] [source-address | source-name]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear ipv6 pim topology [group-name | group-address]

Example:

Router# clear ipv6 pim topology FF04::10

Clears the PIM topology table.

Step 3 

show ipv6 mrib client [filter] [name {client-name | client-name:client-id}]

Example:
Router# show ipv6 mrib client

Displays multicast-related information about an interface.

Step 4 

show ipv6 mrib route [link-local | summary | source-address | source-name | *] [group-name | group-address [prefix-length]]

Example:
Router# show ipv6 mrib route

Displays the MRIB route information.

Step 5 

show ipv6 pim topology [link-local | route-count | group-name | group-address] [source-address | source-name]

Example:

Router# show ipv6 pim topology

Displays PIM topology table information for a specific group or all groups.

Configuring a BSR

The following tasks explains how to perform BSR configuration and to verify BSR configuration and information:

Configuring a BSR and Verifying BSR Information

Configuring to send PIM RP Advertisements to the BSR

Configuring SSM Mapping

Configuring a BSR and Verifying BSR Information

This task describes how to configure a BSR on a specified interface and verify BSR configuration information.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 pim bsr candidate bsr ipv6-address [hash-mask-length] [priority priority-value]

4. interface type number

5. ipv6 pim bsr border

6. exit

7. show ipv6 pim bsr {election | rp-cache | candidate-rp}

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 pim bsr candidate bsr ipv6-address [hash-mask-length] [priority priority-value]

Example:

Router(config)# ipv6 pim bsr candidate bsr 2001:0DB8:3000:3000::42 124 priority 10

Configures a router to be a candidate BSR.

Step 4 

interface type number

Example:

Router(config)# interface GigabitEthernet 1/0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 5 

ipv6 pim bsr border

Example:

Router(config-if)# ipv6 pim bsr border

Configures a border for all BSMs of any scope on a specified interface.

Step 6 

exit

Example:

Router(config-if)# exit

Enter this command twice to exit interface configuration mode and enter privileged EXEC mode.

Step 7 

show ipv6 pim bsr {election | rp-cache | candidate-rp}

Example:
Router# show ipv6 pim bsr election

Displays information related to PIM BSR protocol processing.

Configuring to send PIM RP Advertisements to the BSR

This task explains how to configure a router to send PIM RP advertisements to the BSR.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 pim bsr candidate rp ipv6-address [group-list access-list-name] [priority priority-value] [interval seconds] [scope scope-value] [bidir]

4. interface type number

5. ipv6 pim bsr border

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 pim bsr candidate rp ipv6-address [group-list access-list-name] [priority priority-value] [interval seconds] [scope scope-value] [bidir]

Example:
Router(config)# ipv6 pim bsr candidate rp 
2001:0DB8:3000:3000::42 priority 0

Sends PIM RP advertisements to the BSR.

Step 4 

interface type number

Example:

Router(config)# interface GigabitEthernet 1/0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 5 

ipv6 pim bsr border

Example:

Router(config-if)# ipv6 pim bsr border

Configures a border for all BSMs of any scope on a specified interface.

Configuring SSM Mapping

When the SSM mapping feature is enabled, DNS-based SSM mapping is automatically enabled, which means that the router will look up the source of a multicast MLD version 1 report from a DNS server.

You can use either DNS-based or static SSM mapping, depending on your router configuration. If you choose to use static SSM mapping, you can configure multiple static SSM mappings. If multiple static SSM mappings are configured, the source addresses of all matching access lists will be used.

This task explains how to enable SSM mapping, disable DNS-based mapping, and configure static SSM mapping.

Restrictions

To use DNS-based SSM mapping, the router needs to find at least one correctly configured DNS server, to which the router may be directly attached.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 mld [vrf vrf-name] ssm-map enable

4. no ipv6 mld [vrf vrf-name] ssm-map query dns

5. ipv6 mld ssm-map [vrf vrf-name] static access-list source-address

6. exit

7. show ipv6 mld ssm-map [source-address]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 mld [vrf vrf-name] ssm-map enable

Example:

Router(config)# ipv6 mld ssm-map enable

Enables the SSM mapping feature for groups in the configured SSM range.

Step 4 

no ipv6 mld ssm-map query dns

Example:

Router(config)# no ipv6 mld ssm-map query dns

Disables DNS-based SSM mapping.

Step 5 

ipv6 mld ssm-map [vrf vrf-name] static access-list source-address

Example:

Router(config)# ipv6 mld ssm-map static SSM_MAP_ACL_2 2001:0DB8:1::1

Configures static SSM mappings.

Step 6 

exit

Example:

Router(config-if)# exit

Exits global configuration mode, and returns the router to privileged EXEC mode.

Step 7 

show ipv6 mld ssm-map [source-address]

Example:
Router# show ipv6 mld ssm-map 

Displays SSM mapping information.

Configuring Static Mroutes

This task explains how to configure a static multicast route and verify static mroute information. Static multicast routes (mroutes) in IPv6 can be implemented as an extension of IPv6 static routes. You can configure your router to use a static route for unicast routing only, to use a static multicast route for multicast RPF selection only, or to use a static route for both unicast routing and multicast RPF selection.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 route ipv6-prefix/prefix-length {ipv6-address | interface-type interface-number [ipv6-address]} [administrative-distance] [administrative-multicast-distance | unicast | multicast] [tag tag]

4. exit

5. show ipv6 mroute [link-local | [group-name | group-address [source-address | source-name]] [summary] [count]

6. show ipv6 mroute [link-local | group-name | group-address] active [kbps]

7. show ipv6 rpf ipv6-prefix

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 route ipv6-prefix/prefix-length {ipv6-address | interface-type interface-number [ipv6-address]} [administrative-distance] [administrative-multicast-distance | unicast | multicast] [tag tag]

Example:
Router(config)# ipv6 route 2001:0DB8::/64 6::6 
100

Establishes static IPv6 routes. The example shows a static route used for both unicast routing and multicast RPF selection.

Step 4 

exit

Example:

Router(config-if)# exit

Exits global configuration mode, and returns the router to privileged EXEC mode.

Step 5 

show ipv6 mroute [link-local | [group-name | group-address [source-address | source-name]] [summary] [count]

Example:

Router# show ipv6 mroute ff07::1

Displays the contents of the IPv6 multicast routing table.

Step 6 

show ipv6 mroute [link-local | group-name | group-address] active [kbps]

Example:

Router# show ipv6 mroute active

Displays the active multicast streams on the router.

Step 7 

show ipv6 rpf ipv6-prefix

Example:
Router# show ipv6 rpf 2001:0DB8::1:1:2

Checks RPF information for a given unicast host address and prefix.

Configuring IPv6 Multiprotocol BGP

The following tasks explain how to configure IPv6 multiprotocol BGP to perform multicast routing. Note that these multicast BGP tasks related to IPv6 multicast are similar to those multicast BGP tasks for IPv6 unicast.

Configuring an IPv6 Peer Group to Perform Multicast BGP Routing

Advertising Routes into IPv6 Multiprotocol BGP

Redistributing Prefixes into IPv6 Multiprotocol BGP

Assigning a BGP Administrative Distance

Generating Translate Updates for IPv6 Multicast BGP

Resetting BGP Sessions

Clearing External BGP Peers

Clearing IPv6 BGP Route Dampening Information

Clearing IPv6 BGP Flap Statistics

Configuring an IPv6 Peer Group to Perform Multicast BGP Routing

The following tasks explain how to configure an IPv6 peer group to perform multicast BGP routing.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp as-number

4. neighbor peer-group-name peer-group

5. neighbor {ip-address | ipv6-address | peer-group-name} remote-as as-number

6. address-family ipv6 [unicast | multicast]

7. neighbor {ip-address | peer-group-name | ipv6-address} activate

8. neighbor {ip-address | ipv6-address} peer-group peer-group-name

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

router bgp as-number

Example:

Router(config)# router bgp 65000

Enters router configuration mode for the specified BGP routing process.

Step 4 

neighbor peer-group-name peer-group

Example:

Router(config-router)# neighbor group1 peer-group

Creates an multicast BGP peer group.

Step 5 

neighbor {ip-address | ipv6-address | peer-group-name} remote-as as-number

Example:

Router(config-router)# neighbor 2001:0DB8:0:CC00::1 remote-as 64600

Adds the IPv6 address of the neighbor in the specified autonomous system to the IPv6 multicast BGP neighbor table of the local router.

The ipv6-address argument in the neighbor remote-as command must be in the form documented in RFC 2373 where the address is specified in hexadecimal using 16-bit values between colons.

Step 6 

address-family ipv6 [unicast | multicast]

Example:

Router(config-router)# address-family ipv6 multicast

Specifies the IPv6 address family, and enters address family configuration mode.

The unicast keyword specifies the IPv6 unicast address family. By default, the router is placed in configuration mode for the IPv6 unicast address family if the unicast keyword is not specified with the address-family ipv6 command.

The multicast keyword specifies IPv6 multicast address prefixes.

Step 7 

neighbor {ip-address | peer-group-name | ipv6-address} activate

Example:

Router(config-router-af)# neighbor 2001:0DB8:0:CC00::1 activate

Enables the neighbor to exchange prefixes for the specified family type with the neighbor and the local router.

To avoid extra configuration steps for each neighbor, use the neighbor activate command with the peer-group-name argument as an alternative in this step.

Step 8 

neighbor {ip-address | ipv6-address} peer-group peer-group-name

Example:

Router(config-router-af)# neighbor 2001:0DB8:0:CC00::1 peer-group group1

Assigns the IPv6 address of a BGP neighbor to a peer group.


What to Do Next

Refer to the section "Configuring an IPv6 Multiprotocol BGP Peer Group" in the Implementing Multiprotocol BGP for IPv6 module and the "Configure BGP Peer Groups" section of the "Configuring BGP" chapter in the Cisco IOS XE IP Routing Configuration Guide, for more information on assigning options to peer groups and making a BGP or multicast BGP neighbor a member of a peer group.

Advertising Routes into IPv6 Multiprotocol BGP

This task explains how to advertise (inject) a prefix into IPv6 multicast BGP. Note that this task and other multicast BGP tasks related to IPv6 multicast are similar to those multicast BGP tasks for IPv6 unicast.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp as-number

4. address-family ipv6 [unicast | multicast]

5. network ipv6-address/prefix-length

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

router bgp as-number

Example:

Router(config)# router bgp 65000

Enters router configuration mode for the specified BGP routing process.

Step 4 

address-family ipv6 [unicast | multicast]

Example:

Router(config-router)# address-family ipv6 multicast

Specifies the IPv6 address family, and enters address family configuration mode.

The unicast keyword specifies the IPv6 unicast address family. By default, the router is placed in configuration mode for the IPv6 unicast address family if the unicast keyword is not specified with the address-family ipv6 command.

The multicast keyword specifies IPv6 multicast address prefixes.

Step 5 

network ipv6-address/prefix-length

Example:

Router(config-router-af)# network 2001:0DB8::/24

Advertises (injects) the specified prefix into the IPv6 BGP database. (The routes must first be found in the IPv6 unicast routing table.)

Specifically, the prefix is injected into the database for the address family specified in the previous step.

Routes are tagged from the specified prefix as "local origin."

The ipv6-prefix argument in the network command must be in the form documented in RFC 2373 where the address is specified in hexadecimal using 16-bit values between colons.

The prefix-length argument is a decimal value that indicates how many of the high-order contiguous bits of the address comprise the prefix (the network portion of the address). A slash mark must precede the decimal value.

What to Do Next

Refer to the section "Advertising Routes into IPv6 Multiprotocol BGP" in the Implementing Multiprotocol BGP for IPv6 module for more information on assigning options to peer groups and making a BGP or multicast BGP neighbor a member of a peer group.

Redistributing Prefixes into IPv6 Multiprotocol BGP

This task explains how to redistribute (inject) prefixes from another routing protocol into IPv6 multicast BGP. Note that this task and other multicast BGP tasks related to IPv6 multicast are similar to those multicast BGP tasks for IPv6 unicast.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp as-number

4. address-family ipv6 [unicast | multicast]

5. redistribute protocol [process-id] [level-1 | level-1-2 | level-2] [metric metric-value] [metric-type {internal | external}] [route-map map-name]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

router bgp as-number

Example:

Router(config)# router bgp 65000

Enters router configuration mode for the specified BGP routing process.

Step 4 

address-family ipv6 {unicast | multicast}

Example:

Router(config-router)# address-family ipv6 multicast

Specifies the IPv6 address family, and enters address family configuration mode.

The unicast keyword specifies the IPv6 unicast address family. By default, the router is placed in configuration mode for the IPv6 unicast address family if the unicast keyword is not specified with the address-family ipv6 command.

The multicast keyword specifies IPv6 multicast address prefixes.

Step 5 

redistribute protocol [process-id] [level-1 | level-1-2 | level-2] [metric metric-value] [metric-type {internal | external}] [route-map map-name]

Example:

Router(config-router-af)# redistribute rip

Specifies the routing protocol from which prefixes should be redistributed into IPv6 multicast BGP.

The protocol argument can be one of the following keywords: bgp, connected, isis, rip, or static.

Note The connected keyword refers to routes that are established automatically by IPv6 having been enabled on an interface.

What to Do Next

Refer to the section "Redistributing Prefixes into IPv6 Multiprotocol BGP" in the Implementing Multiprotocol BGP for IPv6 module for more information on assigning options to peer groups and making a BGP or multicast BGP neighbor a member of a peer group.

Configuring Aggregate Addresses

To configure aggregate addresses for Multicast BGP, refer to the "Configuring Aggregate Addresses" section of the "Configuring BGP" chapter in the Cisco IOS XE IP Routing Configuration Guide.

Assigning a BGP Administrative Distance

This task explains how to specify an administrative distance for multicast BGP routes to be used in RPF lookups for comparison with unicast routes. Please note that this task and other multicast BGP tasks related to IPv6 multicast are similar to those multicast BGP tasks for IPv6 unicast.


Caution Changing the administrative distance of BGP internal routes is considered dangerous and is not recommended. One problem that can arise is the accumulation of routing table inconsistencies, which can break routing.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp as-number

4. address-family ipv6 [unicast | multicast}

5. distance bgp external-distance internal-distance local-distance

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

router bgp as-number

Example:

Router(config)# router bgp 100

Enters router configuration mode for the specified routing process.

Step 4 

address-family ipv6 [unicast | multicast}

Example:

Router(config-router)# address-family ipv6 multicast

Enters address family configuration mode for configuring routing sessions such as BGP that use standard IPv6 address prefixes.

Step 5 

distance bgp external-distance internal-distance local-distance

Example:

Router(config-router)# distance bgp 20 20 200

Assigns a BGP administrative distance.


Generating Translate Updates for IPv6 Multicast BGP

This task explains how to generate IPv6 multicast BGP updates that correspond to unicast IPv6 updates received from a peer.

The multicast BGP translate-update feature generally is used in an multicast BGP-capable router that peers with a customer site that has only a BGP-capable router; the customer site has not or cannot upgrade its router to an multicast BGP-capable image. Because the customer site cannot originate multicast BGP advertisements, the router with which it peers will translate the BGP prefixes into multicast BGP prefixes, which are used for multicast-source RPF lookup.

SUMMARY STEPS

1. enable

2. configure terminal

3. router bgp as-number

4. address-family ipv6 [unicast | multicast}

5. neighbor ipv6-address translate-update ipv6 multicast [unicast]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

router bgp as-number

Example:

Router(config)# router bgp 100

Enters router configuration mode for the specified routing process.

Step 4 

address-family ipv6 [unicast | multicast}

Example:

Router(config-router)# address-family ipv6 multicast

Enters address family configuration mode for configuring routing sessions such as BGP that use standard IPv6 address prefixes.

Step 5 

neighbor ipv6-address translate-update ipv6 multicast [unicast]

Example:

Router(config-router)# neighbor 2001:0DB8:7000::2 translate-update ipv6 multicast

Generates multiprotocol IPv6 BGP updates that correspond to unicast IPv6 updates received from a peer.


Resetting BGP Sessions

This task explains how to reset IPv6 BGP sessions.

SUMMARY STEPS

1. enable

2. clear bgp ipv6 {unicast | multicast} {* | autonomous-system-number | ip-address | ipv6-address | peer-group-name} [soft] [in | out]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear bgp ipv6 {unicast | multicast} {* | autonomous-system-number | ip-address | ipv6-address | peer-group-name} [soft] [in | out]

Example:

Router# clear bgp ipv6 unicast peer-group marketing soft out

Resets IPv6 BGP sessions.

Clearing External BGP Peers

This task explains how to clear external BGP peers and members of an IPv6 BGP peer group.

SUMMARY STEPS

1. enable

2. clear bgp ipv6 {unicast | multicast} external [soft] [in | out]

3. clear bgp ipv6 {unicast | multicast} peer-group [name]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear bgp ipv6 {unicast | multicast} external [soft] [in | out]

Example:

Router# clear bgp ipv6 unicast external soft in

Clears external IPv6 BGP peers.

Step 3 

clear bgp ipv6 {unicast | multicast} peer-group [name]

Example:

Router# clear bgp ipv6 unicast peer-group

Clears all members of an IPv6 BGP peer group.

Clearing IPv6 BGP Route Dampening Information

This task explains how to clear IPv6 BGP route dampening information and how to unsuppress suppressed routes.

SUMMARY STEPS

1. enable

2. clear bgp ipv6 {unicast | multicast} dampening [ipv6-prefix/prefix-length]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear bgp ipv6 {unicast | multicast} dampening [ipv6-prefix/prefix-length]

Example:
Router# clear bgp ipv6 unicast dampening 
2001:0DB8:7000::/64

Clears IPv6 BGP route dampening information and unsuppress the suppressed routes.

Clearing IPv6 BGP Flap Statistics

This task explains how to clear IPv6 BGP flap statistics.

SUMMARY STEPS

1. enable

2. clear bgp ipv6 {unicast | multicast} flap-statistics [ipv6-prefix/prefix-length | regexp regexp | filter-list list]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear bgp ipv6 {unicast | multicast} flap-statistics [ipv6-prefix/prefix-length | regexp regexp | filter-list list]

Example:

Router# clear bgp ipv6 multicast flap-statistics

Clears IPv6 BGP flap statistics.

Using MFIB in IPv6 Multicast

Multicast forwarding is automatically enabled when IPv6 multicast routing is enabled. The following tasks explain how to display information to verify MFIB configuration and operation and reset MFIB as needed.

Verifying MFIB Operation in IPv6 Multicast

Resetting MFIB Traffic Counters

Verifying MFIB Operation in IPv6 Multicast

This task explains how to display and verify MFIB use in IPv6 multicast.

SUMMARY STEPS

1. enable

2. show ipv6 mfib [link-local | ipv6-prefix/prefix-length | group-name | group-address [source-name | source-address]] [verbose]

3. show ipv6 mfib [link-local | group-name | group-address] active [kbps]

4. show ipv6 mfib [link-local | group-name | group-address [source-name | source-address]] count

5. show ipv6 mfib interface

6. show ipv6 mfib status

7. show ipv6 mfib summary

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

show ipv6 mfib [link-local | ipv6-prefix/prefix-length | group-name | group-address [source-name | source-address]] [verbose]

Example:

Router# show ipv6 mfib

Displays the forwarding entries and interfaces in the IPv6 MFIB.

Step 3 

show ipv6 mfib [link-local | group-name | group-address] active [kbps]

Example:

Router# show ipv6 mfib active

Displays the rate at which active sources are sending to multicast groups.

Step 4 

show ipv6 mfib [link-local | group-name | group-address [source-name | source-address]] count

Example:

Router# show ipv6 mfib count

Displays summary traffic statistics from the MFIB about the group and source.

Step 5 

show ipv6 mfib interface

Example:

Router# show ipv6 mfib interface

Displays information about IPv6 multicast-enabled interfaces and their forwarding status.

Step 6 

show ipv6 mfib status

Example:

Router# show ipv6 mfib status

Displays general MFIB configuration and operational status.

Step 7 

show ipv6 mfib summary

Example:

Router# show ipv6 mfib summary

Displays summary information about the number of IPv6 MFIB entries and interfaces.


Resetting MFIB Traffic Counters

This task explains how to reset all active MFIB traffic counters.

SUMMARY STEPS

1. enable

2. clear ipv6 mfib counters [group-name | group-address [source-address | source-name]]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear ipv6 mfib counters [group-name | group-address [source-address | source-name]]

Example:

Router# clear ipv6 mfib counters FF04::10

Resets all active MFIB traffic counters.

Disabling Default Features in IPv6 Multicast

Several features are automatically enabled when IPv6 multicast is used. However, a user may want to disable certain features in response to certain situations. The following tasks describe these situations and how to disable specific IPv6 multicast features.

Disabling Embedded RP Support in IPv6 PIM

Turning Off IPv6 PIM on a Specified Interface

Disabling MLD Router-Side Processing

Disabling MFIB on the Router

Disabling MFIB Interrupt-Level IPv6 Multicast Forwarding

Disabling Embedded RP Support in IPv6 PIM

A user might want to disable embedded RP support on an interface if all of the routers in the domain do not support embedded RP. This task explains how to disable embedded RP support in IPv6 PIM.


Note This task disables PIM completely, not just embedded RP support in IPv6 PIM.


SUMMARY STEPS

1. enable

2. configure terminal

3. no ipv6 pim rp embedded

4. interface type number

5. no ipv6 pim

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

no ipv6 pim rp embedded

Example:

Router(config)# no ipv6 pim rp embedded

Disables embedded RP support in IPv6 PIM.

Step 4 

interface type number

Example:

Router(config)# interface GigabitEthernet 1/0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 5 

no ipv6 pim

Example:

Router(config-if)# no ipv6 pim

Turns off IPv6 PIM on a specified interface.

Turning Off IPv6 PIM on a Specified Interface

A user might only want specified interfaces to perform IPv6 multicast and will therefore want to turn off PIM on a specified interface. This task explains how to turn off PIM on a specified interface.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. no ipv6 pim

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface GigabitEthernet 1/0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 4 

no ipv6 pim

Example:

Router(config-if)# no ipv6 pim

Turns off IPv6 PIM on a specified interface.

Disabling MLD Router-Side Processing

A user might only want specified interfaces to perform IPv6 multicast and will therefore want to turn off MLD router-side processing on a specified interface. Use the following task to disable MLD router-side processing on a specified interface.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. no ipv6 mld router

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface GigabitEthernet 1/0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 4 

no ipv6 mld router

Example:

Router(config-if)# no ipv6 mld router

Disables MLD router-side processing on a specified interface.

Disabling MFIB on the Router

Multicast forwarding is automatically enabled when IPv6 multicast routing is enabled. However, a user may want to disable multicast forwarding on the router. The following task explains how to disable multicast forwarding on the router:

SUMMARY STEPS

1. enable

2. configure terminal

3. no ipv6 mfib

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

no ipv6 mfib

Example:

Router(config)# no ipv6 mfib

Disables IPv6 multicast forwarding on the router.

Disabling MFIB Interrupt-Level IPv6 Multicast Forwarding

MFIB interrupt-level IPv6 multicast forwarding of outgoing packets on a specific interface is enabled on interfaces that support Cisco Express Forwarding. However, a user may want to disable MFIB interrupt-level forwarding on a specified interface. The following task explains how to disable this feature:

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. no ipv6 mfib cef output

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface GigabitEthernet 1/0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 4 

no ipv6 mfib cef output

Example:

Router(config-if)# no ipv6 mfib cef output

Disables MFIB interrupt-level IPv6 multicast forwarding of outgoing packets on a specific interface.

Troubleshooting IPv6 Multicast

Use debug commands to help you troubleshoot an IPv6 multicast environment. This task describes the commands to display debugging information on IPv6 multicast.

SUMMARY STEPS

1. enable

2. debug ipv6 mfib [group-name | group-address] [adjacency | signal | db | init | mrib | pak | ps]

3. debug ipv6 mld [group-name | group-address | interface-type]

4. debug ipv6 mld explicit [group-name | group-address]

5. debug ipv6 pim [group-name | group-address | interface-type | neighbor | bsr]

6. debug bgp ipv6 {unicast | multicast} dampening [prefix-list prefix-list-name]

7. debug bgp ipv6 {unicast | multicast} updates [ipv6-address] [prefix-list prefix-list-name] [in | out]

8. debug ipv6 mrib client

9. debug ipv6 mrib io

10. debug ipv6 mrib issu

11. debug ipv6 mrib proxy

12. debug ipv6 mrib route [group-name | group-address]

13. debug ipv6 mrib table

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

debug ipv6 mfib [group-name | group-address] [adjacency | signal | db | init | mrib | pak | ps]

Example:

Router# debug ipv6 mfib pak FF04::10

Enables debugging output on the IPv6 MFIB.

Step 3 

debug ipv6 mld [group-name | group-address | interface-type]

Example:
Router# debug ipv6 mld

Enables debugging on MLD protocol activity.

Step 4 

debug ipv6 mld explicit [group-name | group-address]

Example:

Router# debug ipv6 mld explicit

Displays information related to the explicit tracking of hosts.

Step 5 

debug ipv6 pim [group-name | group-address | 
interface-type | neighbor | bsr]
Example:
Router# debug ipv6 pim

Enables debugging on PIM protocol activity.

Step 6 

debug bgp ipv6 {unicast | multicast} dampening [prefix-list prefix-list-name]

Example:
Router# debug bgp ipv6 multicast

Displays debugging messages for IPv6 BGP dampening.

Step 7 

debug bgp ipv6 {unicast | multicast} updates [ipv6-address] [prefix-list prefix-list-name] [in | out]

Example:

Router# debug bgp ipv6 multicast updates

Displays debugging messages for IPv6 BGP update packets.

Step 8 

debug ipv6 mrib client
Example:
Router# debug ipv6 mrib client

Enables debugging on MRIB client management activity.

Step 9 

debug ipv6 mrib io
Example:

Router# debug ipv6 mrib io

Enables debugging on MRIB I/O events.

Step 10 

debug ipv6 mrib issu
Example:

Router# debug ipv6 mrib issu

Enables debugging on MRIB in service software update.

Step 11 

debug ipv6 mrib proxy

Example:
Router# debug ipv6 mrib proxy

Enables debugging on MRIB proxy activity between the route processor and line cards on distributed router platforms.

Step 12 

debug ipv6 mrib route [group-name | group-address]

Example:

Router# debug ipv6 mrib route

Displays information about MRIB routing entry-related activity.

Step 13 

debug ipv6 mrib table

Example:

Router# debug ipv6 mrib table

Enables debugging on MRIB table management activity.


Examples

This section provides the following output examples:

Sample Output from the show ipv6 mfib Command

Sample Output from the show ipv6 mfib active Command

Sample Output from the show ipv6 mfib count Command

Sample Output from the show ipv6 mfib interface Command

Sample Output from the show ipv6 mfib summary Command

Sample Output from the show ipv6 mld groups Command

Sample Output from the show ipv6 mld groups summary Command

Sample Output from the show ipv6 mld interface Command

Sample Output from the show ipv6 mld ssm-map Command

Sample Output from the show ipv6 mld traffic Command

Sample Output from the show ipv6 mrib client Command

Sample Output from the show ipv6 mrib route Command

Sample Output from the show ipv6 mroute Command

Sample Output from the show ipv6 mroute active Command

Sample Output from the show ipv6 pim group-map Command

Sample Output from the show ipv6 pim interface Command

Sample Output from the show ipv6 pim join-prune statistic Command

Sample Output from the show ipv6 pim range-list Command

Sample Output from the show ipv6 pim range-list Command

Sample Output from the show ipv6 pim topology Command

Sample Output from the show ipv6 pim traffic Command

Sample Output from the show ipv6 pim tunnel Command

Sample Output from the show ipv6 rpf Command

Sample Output from the show ipv6 mfib Command

The following example displays the forwarding entries and interfaces in the MFIB. The router is configured for fast switching, and it has a receiver joined to FF05::1 on GigabitEthernet 1/1/0 and a source (2001:0DB8:1:1:20) sending on GigabitEthernet 1/2/0:

Router# show ipv6 mfib 

IP Multicast Forwarding Information Base
Entry Flags: C - Directly Connected, S - Signal, IA - Inherit A flag,
             AR - Activity Required, D - Drop
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kbits per second
Other counts: Total/RPF failed/Other drops
Interface Flags: A - Accept, F - Forward, NS - Negate Signalling 
             IC - Internal Copy, NP - Not platform switched
             SP - Signal Present
Interface Counts: FS Pkt Count/PS Pkt Count
(*,FF00::/8) Flags: C
   Forwarding: 0/0/0/0, Other: 0/0/0
   Tunnel0 Flags: NS
(*,FF00::/15) Flags: D
   Forwarding: 0/0/0/0, Other: 0/0/0
(*,FF05::1) Flags: C
   Forwarding: 2/0/100/0, Other: 0/0/0
   Tunnel0 Flags: A NS
   GigabitEthernet1/1/0 Flags: F NS
     Pkts: 0/2
(2001:0DB8:1:1:200,FF05::1) Flags:
   Forwarding: 5/0/100/0, Other: 0/0/0
   GigabitEthernet1/2/0 Flags: A
   GigabitEthernet1/1/0 Flags: F NS
     Pkts: 3/2
(*,FF10::/15) Flags: D
   Forwarding: 0/0/0/0, Other: 0/0/0

Sample Output from the show ipv6 mfib active Command

The following example displays statistics on the rate at which active IP multicast sources are sending information. The router is switching traffic from 2001:0DB8:1:1:200 to FF05::1:

Router# show ipv6 mfib active

Active IPv6 Multicast Sources - sending >= 4 kbps
Group: FF05::1
  Source: 2001:0DB8:1:1:200
    Rate: 20 pps/16 kbps(1sec), 0 kbps(last 128 sec)

Sample Output from the show ipv6 mfib count Command

The following example displays statistics from the MFIB about the group and source. The router is switching traffic from 2001:0DB8:1:1:200 to FF05::1:

Router# show ipv6 mfib count 

IP Multicast Statistics
54 routes, 7 groups, 0.14 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: FF00::/8
  RP-tree:    Forwarding: 0/0/0/0, Other: 0/0/0
Group: FF00::/15
  RP-tree:    Forwarding: 0/0/0/0, Other: 0/0/0
Group: FF05::1
  RP-tree:    Forwarding: 2/0/100/0, Other: 0/0/0
  Source: 10::1:1:200,   Forwarding: 367/10/100/7, Other: 0/0/0
  Tot. shown: Source count: 1, pkt count: 369
Group: FF10::/15
  RP-tree:    Forwarding: 0/0/0/0, Other: 0/0/0
Group: FF20::/15
  RP-tree:    Forwarding: 0/0/0/0, Other: 0/0/0

Sample Output from the show ipv6 mfib interface Command

The following example displays information about IPv6 multicast-enabled interfaces and their forwarding status. The router is configured for fast switching:

Router# show ipv6 mfib interface

IPv6 Multicast Forwarding (MFIB) status:
    Configuration Status: enabled
    Operational Status: running

MFIB interface       status    CEF-based output   
                            [configured,available]
GigabitEthernet1/1/0 up     [yes       ,yes      ]
GigabitEthernet1/2/0 up     [yes       ,?        ]
Tunnel0              up     [yes       ,?        ]
Tunnel1              up     [yes       ,?        ]

Sample Output from the show ipv6 mfib summary Command

The following example displays summary information about the number of IPv6 MFIB entries and interfaces:

Router# show ipv6 mfib summary 

IPv6 MFIB summary:
  54     total entries [1 (S,G), 7 (*,G), 46 (*,G/m)]
  17     total MFIB interfaces

Sample Output from the show ipv6 mld groups Command

The following is sample output from the show ipv6 mld groups command. It shows all of the groups joined by Gigabit Ethernet interface 2/1/0, including link-local groups used by network protocols.

Router# show ipv6 mld groups GigabitEthernet 2/1/0

MLD Connected Group Membership
Group Address          Interface           Uptime        Expires
FF02::2                GigabitEthernet2/1/0     3d18h         never
FF02::D                GigabitEthernet2/1/0     3d18h         never
FF02::16               GigabitEthernet2/1/0     3d18h         never
FF02::1:FF00:1         GigabitEthernet2/1/0     3d18h         00:00:27
FF02::1:FF00:79        GigabitEthernet2/1/0     3d18h         never
FF02::1:FF23:83C2      GigabitEthernet2/1/0     3d18h         00:00:22
FF02::1:FFAF:2C39      GigabitEthernet2/1/0     3d18h         never
FF06:7777::1           GigabitEthernet2/1/0     3d18h         00:00:26

Sample Output from the show ipv6 mld groups summary Command

The following is sample output from the show ipv6 mld groups summary command:

Router# show ipv6 mld groups summary

MLD Route Summary
  No. of (*,G) routes = 5
  No. of (S,G) routes = 0

Sample Output from the show ipv6 mld interface Command

The following is sample output from the show ipv6 mld interface command for Gigabit Ethernet interface 2/1/0:

Router# show ipv6 mld interface GigabitEthernet 2/1/0

GigabitEthernet2/1/0 is up, line protocol is up
Internet address is FE80::205:5FFF:FEAF:2C39/10
MLD is enabled in interface
Current MLD version is 2
MLD query interval is 125 seconds
MLD querier timeout is 255 seconds
MLD max query response time is 10 seconds 
Last member query response interval is 1 seconds
MLD activity: 25 joins, 17 leaves
MLD querying router is FE80::205:5FFF:FEAF:2C39 (this system)

Sample Output from the show ipv6 mld ssm-map Command

The following examples show SSM mapping for the source address 2001:0DB8::1:

Router# show ipv6 mld ssm-map 2001:0DB8::1

 Group address  : 2001:0DB8::1
 Group mode ssm : TRUE
 Database       : STATIC
 Source list    : 2001:0DB8::2
                  2001:0DB8::3

Router# show ipv6 mld ssm-map 2001:0DB8::2

 Group address  : 2001:0DB8::2
 Group mode ssm : TRUE
 Database       : DNS
 Source list    : 2001:0DB8::3
                  2001:0DB8::1

Sample Output from the show ipv6 mld traffic Command

The following example displays the MLD protocol messages received and sent.

Router# show ipv6 mld traffic 

MLD Traffic Counters
Elapsed time since counters cleared:00:00:21

                              Received     Sent
Valid MLD Packets               3           1 
Queries                         1           0 
Reports                         2           1 
Leaves                          0           0         
Mtrace packets                  0           0         

Errors:
Malformed Packets                           0         
Bad Checksums                               0         
Martian source                              0         
Packets Received on MLD-disabled Interface  0 

Sample Output from the show ipv6 mrib client Command

The following is sample output from the show ipv6 mrib client command:

Router# show ipv6 mrib client

IP MRIB client-connections
igmp:145        (connection id 0)
pim:146 (connection id 1)
mfib ipv6:3     (connection id 2)
slot 3  mfib ipv6 rp agent:16   (connection id 3)
slot 1  mfib ipv6 rp agent:16   (connection id 4)
slot 0  mfib ipv6 rp agent:16   (connection id 5)
slot 4  mfib ipv6 rp agent:16   (connection id 6)
slot 2  mfib ipv6 rp agent:16   (connection id 7)

Sample Output from the show ipv6 mrib route Command

The following is sample output from the show ipv6 mrib route command using the summary keyword:

Router# show ipv6 mrib route summary

MRIB Route-DB Summary 
  No. of (*,G) routes = 52
  No. of (S,G) routes = 0
  No. of Route x Interfaces (RxI) = 10

Sample Output from the show ipv6 mroute Command

Using the show ipv6 mroute command is a good way to dynamically verify that multicast IPv6 data is flowing. The following is sample output from the show ipv6 mroute command:

Router# show ipv6 mroute ff07::1

Multicast Routing Table
Flags:D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, 
       C - Connected, L - Local, I - Received Source Specific Host Report,
       P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set,
       J - Join SPT 
Timers:Uptime/Expires
Interface state:Interface, State

(*, FF07::1), 00:04:45/00:02:47, RP 2001:0DB8:6::6, flags:S
  Incoming interface:Tunnel5
  RPF nbr:6:6:6::6
  Outgoing interface list:
    POS4/0, Forward, 00:04:45/00:02:47

(2001:0DB8:999::99, FF07::1), 00:02:06/00:01:23, flags:SFT
  Incoming interface:POS1/0
  RPF nbr:2001:0DB8:999::99
  Outgoing interface list:
    POS4/0, Forward, 00:02:06/00:03:27

Sample Output from the show ipv6 mroute active Command

The following is sample output from the show ipv6 mroute active command:

Router# show ipv6 mroute active

Active IPv6 Multicast Sources - sending >= 4 kbps
Group:FF05::1
 Source:2001:0DB8:1:1:1
   Rate:11 pps/8 kbps(1sec), 8 kbps(last 8 sec)

Sample Output from the show ipv6 pim group-map Command

The following is sample output from the show ipv6 pim group-map command:

Router# show ipv6 pim group-map

FF33::/32*
      SSM
      Info source:Static
      Uptime:00:08:32, Groups:0
  FF34::/32*
      SSM
      Info source:Static
      Uptime:00:09:42, Groups:0

Sample Output from the show ipv6 pim interface Command

The following is sample output from the show ipv6 pim interface command using the state-on keyword:

Router# show ipv6 pim interface state-on

Interface          PIM  Nbr   Hello  DR
                        Count Intvl  Prior

GigabitEthernet0/0/0 on   0     30     1     
    Address:FE80::208:20FF:FE08:D7FF
    DR     :this system
POS1/0             on   0     30     1     
    Address:FE80::208:20FF:FE08:D554
    DR     :this system
POS4/0             on   1     30   1     
    Address:FE80::208:20FF:FE08:D554
    DR     :FE80::250:E2FF:FE8B:4C80
POS4/1             on   0     30   1     
    Address:FE80::208:20FF:FE08:D554
    DR     :this system
Loopback0          on   0     30     1     
    Address:FE80::208:20FF:FE08:D554
    DR     :this system

Sample Output from the show ipv6 pim join-prune statistic Command

The following example provides the join/prune aggregation on GigabitEthernet interface 0/0/0:

Router# show ipv6 pim join-prune statistic GigabitEthernet0/0/0

PIM Average Join/Prune Aggregation for last (1K/10K/50K) packets
Interface             Transmitted             Received

GigabitEthernet0/0/0      0    / 0    / 0         1    / 0    / 0

Sample Output from the show ipv6 pim range-list Command

The following is sample output from the show ipv6 pim range-list command:

Router# show ipv6 pim range-list

config SSM Exp:never Learnt from :::
 FF33::/32 Up:00:26:33
 FF34::/32 Up:00:26:33
 FF35::/32 Up:00:26:33
 FF36::/32 Up:00:26:33
 FF37::/32 Up:00:26:33
 FF38::/32 Up:00:26:33
 FF39::/32 Up:00:26:33
 FF3A::/32 Up:00:26:33
 FF3B::/32 Up:00:26:33
 FF3C::/32 Up:00:26:33
 FF3D::/32 Up:00:26:33
 FF3E::/32 Up:00:26:33
 FF3F::/32 Up:00:26:33
config SM RP:40::1:1:1 Exp:never Learnt from :::
 FF13::/64 Up:00:03:50
config SM RP:40::1:1:3 Exp:never Learnt from :::
 FF09::/64 Up:00:03:50

Sample Output from the show ipv6 pim topology Command

The following is sample output from the show ipv6 pim topology command:

Router# 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

(*,FF05::1)
SM UP:02:26:56 JP:Join(now) Flags:LH 
RP:2001:0DB8:1:1:2
RPF:GigabitEthernet1/1/0,FE81::1 
  GigabitEthernet0/1/0 02:26:56  fwd LI LH 

(2001:0DB8:1:1:200,FF05::1)
SM UP:00:00:07 JP:Null(never) Flags:
RPF:GigabitEthernet1/1/0,FE80::30:1:4 
  GigabitEthernet1/1/0         00:00:07  off LI 

Sample Output from the show ipv6 pim traffic Command

The following example shows the number of PIM protocol messages received and sent.

Router# show ipv6 pim traffic 

PIM Traffic Counters
Elapsed time since counters cleared:00:05:29

                              Received     Sent
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         

Errors:
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 

Sample Output from the show ipv6 pim tunnel Command

The following is sample output from the show ipv6 pim tunnel command on the RP:

Router# show ipv6 pim tunnel 

Tunnel0*
 Type  :PIM Encap
 RP    :100::1
 Source:100::1
Tunnel0*
 Type  :PIM Decap
 RP    :100::1
 Source: -

The following is sample output from the show ipv6 pim tunnel command on a non-RP:

Router# show ipv6 pim tunnel

Tunnel0*
 Type  :PIM Encap
 RP    :100::1
 Source:2001::1:1:1

Sample Output from the show ipv6 rpf Command

The following example displays RPF information for the unicast host with the IPv6 address of 2001:0DB8:1:1:2:

Router# show ipv6 rpf 2001:0DB8:1:1:2

RPF information for 2001:0DB8:1:1:2
  RPF interface:GigabitEthernet3/2/0
  RPF neighbor:FE80::40:1:3
  RPF route/mask:20::/64
  RPF type:Unicast
  RPF recursion count:0
  Metric preference:110
  Metric:30

Configuration Examples for IPv6 Multicast

This section provides the following configuration examples:

Enabling IPv6 Multicast Routing: Example

Configuring PIM: Examples

Configuring PIM Options: Example

Configuring the MLD Protocol: Examples

Configuring Explicit Tracking of Receivers: Example

Configuring Mroutes: Example

Configuring an IPv6 Multiprotocol BGP Peer Group: Example

Advertising Routes into IPv6 Multiprotocol BGP: Example

Redistributing Prefixes into IPv6 Multiprotocol BGP: Example

Generating Translate Updates for IPv6 Multicast BGP: Example

Turning Off IPv6 PIM on a Specified Interface: Example

Disabling MLD Router-Side Processing: Example

Enabling IPv6 Multicast Routing: Example

The following example enables multicast routing on all interfaces. Entering this command also enables multicast forwarding for PIM and MLD on all enabled interfaces of the router.

Router> enable
Router# configure terminal

Router(config)# ipv6 multicast-routing

Configuring PIM: Examples

The following example shows how to configure a router to use PIM-SM using 20010DB8::1 as the RP. The following example sets the SPT threshold to infinity to prevent switchover to the source tree when a source starts sending traffic and sets a filter on all sources that do not have a local multicast BGP prefix.

Router(config)# ipv6 multicast-routing
Router(config)# ipv6 pim rp-address 2001:0DB8::1
Router(config)# ipv6 pim spt-threshold infinity

Configuring PIM Options: Example

The following example sets the DR priority, sets the PIM hello interval, and sets the periodic join and prune announcement interval on GigabitEthernet interface 0/0/0.

Router(config)# interface GigabitEthernet0/0/0
Router(config)# ipv6 pim hello-interval 60
Router(config)# ipv6 pim dr-priority 3
Router(config)# ipv6 pim join-prune-interval 75

Configuring the MLD Protocol: Examples

The following example shows how to configure the query maximum response time, the query timeout, and the query interval on GigabitEthernet interface 1/0/0:

Router> enable
Router# configure terminal
Router(config)# interface GigabitEthernet 1/0/0

Router(config-if)# ipv6 mld query-max-response-time 20

Router(config-if)# ipv6 mld query-timeout 130

Router(config-if)# ipv6 mld query-interval 60


The following example configures MLD reporting for a specified group and source, allows the user to perform IPv6 multicast receiver access control, and statically forwards traffic for the multicast group onto GigabitEthernet interface 1/0/0:

Router> enable
Router# configure terminal
Router(config)# interface GigabitEthernet 1/0/0
Router(config)# ipv6 mld join-group FF04::10
Router(config)# ipv6 mld static-group FF04::10 100::1
Router(config)# ipv6 mld access-group acc-grp-1

Configuring Explicit Tracking of Receivers: Example

The following example shows how to configure the explicit tracking of receivers:

Router> enable
Router# configure terminal
Router(config)# interface GigabitEthernet 1/0/0
Router(config-if)# ipv6 mld explicit-tracking list1

Configuring Mroutes: Example

The following example shows how to configure a static multicast route to be used for multicast RPF selection only.

Router> enable
Router# configure terminal
Router(config)# ipv6 route 2001:0DB8::/64 7::7 100 multicast

Configuring an IPv6 Multiprotocol BGP Peer Group: Example

The following example configures the IPv6 multiprotocol BGP peer group named group1:

router bgp 65000
no bgp default ipv4-unicast
neighbor group1 peer-group
neighbor 2001:0DB8:0:CC00::1 remote-as 64600

address-family ipv6 multicast
 neighbor 3FFE:C00:0:1:A8BB:CCFF:FE00:8200 activate
 no auto-summary
 no synchronization
 exit-address-family

Advertising Routes into IPv6 Multiprotocol BGP: Example

The following example injects the IPv6 network 2001:0DB8::/24 into the IPv6 multicast database of the local router. (BGP checks that a route for the network exists in the IPv6 multicast database of the local router before advertising the network.)

router bgp 65000
 no bgp default ipv4-unicast

address-family ipv6 multicast
  network 2001:0DB8::/24

Redistributing Prefixes into IPv6 Multiprotocol BGP: Example

The following example redistributes BGP routes into the IPv6 multicast database of the local router:

router bgp 64900
 no bgp default ipv4-unicast
address-family ipv6 multicast
 redistribute BGP

Generating Translate Updates for IPv6 Multicast BGP: Example

The following example shows how to generate IPv6 multicast BGP updates that correspond to unicast IPv6 updates:

router bgp 64900
 no bgp default ipv4-unicast
address-family ipv6 multicast
 neighbor 2001:0DB8:7000::2 translate-update ipv6 multicast 

Turning Off IPv6 PIM on a Specified Interface: Example

The following example turns off IPv6 PIM on GigabitEthernet interface 1/0/0:

Router(config)# ipv6 multicast-routing
Router(config)# interface GigabitEthernet 1/0/0
Router(config)# no ipv6 pim

Disabling MLD Router-Side Processing: Example

The following example turns off MLD router-side processing on GigabitEthernet interface 1/0/0:

Router> enable
Router# configure terminal
Router(config)# interface GigabitEthernet 1/0/0

Router(config-if)# no ipv6 mld router

Additional References

The following sections provide references related to the Implementing IPv6 Multicast feature.

Related Documents

Related Topic
Document Title

IPv6 multicast addresses

Implementing IPv6 Addressing and Basic Connectivity, Cisco IOS XE IPv6 Configuration Guide

IPv6 supported feature list

Start Here: Cisco IOS Software Release Specifics for IPv6 Features, Cisco IOS XE IPv6 Configuration Guide

Multicast BGP for IPv6

Implementing Multiprotocol BGP for IPv6, Cisco IOS XE IPv6 Configuration Guide

IPv6 static routes

Implementing Static Routes for IPv6, Cisco IOS XE IPv6 Configuration Guide

IPv6 tunnels

Implementing Tunneling for IPv6, Cisco IOS XE IPv6 Configuration Guide

IPv6 commands: complete command syntax, command mode, defaults, usage guidelines, and examples

Cisco IOS IPv6 Command Reference

IPv4 command reference

Cisco IOS IP Multicast Command Reference

Cisco IOS master command list, all  releases

Cisco IOS Master Command List, All Releases


Standards and Drafts

Standards
Title

draft-ietf-pim-sm-v2-new

Protocol Independent Multicast - Sparse Mode PIM-SM): Protocol Specification (Revised), March 6, 2003

draft-savola-mboned-mcast-rpaddr

Embedding the Address of RP in IPv6 Multicast Address, May 23, 2003

draft-suz-pim-upstream-detection

PIM Upstream Detection Among Multiple Addresses, February 2003

draft-ietf-pim-bidir-05

Bi-directional Protocol Independent Multicast (BIDIR-PIM), June 20, 2003


MIBs

MIBs
MIBs Link

No new or modified MIBs are supported, and support for existing MIBs has not been modified.

To locate and download MIBs for selected platforms, Cisco IOS XE software releases , and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs


RFCs

RFCs
Title

RFC 2373

IP Version 6 Addressing Architecture

RFC 2460

Internet Protocol, Version 6 (IPv6) Specification

RFC 2461

Neighbor Discovery for IP version 6 (IPv6)

RFC 2462

IPv6 Stateless Address Autoconfiguration

RFC 3576

Change of Authorization

RFC 3590

Source Address Selection for the Multicast Listener Discovery (MLD) Protocol

RFC 3810

Multicast Listener Discovery Version 2 (MLDv2) for IPv6

RFC 4007

IPv6 Scoped Address Architecture


Technical Assistance

Description
Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/techsupport


Feature Information for Implementing IPv6 Multicast

Table 1 lists the features in this module and provides links to specific configuration information.

For information on a feature in this technology that is not documented here, see Start Here: Cisco IOS XE Software Release Specifics for IPv6 Features.

Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which Cisco IOS XE software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.


Note Table 1 lists only the Cisco IOS XE software release that introduced support for a given feature in a given Cisco IOS XE software release train. Unless noted otherwise, subsequent releases of that Cisco IOS XE software release train also support that feature.

Table 1 Feature Information for Implementing IPv6 Multicast 

Feature Name
Releases
Feature Information

IPv6 Multicast

Cisco IOS XE Release 2.1

IPv6 multicast allows a host to send a single data stream to a subset of all hosts simultaneously.

This entire document provides information about this feature.

IPv6 multicast: Multicast Listener Discovery (MLD) protocol, versions 1 and 2

Cisco IOS XE Release 2.1

MLD is used by IPv6 routers 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 IGMP for IPv4, and MLD version 2 is based on version 3 of the IGMP for IPv4. IPv6 multicast for Cisco IOS XE software uses both MLD version 2 and MLD version 1.

The following sections provide information about this feature:

Restrictions for IPv6 Multicast

IPv6 Multicast Overview

IPv6 Multicast Routing Implementation

Multicast Listener Discovery Protocol for IPv6

Protocol Independent Multicast

MRIB

Enabling IPv6 Multicast Routing

Configuring the MLD Protocol

Configuring SSM Mapping

Disabling MLD Router-Side Processing

Troubleshooting IPv6 Multicast

The following commands were modified by this feature: clear ipv6 mld counters, clear ipv6 mld traffic, debug ipv6 mld, debug ipv6 mld explicit, debug ipv6 mld ssm-map, ipv6 mld join-group, ipv6 mld query-interval, ipv6 mld query-max-response-time, ipv6 mld query-timeout, ipv6 mld router, ipv6 mld static-group, ipv6 multicast-routing, show ipv6 mld interface, show ipv6 mld groups, show ipv6 mld groups summary, show ipv6 mld traffic

IPv6 multicast: PIM sparse mode (PIM-SM)

Cisco IOS XE Release 2.1
Cisco IOS XE Release 2.4

PIM-SM uses unicast routing to provide reverse-path information for multicast tree building. PIM-SM 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.

The following sections provide information about this feature:

Restrictions for IPv6 Multicast

IPv6 Multicast Routing Implementation

Protocol Independent Multicast

IPv6 Multicast Process Switching and Fast Switching

Multiprotocol BGP for the IPv6 Multicast Address Family

Enabling IPv6 Multicast Routing

Configuring PIM

Configuring a BSR and Verifying BSR Information

Disabling Embedded RP Support in IPv6 PIM

Turning Off IPv6 PIM on a Specified Interface

IPv6 multicast: PIM Source Specific Multicast (PIM-SSM)

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 sections provide information about this feature:

IPv6 Multicast Routing Implementation

Protocol Independent Multicast

PIM-Source Specific Multicast

Multiprotocol BGP for the IPv6 Multicast Address Family

Configuring PIM

The following commands were modified by this feature: clear ipv6 pim counters, clear ipv6 pim topology, debug ipv6 pim, debug ipv6 pim df-election, ipv6 pim, ipv6 pim dr-priority, ipv6 pim hello-interval, ipv6 pim join-prune-interval, ipv6 pim spt-threshold infinity, show ipv6 mrib client, show ipv6 mrib route, show ipv6 pim group-map, show ipv6 pim interface, show ipv6 pim join-prune statistic, show ipv6 pim range-list, show ipv6 pim traffic, show ipv6 pim topology

IPv6 multicast: MLD access group

Cisco IOS XE Release 2.1

The MLD access group provides receiver access control in Cisco IOS XE IPv6 multicast routers.

The following sections provide information about this feature:

MLD Access Group

Customizing and Verifying MLD on an Interface

The following command was modified by this feature: ipv6 mld access-group

IPv6 multicast: routable address hello option

Cisco IOS XE Release 2.1
Cisco IOS XE Release 2.4

The routable address hello option adds a PIM hello message option that includes all the addresses on the interface on which the PIM hello message is advertised.

The following sections provide information about this feature:

Routable Address Hello Option

Configuring PIM Options

IPv6 multicast: static multicast routing (mroute)

Cisco IOS XE Release 2.1

IPv6 static mroutes share the same database as IPv6 static routes and are implemented by extending static route support.

The following sections provide information about this feature:

Restrictions for IPv6 Multicast

Static Mroutes

Configuring Static Mroutes

The following commands were modified by this feature: ipv6 route, show ipv6 mroute, show ipv6 mroute active, show ipv6 rpf

IPv6 multicast: address family support for multiprotocol BGP

Cisco IOS XE Release 2.1

This feature provides multicast BGP extensions for IPv6 and supports the same features and functionality as IPv4 BGP.

The following sections provide information about this feature:

Multiprotocol BGP for the IPv6 Multicast Address Family

Configuring IPv6 Multiprotocol BGP

Troubleshooting IPv6 Multicast

IPv6 multicast: explicit tracking of receivers

Cisco IOS XE Release 2.1

This feature allows a router to track the behavior of the hosts within its IPv6 network.

The following sections provide information about this feature:

Explicit Tracking of Receivers

Configuring Explicit Tracking of Receivers to Track Host Behavior

The following command was modified by this feature: ipv6 mld explicit-tracking

IPv6 multicast: IPv6 bidirectional PIM

Cisco IOS XE Release 2.3

Bidirectional PIM allows multicast routers to keep reduced state information. Bidirectional shared trees convey data from sources to the RP and distribute them from the RP to the receivers.

The following sections provide information about this feature:

Restrictions for IPv6 Multicast

Bidirectional PIM

Configuring Bidirectional PIM and Displaying Bidirectional PIM Information

The following commands were modified by this feature: ipv6 pim rp-address, show ipv6 pim df, show ipv6 pim df winner

IPv6 Multicast: Bootstrap Router (BSR)

Cisco IOS XE Release 2.1
Cisco IOS XE Release 2.4

If an RP becomes unreachable, this feature allows the RP to be detected and the mapping tables modified so that the unreachable RP is no longer used, and the new tables will be rapidly distributed throughout the domain.

The following sections provide information about this feature:

IPv6 BSR

Configuring a BSR

IPv6 multicast: IPv6 BSR bidirectional support

Cisco IOS XE Release 2.4

Bidirectional BSR support allows bidirectional RPs to be advertised in C-RP messages and bidirectional ranges in the BSM.

The following section provides information about this feature:

IPv6 BSR

IPv6 multicast: MRIB

Cisco IOS XE Release 2.1

The MRIB is a protocol-independent repository of multicast routing entries instantiated by multicast routing protocols (routing clients).

The following sections provide information about this feature:

MRIB

Distributed MFIB

Clearing the PIM Topology Table to Reset the MRIB Connection

Troubleshooting IPv6 Multicast

The following commands were modified by this feature: clear ipv6 pim topology, debug ipv6 mrib client, debug ipv6 mrib io, debug ipv6 mrib proxy, debug ipv6 mrib route, debug ipv6 mrib table, show ipv6 mrib client, show ipv6 mrib route, show ipv6 pim topology

IPv6 multicast: SSM mapping for MLDv1 SSM

Cisco IOS XE Release 2.1
Cisco IOS XE Release 2.4

This feature allows deployment of IPv6 SSM with hosts that are incapable of providing MLD version 2 support in their TCP/IP host stack and their IP multicast receiving application.

The following sections provide information about this feature:

SSM Mapping for IPv6

Configuring SSM Mapping

The following commands were modified by this feature: ipv6 mld ssm-map enable, ipv6 mld ssm-map query dns, ipv6 mld ssm-map static, show ipv6 mld ssm-map

IPv6 multicast: IPv6 BSR—ability to configure RP mapping

Cisco IOS XE Release 2.4

This feature allows IPv6 multicast routers to be statically configured to announce scope-to-RP mappings directly from the BSR instead of learning them from candidate-RP messages.

The following sections provide information about this feature:

IPv6 BSR

IPv6 multicast: MLD group limits

Cisco IOS XE Release 2.1

The MLD group limits feature provides protection against denial of service (DoS) attacks caused by MLD packets.

The following sections provide information about this feature:

Multicast Listener Discovery Protocol for IPv6

Implementing MLD Group Limits

The following commands were modified by this feature: ipv6 mld limit, ipv6 mld state-limit,

Distributed MFIB (dMFIB)

Cisco IOS XE Release 2.1

Distributed MFIB is used to switch multicast IPv6 packets on distributed platforms.

The following sections provide information about this feature:

Distributed MFIB