Example: Configuring Bidirectional PIM
Understanding Bidirectional PIM
Bidirectional PIM (PIM-Bidir) is specified by the IETF in RFC 5015, Bidirectional Protocol Independent Multicast (BIDIR-PIM). It provides an alternative to other PIM modes, such as PIM sparse mode (PIM-SM), PIM dense mode (PIM-DM), and PIM source-specific multicast (SSM). In bidirectional PIM, multicast groups are carried across the network over bidirectional shared trees. This type of tree minimizes the amount of PIM routing state information that must be maintained, which is especially important in networks with numerous and dispersed senders and receivers. For example, one important application for bidirectional PIM is distributed inventory polling. In many-to-many applications, a multicast query from one station generates multicast responses from many stations. For each multicast group, such an application generates a large number of (S,G) routes for each station in PIM-SM, PIM-DM, or SSM. The problem is even worse in applications that use bursty sources, resulting in frequently changing multicast tables and, therefore, performance problems in routers.
Figure 1 shows the traffic flows generated to deliver traffic for one group to and from three stations in a PIM-SM network.
Bidirectional PIM solves this problem by building only group-specific (*,G) state. Thus, only a single (*,G) route is needed for each group to deliver traffic to and from all the sources.
Figure 2 shows the traffic flows generated to deliver traffic for one group to and from three stations in a bidirectional PIM network.
Bidirectional PIM builds bidirectional shared trees that are rooted at a rendezvous point (RP) address. Bidirectional traffic does not switch to shortest path trees (SPTs) as in PIM-SM and is therefore optimized for routing state size instead of path length. Bidirectional PIM routes are always wildcard-source (*,G) routes. The protocol eliminates the need for (S,G) routes and data-triggered events. The bidirectional (*,G) group trees carry traffic both upstream from senders toward the RP, and downstream from the RP to receivers. As a consequence, the strict reverse path forwarding (RPF)-based rules found in other PIM modes do not apply to bidirectional PIM. Instead, bidirectional PIM routes forward traffic from all sources and the RP. Thus, bidirectional PIM routers must have the ability to accept traffic on many potential incoming interfaces.
- Designated Forwarder Election
- Bidirectional PIM Modes
- Bidirectional Rendezvous Points
- PIM Bootstrap and Auto-RP Support
- IGMP and MLD Support
- Bidirectional PIM and Graceful Restart
- Junos OS Enhancements to Bidirectional PIM
- Limitations of Bidirectional PIM
Designated Forwarder Election
To prevent forwarding loops, only one router on each link or subnet (including point-to-point links) is a designated forwarder (DF). The responsibilities of the DF are to forward downstream traffic onto the link toward the receivers and to forward upstream traffic from the link toward the RP address. Bidirectional PIM relies on a process called DF election to choose the DF router for each interface and for each RP address. Each bidirectional PIM router in a subnet advertises its interior gateway protocol (IGP) unicast route to the RP address. The router with the best IGP unicast route to the RP address wins the DF election. Each router advertises its IGP route metrics in DF Offer, Winner, Backoff, and Pass messages.
Junos OS implements the DF election procedures as stated in RFC 5015, except that Junos OS checks RP unicast reachability before accepting incoming DF messages. DF messages for unreachable rendezvous points are ignored.
Bidirectional PIM Modes
In the Junos OS implementation, there are two modes for bidirectional PIM: bidirectional-sparse and bidirectional-sparse-dense. The differences between bidirectional-sparse and bidirectional-sparse-dense modes are the same as the differences between sparse mode and sparse-dense mode. Sparse-dense mode allows the interface to operate on a per-group basis in either sparse or dense mode. A group specified as “dense” is not mapped to an RP. Use bidirectional-sparse-dense mode when you have a mix of bidirectional groups, sparse groups, and dense groups in your network. One typical scenario for this is the use of auto-RP, which uses dense-mode flooding to bootstrap itself for sparse mode or bidirectional mode. In general, the dense groups could be for any flows that the network design requires to be flooded.
Each group-to-RP mapping is controlled by the RP group-ranges
statement and the ssm-groups
statement.
The choice of PIM mode is closely tied to controlling how groups are mapped to PIM modes, as follows:
bidirectional-sparse
—Use if all multicast groups are operating in bidirectional, sparse, or SSM mode.bidirectional-sparse-dense
—Use if multicast groups, except those that are specified in thedense-groups
statement, are operating in bidirectional, sparse, or SSM mode.
Bidirectional Rendezvous Points
You can configure group-range-to-RP mappings network-wide statically, or only on routers connected to the RP addresses and advertise them dynamically. Unlike rendezvous points for PIM-SM, which must de-encapsulate PIM Register messages and perform other specific protocol actions, bidirectional PIM rendezvous points implement no specific functionality. RP addresses are simply locations in the network to rendezvous toward. In fact, RP addresses need not be loopback interface addresses or even be addresses configured on any router, as long as they are covered by a subnet that is connected to a bidirectional PIM-capable router and advertised to the network.
Thus, for bidirectional PIM, there is no meaningful distinction
between static and local RP addresses. Therefore, bidirectional PIM
rendezvous points are configured at the [edit protocols pim rp
bidirectional]
hierarchy level, not under static
or local
.
The settings at the [edit protocol pim rp bidirectional]
hierarchy level function like the settings at the [edit protocols
pim rp local]
hierarchy level, except that they create bidirectional
PIM RP state instead of PIM-SM RP state.
Where only a single local RP can be configured, multiple bidirectional rendezvous points can be configured having group ranges that are the same, different, or overlapping. It is also permissible for a group range or RP address to be configured as bidirectional and either static or local for sparse-mode.
If a bidirectional PIM RP is configured without a group range, the default group range is 224/4 for IPv4. For IPv6, the default is ff00::/8. You can configure a bidirectional PIM RP group range to cover an SSM group range, but in that case the SSM or DM group range takes precedence over the bidirectional PIM RP configuration for those groups. In other words, because SSM always takes precedence, it is not permitted to have a bidirectional group range equal to or more specific than an SSM or DM group range.
PIM Bootstrap and Auto-RP Support
Group ranges for the specified RP address are flagged by PIM
as bidirectional PIM group-to-RP mappings and, if configured, are
advertised using PIM bootstrap or auto-RP. Dynamic advertisement of
bidirectional PIM-flagged group-to-RP mappings using PIM bootstrap,
and auto-RP is controlled as normal using the bootstrap
and auto-rp
statements.
Bidirectional PIM RP addresses configured at the [edit
protocols pim rp bidirectional address]
hierarchy level are
advertised by auto-RP or PIM bootstrap if the following prerequisites
are met:
The routing instance must be configured to advertise candidate rendezvous points by way of auto-RP or PIM bootstrap, and an auto-RP mapping agent or bootstrap router, respectively, must be elected.
The RP address must either be configured locally on an interface in the routing instance, or the RP address must belong to a subnet connected to an interface in the routing instance.
IGMP and MLD Support
Internet Group Management Protocol (IGMP) version 1, version 2, and version 3 are supported with bidirectional PIM. Multicast Listener Discovery (MLD) version 1 and version 2 are supported with bidirectional PIM. However, in all cases, only anysource multicast (ASM) state is supported for bidirectional PIM membership.
The following rules apply to bidirectional PIM:
IGMP and MLD (*,G) membership reports trigger the PIM DF to originate bidirectional PIM (*,G) join messages.
IGMP and MLD (S,G) membership reports do not trigger the PIM DF to originate bidirectional PIM (*,G) join messages.
Bidirectional PIM and Graceful Restart
Bidirectional PIM accepts packets for a bidirectional route on multiple interfaces. This means that some topologies might develop multicast routing loops if all PIM neighbors are not synchronized with regard to the identity of the designated forwarder (DF) on each link. If one router is forwarding without actively participating in DF elections, particularly after unicast routing changes, multicast routing loops might occur.
If graceful restart for PIM is enabled and bidirectional PIM is enabled, the default graceful restart behavior is to continue forwarding packets on bidirectional routes. If the gracefully restarting router was serving as a DF for some interfaces to rendezvous points, the restarting router sends a DF Winner message with a metric of 0 on each of these RP interfaces. This ensures that a neighbor router does not become the DF due to unicast topology changes that might occur during the graceful restart period. Sending a DF Winner message with a metric of 0 prevents another PIM neighbor from assuming the DF role until after graceful restart completes. When graceful restart completes, the gracefully restarted router sends another DF Winner message with the actual converged unicast metric.
The no-bidirectional-mode
statement at the [edit
protocols pim graceful-restart]
hierarchy level overrides the
default behavior and disables forwarding for bidirectional PIM routes
during graceful restart recovery, both in cases of simple routing
protocol process (rpd) restart and graceful Routing
Engine switchover. This configuration
statement provides a very conservative alternative
to the default graceful restart behavior for bidirectional PIM routes.
The reason to discontinue forwarding of packets on bidirectional routes
is that the continuation of forwarding might lead to short-duration
multicast loops in rare double-failure circumstances.
Junos OS Enhancements to Bidirectional PIM
In addition to the functionality specified in RFC 5015, the following functions are included in the Junos OS implementation of bidirectional PIM:
Source-only branches without PIM join state
Support for both IPv4 and IPv6 domain and multicast addresses
Nonstop routing (NSR) for bidirectional PIM routes
Support for bidirectional PIM in logical systems
Support for non-forwarding and virtual router instances
The following caveats are applicable for the bidirectional PIM configuration on the PTX5000:
PTX5000 routers can be configured both as a bidirectional PIM rendezvous point and the source node.
For PTX5000 routers, you can configure the
auto-rp
statement at the[edit protocols pim rp]
or the[edit routing-instances routing-instance-name protocols pim rp]
hierarchy level with themapping
option, but not theannounce
option.
Limitations of Bidirectional PIM
The Junos OS implementation of bidirectional PIM does not support the following functionality:
Starting with Release 12.2, Junos OS extends the nonstop active routing PIM support to draft-rosen MVPNs.
PTX5000 routers do not support nonstop active routing or in-service software upgrade (ISSU) in Junos OS Release 13.3.
Nonstop active routing PIM support for draft-rosen MVPNs enables nonstop active routing-enabled devices to preserve draft-rosen MPVN-related information—such as default and data MDT states—across switchovers.
SNMP for bidirectional PIM.
Graceful Routing Engine switchover is configurable with bidirectional PIM enabled, but bidirectional routes do not forward packets during the switchover.
Multicast VPNs (Draft Rosen and NextGen).
The bidirectional PIM protocol does not support the following functionality:
Embedded RP
Anycast RP
See Also
Example: Configuring Bidirectional PIM
This example shows how to configure bidirectional PIM, as specified in RFC 5015, Bidirectional Protocol Independent Multicast (BIDIR-PIM).
Requirements
This example uses the following hardware and software components:
Eight Juniper Networks routers that can be M120, M320, MX Series, or T Series platforms. To support bidirectional PIM, M Series platforms must have I-chip FPCs. M7i, M10i, M40e, and other older M Series routers do not support bidirectional PIM.
Junos OS Release 12.1 or later running on all eight routers.
Overview
Compared to PIM sparse mode, bidirectional PIM requires less PIM router state information. Because less state information is required, bidirectional PIM scales well and is useful in deployments with many dispersed sources and receivers.
In this example, two rendezvous points are configured statically. One RP is configured as a phantom RP. A phantom RP is an RP address that is a valid address on a subnet, but is not assigned to a PIM router interface. The subnet must be reachable by the bidirectional PIM routers in the network. For the other (non-phantom) RP in this example, the RP address is assigned to a PIM router interface. It can be assigned to either the loopback interface or any physical interface on the router. In this example, it is assigned to a physical interface.
OSPF is used as the interior gateway protocol (IGP) in this example. The OSPF metric determines the designated forwarder (DF) election process. In bidirectional PIM, the DF establishes a loop-free shortest-path tree that is rooted at the RP. On every network segment and point-to-point link, all PIM routers participate in DF election. The procedure selects one router as the DF for every RP of bidirectional groups. This router forwards multicast packets received on that network upstream to the RP. The DF election uses the same tie-break rules used by PIM assert processes.
This example uses the default DF election parameters. Optionally, at the [edit protocols pim interface (interface-name | all) bidirectional] hierarchy level, you can configure the following parameters related to the DF election:
The robustness-count is the minimum number of DF election messages that must be lost for election to fail.
The offer period is the interval to wait between repeated DF Offer and Winner messages.
The backoff period is the period that the acting DF waits between receiving a better DF Offer and sending the Pass message to transfer DF responsibility.
This example uses bidirectional-sparse-dense mode on the interfaces. The choice of PIM mode is closely tied to controlling how groups are mapped to PIM modes, as follows:
bidirectional-sparse—Use if all multicast groups are operating in bidirectional, sparse, or SSM mode.
bidirectional-sparse-dense—Use if multicast groups, except those that are specified in the dense-groups statement, are operating in bidirectional, sparse, or SSM mode.
Topology Diagram
Figure 3 shows the topology used in this example.
Configuration
CLI Quick Configuration
To quickly configure this example, copy the
following commands, paste them into a text file, remove any line breaks,
change any details necessary to match your network configuration,
copy and paste the commands into the CLI at the [edit]
hierarchy
level, and then enter commit
from configuration mode.
Router R1
set interfaces ge-0/0/1 unit 0 family inet address 10.10.1.1/24 set interfaces xe-2/1/0 unit 0 family inet address 10.10.2.1/24 set interfaces lo0 unit 0 family inet address 10.255.11.11/32 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface xe-2/1/0.0 set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols pim traceoptions file df set protocols pim traceoptions flag bidirectional-df-election detail set protocols pim rp bidirectional address 10.10.1.3 group-ranges 224.1.3.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 225.1.3.0/24 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 224.1.1.0/24 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 225.1.1.0/24 set protocols pim interface ge-0/0/1.0 mode bidirectional-sparse-dense set protocols pim interface xe-2/1/0.0 mode bidirectional-sparse-dense
Router R2
set interfaces ge-2/0/0 unit 0 family inet address 10.10.4.1/24 set interfaces ge-2/2/2 unit 0 family inet address 10.10.1.2/24 set interfaces lo0 unit 0 family inet address 10.255.22.22/32 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ospf area 0.0.0.0 interface ge-2/2/2.0 set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-2/0/0.0 set protocols pim traceoptions file df set protocols pim traceoptions flag bidirectional-df-election detail set protocols pim rp bidirectional address 10.10.13.2 group-ranges 224.1.1.0/24 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 225.1.1.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 225.1.3.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 224.1.3.0/24 set protocols pim interface fxp0.0 disable set protocols pim interface ge-2/0/0.0 mode bidirectional-sparse-dense set protocols pim interface ge-2/2/2.0 mode bidirectional-sparse-dense
Router R3
set interfaces xe-1/0/0 unit 0 family inet address 10.10.9.1/24 set interfaces xe-1/0/1 unit 0 family inet address 10.10.2.2/24 set interfaces lo0 unit 0 family inet address 10.255.33.33/32 set protocols ospf area 0.0.0.0 interface xe-1/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ospf area 0.0.0.0 interface xe-1/0/0.0 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 224.1.3.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 225.1.3.0/24 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 224.1.1.0/24 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 225.1.1.0/24 set protocols pim interface xe-1/0/1.0 mode bidirectional-sparse-dense set protocols pim interface xe-1/0/0.0 mode bidirectional-sparse-dense
Router R4
set interfaces ge-1/2/7 unit 0 family inet address 10.10.4.2/24 set interfaces ge-1/2/8 unit 0 family inet address 10.10.5.2/24 set interfaces xe-2/0/0 unit 0 family inet address 10.10.10.2/24 set interfaces lo0 unit 0 family inet address 10.255.44.44/32 set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-1/2/7.0 set protocols ospf area 0.0.0.0 interface ge-1/2/8.0 set protocols ospf area 0.0.0.0 interface xe-2/0/0.0 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols pim traceoptions file df set protocols pim traceoptions flag bidirectional-df-election detail set protocols pim rp bidirectional address 10.10.13.2 group-ranges 224.1.1.0/24 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 225.1.1.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 224.1.3.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 225.1.3.0/24 set protocols pim interface xe-2/0/0.0 mode bidirectional-sparse-dense set protocols pim interface ge-1/2/7.0 mode bidirectional-sparse-dense set protocols pim interface ge-1/2/8.0 mode bidirectional-sparse-dense
Router R5
set interfaces ge-0/0/3 unit 0 family inet address 10.10.12.3/24 set interfaces ge-0/0/4 unit 0 family inet address 10.10.4.3/24 set interfaces ge-0/0/7 unit 0 family inet address 10.10.5.3/24 set interfaces so-1/0/0 unit 0 family inet address 10.10.7.1/30 set interfaces lo0 unit 0 family inet address 10.255.55.55/32 set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ospf area 0.0.0.0 interface ge-0/0/7.0 set protocols ospf area 0.0.0.0 interface ge-0/0/4.0 set protocols ospf area 0.0.0.0 interface so-1/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/3.0 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 224.1.1.0/24 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 225.1.1.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 224.1.3.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 225.1.3.0/24 set protocols pim interface ge-0/0/7.0 mode bidirectional-sparse-dense set protocols pim interface ge-0/0/4.0 mode bidirectional-sparse-dense set protocols pim interface so-1/0/0.0 mode bidirectional-sparse-dense set protocols pim interface ge-0/0/3.0 mode bidirectional-sparse-dense
Router R6
set interfaces xe-0/0/0 unit 0 family inet address 10.10.10.3/24 set interfaces ge-2/0/0 unit 0 family inet address 10.10.13.2/24 set interfaces lo0 unit 0 family inet address 10.255.66.66/32 set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-2/0/0.0 set protocols ospf area 0.0.0.0 interface xe-0/0/0.0 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols pim rp bidirectional address 10.10.13.2 group-ranges 224.1.1.0/24 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 225.1.1.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 224.1.3.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 225.1.3.0/24 set protocols pim interface fxp0.0 disable set protocols pim interface xe-0/0/0.0 mode bidirectional-sparse-dense set protocols pim interface ge-2/0/0.0 mode bidirectional-sparse-dense
Router R7
set interfaces ge-0/1/5 unit 0 family inet address 10.10.13.3/24 set interfaces ge-0/1/7 unit 0 family inet address 10.10.12.2/24 set interfaces lo0 unit 0 family inet address 10.255.77.77/32 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ospf area 0.0.0.0 interface ge-0/1/5.0 set protocols ospf area 0.0.0.0 interface ge-0/1/7.0 set protocols ospf area 0.0.0.0 interface lo0.0 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 224.1.1.0/24 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 225.1.1.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 224.1.3.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 225.1.3.0/24 set protocols pim interface ge-0/1/5.0 mode bidirectional-sparse-dense set protocols pim interface ge-0/1/7.0 mode bidirectional-sparse-dense
Router R8
set interfaces so-0/0/0 unit 0 family inet address 10.10.7.2/30 set interfaces xe-2/0/0 unit 0 family inet address 10.10.9.2/24 set interfaces lo0 unit 0 family inet address 10.255.88.88/32 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ospf area 0.0.0.0 interface xe-2/0/0.0 set protocols ospf area 0.0.0.0 interface so-0/0/0.0 set protocols pim traceoptions file df set protocols pim traceoptions flag bidirectional-df-election detail set protocols pim rp bidirectional address 10.10.13.2 group-ranges 224.1.1.0/24 set protocols pim rp bidirectional address 10.10.13.2 group-ranges 225.1.1.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 224.1.3.0/24 set protocols pim rp bidirectional address 10.10.1.3 group-ranges 225.1.3.0/24 set protocols pim interface xe-2/0/0.0 mode bidirectional-sparse-dense set protocols pim interface so-0/0/0.0 mode bidirectional-sparse-dense
Router R1
Step-by-Step Procedure
To configure Router R1:
Configure the router interfaces.
[edit interfaces] user@R1# set ge-0/0/1 unit 0 family inet address 10.10.1.1/24 user@R1# set xe-2/1/0 unit 0 family inet address 10.10.2.1/24 user@R1# set lo0 unit 0 family inet address 10.255.11.11/32
Configure OSPF on the interfaces.
[edit protocols ospf area 0.0.0.0] user@R1# set interface ge-0/0/1.0 user@R1# set interface xe-2/1/0.0 user@R1# set interface lo0.0 user@R1# set interface fxp0.0 disable
Configure the group-to-RP mappings.
[edit protocols pim rp bidirectional] user@R1# set address 10.10.1.3 group-ranges 224.1.3.0/24 user@R1# set address 10.10.1.3 group-ranges 225.1.3.0/24 user@R1# set address 10.10.13.2 group-ranges 224.1.1.0/24 user@R1# set address 10.10.13.2 group-ranges 225.1.1.0/24
The RP represented by IP address 10.10.1.3 is a phantom RP. The 10.10.1.3 address is not assigned to any interface on any of the routers in the topology. It is, however, a reachable address. It is in the subnet between Routers R1 and R2.
The RP represented by address 10.10.13.2 is assigned to the ge-2/0/0 interface on Router R6.
Enable bidirectional PIM on the interfaces.
[edit protocols pim] user@R1# set interface ge-0/0/1.0 mode bidirectional-sparse-dense user@R1# set interface xe-2/1/0.0 mode bidirectional-sparse-dense
(Optional) Configure tracing operations for the DF election process.
[edit protocols pim] user@R1# set traceoptions file df user@R1# set traceoptions flag bidirectional-df-election detail
Results
From configuration mode, confirm your configuration by entering the show interfaces and show protocols commands. If the output does not display the intended configuration, repeat the instructions in this example to correct the configuration.
user@R1# show interfaces ge-0/0/1 { unit 0 { family inet { address 10.10.1.1/24; } } } xe-2/1/0 { unit 0 { family inet { address 10.10.2.1/24; } } } lo0 { unit 0 { family inet { address 10.255.11.11/32; } } }
user@R1# show protocols ospf { area 0.0.0.0 { interface ge-0/0/1.0; interface xe-2/1/0.0; interface lo0.0; interface fxp0.0 { disable; } } } pim { rp { bidirectional { address 10.10.1.3 { # phantom RP group-ranges { 224.1.3.0/24; 225.1.3.0/24; } } address 10.10.13.2 { group-ranges { 224.1.1.0/24; 225.1.1.0/24; } } } } interface ge-0/0/1.0 { mode bidirectional-sparse-dense; } interface xe-2/1/0.0 { mode bidirectional-sparse-dense; } traceoptions { file df; flag bidirectional-df-election detail; } }
If you are done configuring the router, enter commit from configuration mode.
Repeat the procedure for every Juniper Networks router in the bidirectional PIM network, using the appropriate interface names and addresses for each router.
Verification
Confirm that the configuration is working properly.
- Verifying Rendezvous Points
- Verifying Messages
- Checking the PIM Join State
- Displaying the Designated Forwarder
- Displaying the PIM Interfaces
- Checking the PIM Neighbors
- Checking the Route to the Rendezvous Points
- Verifying Multicast Routes
- Viewing Multicast Next Hops
Verifying Rendezvous Points
Purpose
Verify the group-to-RP mapping information.
Action
user@R1> show pim rps Instance: PIM.master Address family INET RP address Type Mode Holdtime Timeout Groups Group prefixes 10.10.1.3 static bidir 150 None 2 224.1.3.0/24 225.1.3.0/24 10.10.13.2 static bidir 150 None 2 224.1.1.0/24 225.1.1.0/24
Verifying Messages
Purpose
Check the number of DF election messages sent and received, and check bidirectional join and prune error statistics.
Action
user@R1> show pim statistics PIM Message type Received Sent Rx errors V2 Hello 16 34 0 ... V2 DF Election 18 38 0 ... Global Statistics ... Rx Bidir Join/Prune on non-Bidir if 0 Rx Bidir Join/Prune on non-DF if 0
Checking the PIM Join State
Purpose
Confirm the upstream interface, neighbor, and state information.
Action
user@R1> show pim join extensive Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: 224.1.1.0 Bidirectional group prefix length: 24 Source: * RP: 10.10.13.2 Flags: bidirectional,rptree,wildcard Upstream interface: ge-0/0/1.0 Upstream neighbor: 10.10.1.2 Upstream state: None Bidirectional accepting interfaces: Interface: ge-0/0/1.0 (RPF) Interface: lo0.0 (DF Winner) Group: 224.1.3.0 Bidirectional group prefix length: 24 Source: * RP: 10.10.1.3 Flags: bidirectional,rptree,wildcard Upstream interface: ge-0/0/1.0 (RP Link) Upstream neighbor: Direct Upstream state: Local RP Bidirectional accepting interfaces: Interface: ge-0/0/1.0 (RPF) Interface: lo0.0 (DF Winner) Interface: xe-2/1/0.0 (DF Winner) Group: 225.1.1.0 Bidirectional group prefix length: 24 Source: * RP: 10.10.13.2 Flags: bidirectional,rptree,wildcard Upstream interface: ge-0/0/1.0 Upstream neighbor: 10.10.1.2 Upstream state: None Bidirectional accepting interfaces: Interface: ge-0/0/1.0 (RPF) Interface: lo0.0 (DF Winner) Group: 225.1.3.0 Bidirectional group prefix length: 24 Source: * RP: 10.10.1.3 Flags: bidirectional,rptree,wildcard Upstream interface: ge-0/0/1.0 (RP Link) Upstream neighbor: Direct Upstream state: Local RP Bidirectional accepting interfaces: Interface: ge-0/0/1.0 (RPF) Interface: lo0.0 (DF Winner) Interface: xe-2/1/0.0 (DF Winner)
Meaning
The output shows a (*,G-range) entry for each active bidirectional RP group range. These entries provide a hierarchy from which the individual (*,G) routes inherit RP-derived state (upstream information and accepting interfaces). These entries also provide the control plane basis for the (*, G-range) forwarding routes that implement the sender-only branches of the tree.
Displaying the Designated Forwarder
Purpose
Display RP address information and confirm the DF elected.
Action
user@R1> show pim bidirectional df-election Instance: PIM.master Family: INET RPA: 10.10.1.3 Group ranges: 224.1.3.0/24, 225.1.3.0/24 Interfaces: ge-0/0/1.0 (RPL) DF: none lo0.0 (Win) DF: 10.255.179.246 xe-2/1/0.0 (Win) DF: 10.10.2.1 RPA: 10.10.13.2 Group ranges: 224.1.1.0/24, 225.1.1.0/24 Interfaces: ge-0/0/1.0 (Lose) DF: 10.10.1.2 lo0.0 (Win) DF: 10.255.179.246 xe-2/1/0.0 (Lose) DF: 10.10.2.2
Displaying the PIM Interfaces
Purpose
Verify that the PIM interfaces have bidirectional-sparse-dense (SDB) mode assigned.
Action
user@R1> show pim interfaces Instance: PIM.master Stat = Status, V = Version, NbrCnt = Neighbor Count, S = Sparse, D = Dense, B = Bidirectional, DR = Designated Router, P2P = Point-to-point link, Active = Bidirectional is active, NotCap = Not Bidirectional Capable Name Stat Mode IP V State NbrCnt JoinCnt(sg/*g) DR address ge-0/0/1.0 Up SDB 4 2 NotDR,Active 1 0/0 10.10.1.2 lo0.0 Up SDB 4 2 DR,Active 0 9901/100 10.255.179.246 xe-2/1/0.0 Up SDB 4 2 NotDR,Active 1 0/0 10.10.2.2
Checking the PIM Neighbors
Purpose
Check that the router detects that its neighbors are enabled for bidirectional PIM by verifying that the B option is displayed.
Action
user@R1> show pim neighbors Instance: PIM.master B = Bidirectional Capable, G = Generation Identifier, H = Hello Option Holdtime, L = Hello Option LAN Prune Delay, P = Hello Option DR Priority, T = Tracking Bit Interface IP V Mode Option Uptime Neighbor addr ge-0/0/1.0 4 2 HPLGBT 00:06:46 10.10.1.2 xe-2/1/0.0 4 2 HPLGBT 00:06:46 10.10.2.2
Checking the Route to the Rendezvous Points
Purpose
Check the interface route to the rendezvous points.
Action
user@R1> show route 10.10.13.2 inet.0: 56 destinations, 56 routes (55 active, 0 holddown, 1 hidden) + = Active Route, - = Last Active, * = Both 10.10.13.0/24 *[OSPF/10] 00:04:35, metric 4 > to 10.10.1.2 via ge-0/0/1.0
user@R1> show route 10.10.1.3 inet.0: 56 destinations, 56 routes (55 active, 0 holddown, 1 hidden) + = Active Route, - = Last Active, * = Both 10.10.1.0/24 *[Direct/0] 00:06:25 > via ge-0/0/1.0
Verifying Multicast Routes
Purpose
Verify the multicast traffic route for each group.
For bidirectional PIM, the show multicast route extensive command shows the (*, G/prefix) forwarding routes and the list of interfaces that accept bidirectional PIM traffic.
Action
user@R1> show multicast route extensive Family: INET Group: 224.0.0.0/4 Source: * Incoming interface list: lo0.0 ge-0/0/1.0 xe-4/1/0.0 Downstream interface list: ge-0/0/1.0 Session description: zeroconfaddr Statistics: 0 kBps, 0 pps, 0 packets Next-hop ID: 2097157 Incoming interface list ID: 559 Upstream protocol: PIM Route state: Active Forwarding state: Forwarding Cache lifetime/timeout: forever Wrong incoming interface notifications: 0 Group: 224.1.1.0/24 Source: * Incoming interface list: lo0.0 ge-0/0/1.0 Downstream interface list: ge-0/0/1.0 Session description: NOB Cross media facilities Statistics: 0 kBps, 0 pps, 0 packets Next-hop ID: 2097157 Incoming interface list ID: 579 Upstream protocol: PIM Route state: Active Forwarding state: Forwarding Cache lifetime/timeout: forever Wrong incoming interface notifications: 0 Group: 224.1.3.0/24 Source: * Incoming interface list: lo0.0 ge-0/0/1.0 xe-4/1/0.0 Downstream interface list: ge-0/0/1.0 Session description: NOB Cross media facilities Statistics: 0 kBps, 0 pps, 0 packets Next-hop ID: 2097157 Incoming interface list ID: 556 Upstream protocol: PIM Route state: Active Forwarding state: Forwarding Cache lifetime/timeout: forever Wrong incoming interface notifications: 0 Group: 225.1.1.0/24 Source: * Incoming interface list: lo0.0 ge-0/0/1.0 Downstream interface list: ge-0/0/1.0 Session description: Unknown Statistics: 0 kBps, 0 pps, 0 packets Next-hop ID: 2097157 Incoming interface list ID: 579 Upstream protocol: PIM Route state: Active Forwarding state: Forwarding Cache lifetime/timeout: forever Wrong incoming interface notifications: 0 Group: 225.1.3.0/24 Source: * Incoming interface list: lo0.0 ge-0/0/1.0 xe-4/1/0.0 Downstream interface list: ge-0/0/1.0 Session description: Unknown Statistics: 0 kBps, 0 pps, 0 packets Next-hop ID: 2097157 Incoming interface list ID: 556 Upstream protocol: PIM Route state: Active Forwarding state: Forwarding Cache lifetime/timeout: forever Wrong incoming interface notifications: 0
Meaning
For information about how the incoming and outgoing interface lists are derived, see the forwarding rules in RFC 5015.
Viewing Multicast Next Hops
Purpose
Verify that the correct accepting interfaces are shown in the incoming interface list.
Action
user@R1> show multicast next-hops Family: INET ID Refcount KRefcount Downstream interface 2097157 10 5 ge-0/0/1.0 Family: Incoming interface list ID Refcount KRefcount Downstream interface 579 5 2 lo0.0 ge-0/0/1.0 556 5 2 lo0.0 ge-0/0/1.0 xe-4/1/0.0 559 3 1 lo0.0 ge-0/0/1.0 xe-4/1/0.0
Meaning
The nexthop IDs for the outgoing and incoming next hops are referenced directly in the show multicast route extensive command.
Change History Table
Feature support is determined by the platform and release you are using. Use Feature Explorer to determine if a feature is supported on your platform.