This article shows how to verify the status of a PIM join and verify that it has the correct upstream and downstream interfaces.
When troubleshooting a multicast issue in KB21586 - Resolution Guide - Troubleshoot Multicast issue with Junos OS device configured as Layer 3 (running PIM protocol) [juniper.net] , you will need to verify the state of a PIM join on the device. Also, you will need to verify that the upstream and downstream interfaces for the PIM join are correct.
The following Network Topology is referenced in the solution:
Note : Refer to KB21591 - Sample Multicast Network Topology with Junos OS devices [juniper.net] for locating the Last Hop Router (LHR) and Rendezvous Point (RP) and for definitions of the components.
Run the following commands to check the status of the PIM join on the device.
root@LHR> show pim join inet <group address> root@LHR> show pim join extensive inet <group address>
The topology above runs PIM Sparse Mode, one for (*,G) state and one for (S,G). The (*,G) indicates the forwarding path that is built from the receiver toward the RP. The (S,G) state indicates the forwarding path from the receiver toward the source. Below is an example of the expected output for the network topology:
LHR
root@LHR> show pim join inet 239.255.0.1 Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: 239.255.0.1 Source: * < Forwarding path from the receiver toward the RP RP: 10.10.10.1 Flags: sparse,rptree,wildcard Upstream interface: ge-0/0/0.0 Group: 239.255.0.1 Source: 192.168.200.2 < Forwarding path from the receiver toward the source Flags: sparse,spt Upstream interface: ge-0/0/0.0 root@LHR> show pim join inet 239.255.0.1 extensive Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: 239.255.0.1 Source: * RP: 10.10.10.1 Flags: sparse,rptree,wildcard Upstream interface: ge-0/0/0.0 Upstream neighbor: 192.168.20.1 Upstream state: Join to RP Uptime: 23:17:33 Downstream neighbors: Interface: irb.10 192.168.100.1 State: Join Flags: SRW Timeout: Infinity Uptime: 23:17:33 Time since last Join: 23:16:14 Number of downstream interfaces: 1 Number of downstream neighbors: 1 Group: 239.255.0.1 Source: 192.168.200.2 Flags: sparse,spt Upstream interface: ge-0/0/0.0 Upstream neighbor: 192.168.20.1 Upstream state: Join to Source, No Prune to RP Keepalive timeout: 321 Uptime: 00:01:01 Downstream neighbors: Interface: irb.10 192.168.100.1 State: Join Flags: S Timeout: Infinity Uptime: 00:01:01 Time since last Join: 00:01:01 Number of downstream interfaces: 1 Number of downstream neighbors: 1
The output above on the LHR shows that it has received the (S,G) from the upstream interface ge-0/0/0, sent by neighbor 192.168.20.1 (Source 192.168.200.2, Group 239.255.0.1). The upstream interface should be the L3 interface toward the RP. The "downstream neighbors" should list all the L3 interfaces toward the multicast receivers that are requesting the traffic for the specific group (that is, irb.10 in this example).
If the only entry present has no referenced source, it will have the status (*,G). This means that the multicast stream has not reached the device. The PIM router has received the PIM join from its downstream neighbor and it is connected to the RP.
RP
root@RP> show pim join inet 239.255.0.1 Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: 239.255.0.1 Source: * RP: 10.10.10.1 Flags: sparse,rptree,wildcard Upstream interface: Local Group: 239.255.0.1 Source: 192.168.200.2 Flags: sparse,spt Upstream interface: ge-0/0/1.0 root@RP> show pim join inet 239.255.0.1 extensive Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: 239.255.0.1 Source: * RP: 10.10.10.1 Flags: sparse,rptree,wildcard Upstream interface: Local Upstream neighbor: Local Upstream state: Local RP Uptime: 23:18:07 Downstream neighbors: Interface: ge-0/0/0.0 192.168.20.2 State: Join Flags: SRW Timeout: 204 Uptime: 23:18:07 Time since last Join: 00:00:06 Number of downstream interfaces: 1 Number of downstream neighbors: 1 Group: 239.255.0.1 Source: 192.168.200.2 Flags: sparse,spt Upstream interface: ge-0/0/1.0 Upstream neighbor: 192.168.15.2 Upstream state: Local RP, Join to Source, No Prune to RP Keepalive timeout: 328 Uptime: 00:01:37 Downstream neighbors: Interface: ge-0/0/0.0 192.168.20.2 State: Join Flags: S Timeout: 204 Uptime: 00:01:37 Time since last Join: 00:00:06 Number of downstream interfaces: 1 Number of downstream neighbors: 1
The output above on the RP shows that it has received the (S,G) from the upstream interface ge-0/0/1, sent by neighbor 192.168.15.2 (Source 192.168.200.2, Group 239.255.0.1). If the source is *, the status is (*,G), which means that the FHR has not registered the source to the RP and that the multicast stream (traffic) is not flowing to the RP.
For an explanation of the fields in the " show pim join " and " show pim join extensive " commands, refer to show pim join .
show pim join
show pim join extensive
You can verify if the FHR has sent a PIM register for the source toward the RP by using PIM traceoptions configured on the PIM RP:
root@RP# set protocols pim traceoptions flag all root@RP# set protocols pim traceoptions file PIM-trace
The following example shows the respective logs for PIM Register and PIM Register Stop for the group above:
root@RP> show log PIM-trace | match 239.255 Feb 23 18:50:08.398163 PIM ge-0/0/1.0 RECV 10.10.10.4 -> 10.10.10.1 V2 Register Flags: 0x40000000 Border: 0 Null: 1 Source 192.168.200.2 Group 239.255.0.1 sum 0x2653 len 28 Feb 23 18:50:08.398258 PIM SENT 10.10.10.1 -> 10.10.10.4 V2 RegisterStop Source 192.168.200.2 Group 239.255.0.1 sum 0x6333 len 18
If the RP (with the loopback IP address 10.10.10.1) has interested receivers in the PIM Sparse Mode domain, it sends a PIM join message toward the source to build a shortest-path tree (SPT) back to the source. The source sends multicast packets out on the LAN, and the source DR (the FHR with the loopback IP address of 10.10.10.4) encapsulates the packets in a PIM register message and forwards the message toward the RP router by means of unicast, which is demonstrated in the first line.
The RP receives the PIM register messages back from the source, and thus adds a new source to the distribution tree, thus keeping track of sources in a PIM table. Once the RP receives packets natively (with S,G), it sends a register stop message to stop receiving the register messages by means of unicast, which is shown in the second line.
For more information about PIM Sparse Mode, refer to Understanding PIM Sparse Mode .
2022-02-25: Refreshed the graphic and topology, displaying ELS outputs for (*,G) and (S,G) status on the LHR and RP; also added how to verify if the first-hop router has registered the source by using traceoptions for PIM
2020-05-08: Article reviewed for accuracy; no changes required; article valid and accurate