Description

 This article provides information about certain useful commands and guidelines to troubleshoot NG-MVPN environments.

Symptoms

 The guideline provides basic NG-MVPN troubleshooting information:

Topology :

alt

Description :

  • Both of the Ingress PE routers receive Multicast traffic from the 192.168.100.208 source via the OSPF protocol.
  • The Egress PE router learned the 192.168.100.208 Multicast Source via BGP-L3VPN and is joined by the static group.
  • The MPLS plane was structured by RSVP-LSP - LSP:1 and LSP:2 respectively for the MVPN type-7 election.

Solution

 

Verification:

To confirm if the source is learned by OSPF first on both of the Ingresss PE routers:
{MASTER}
Ingrs-router-re0> show route 192.168.100.208

NG-MVPN-RTABLE.inet.0: 491 destinations, 1651 routes (491 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

192.168.100.192/26 *[OSPF/10] 5d 07:09:41, metric 2
> to 10.0.2.21 via xe-0/0/0.0
To check if the Mutilcast source can be learned via L3VPN on the Egress PE:
{MASTER}
Egrs-router-re0> show route advertising-protocol bgp <RR addr> table NG-MVPN-RTABLE 192.168.100.208 detail

NG-MVPN-RTABLE.inet.0: 491 destinations, 1651 routes (491 active, 0 holddown, 0 hidden)
* 192.168.100.192/26 (7 entries, 1 announced)
BGP group MP-iBGP type Internal
Route Distinguisher: 10.0.8.48:5006
VPN Label: 16
Nexthop: Self
Flags: Nexthop Change
MED: 2
Localpref: 100
AS path: [65512] I
Communities: target:65512:5006 src-as:65512:0 rt-import:10.0.8.48:6 rte-type:0.0.0.0:1:0
You can also check which LSP was selected towards P2MP LSP:
Egrs-router-re0> show route table NG-MVPN-RTABLE 192.168.100.208

NG-MVPN-RTABLE.inet.0: 504 destinations, 1663 routes (504 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

192.168.100.192/26 *[BGP/170] 5d 06:31:22, MED 2, localpref 100, from <RR addr>
AS path: I
via so-0/1/0.0, label-switched-path LSP:1
> via so-5/3/0.0, label-switched-path LSP:2
The Receiver PE learned all of the MVPN protocol next-hop via the vpn.inet.0 table and selected a higher rt-import ID to be the MVPN traffic forwarding next-hop. So, the receiver PE learned the multicast source via several sender PEs upon control plane; but selected a higher RID as forwarding next-hop upon transmit plane.

To verify it, use the following command:
{MASTER}
Egrs-router-re0> show route table NG-MVPN-RTABLE 192.168.100.208 extensive | no-more

NG-MVPN-RTABLE.inet.0: 504 destinations, 1663 routes (504 active, 0 holddown, 0 hidden)
192.168.100.192/26 (8 entries, 1 announced)
TSI:
KRT in-kernel 192.168.100.192/26 -> {indirect(2097788)}
Page 0 idx 0 Type 1 val 2a57f524
Nexthop: Self
AS path: [65512] I
Communities: target:65512:5006 src-as:65512:0 rt-import:10.0.2.48:154 rte-type:0.0.0.0:1:0
Path 192.168.100.192 from 10.0.2.16 Vector len 4. Val: 0
*BGP Preference: 170/-101
Route Distinguisher: 10.0.2.48:5006 < -- Be unicast-vpn next-hop election
Next hop type: Indirect
Address: 0x1dfb5298
Next-hop reference count: 140
Source: 10.0.2.16
<<snipping>> . . . . . .
BGP Preference: 170/-101
Route Distinguisher: 10.0.8.53:5006 < -- This Protocol next hop was type-7 elected
Next hop type: Indirect
Address: 0x1dcf6eb0
Next-hop reference count: 98
Source: 10.0.2.16
Next hop type: Router, Next hop index: 2105885
Next hop: via so-0/1/0.0 weight 0x1
Label-switched-path LSP:mse01.brf--core01.klj
Label operation: Push 16, Push 499072(top)
Label TTL action: no-prop-ttl, no-prop-ttl(top)
Next hop: via so-5/3/0.0 weight 0x1, selected
<<snipping>> . . . . . .
Protocol next hop: 10.0.8.53
Push 16
Indirect next hop: 41688780 2107076
State: <Secondary NotBest Int Ext>
Inactive reason: Not Best in its group - IGP metric
Local AS: 65512 Peer AS: 65512
Age: 5d 12:52:56 Metric: 2 Metric2: 400
Task: BGP_65512.10.0.2.17+60445
AS path: I (Originator) Cluster list: 10.0.2.16
AS path: Originator ID: 10.0.8.53
AS path:
AS path: Recorded
Communities: target:65512:5006 src-as:65512:0 rt-import:10.0.8.53:6 rte-type:0.0.0.0:1:0
Import Accepted

{MASTER}
Egrs-router-re0> show route table NG-MVPN-RTABLE 192.168.100.208 extensive | match community
Communities: target:65512:5006 src-as:65512:0 rt-import:10.0.2.48:154 rte-type:0.0.0.0:1:0
Communities: target:65512:5006 src-as:65512:0 rt-import:10.0.2.48:154 rte-type:0.0.0.0:1:0
Communities: target:65512:5006 src-as:65512:0 rt-import:10.0.2.48:154 rte-type:0.0.0.0:1:0
Communities: target:65512:5006 src-as:65512:0 rt-import:10.0.8.53:6 rte-type:0.0.0.0:1:0
Communities: target:65512:5006 src-as:65512:0 rt-import:10.0.8.53:6 rte-type:0.0.0.0:1:0
Here, you can see that the higher RID was selected by the type-7 route of MVPN:
{MASTER}
Egrs-router-re0> show route table NG-MVPN-RTABLE.mvpn extensive | find ^7:
7:10.0.8.53:5006:65512:32:192.168.100.198:32:239.x.x.230/240 (1 entry, 1 announced)
TSI:
Page 0 idx 0 Type 1 val 18faf9a0
*PIM Preference: 105
Next hop type: Multicast (IPv4), Next hop index: 2105349
Address: 0x3f29d06c
Next-hop reference count: 705
State: <Active Int Ext>
Age: 5d 7:49:41
Task: PIM.NG-MVPN-RTABLE
Announcement bits (3): 0-PIM.NG-MVPN-RTABLE 1-mvpn global task 3-BGP RT Background
AS path: I
Communities: target:10.0.8.53:6
The MVPN address is as follows:
7:10.0.8.53:5006:65512:32:192.168.100.198:32:239.x.x.230/240

7 is route type of MVPN.
10.0.8.53:5006 is RD of Upstream PE with community
65512 is AS unmber of Upstream PE
192.168.100.198 is phy interface address of Upstream PE Multicase source-facing.
32 is C-G mask(32 bit for IPv4; 128 bit for IPv6)
239.x.x.230 is mutilcast group.
Countinue to brief the MVPN route-table on the Egress PE:
{MASTER} 
Egrs-router-re0> show route advertising-protocol bgp <RR addr> table NG-MVPN-RTABLE.mvpn   
NG-MVPN-RTABLE.mvpn.0: 295 destinations, 350 routes (295 active, 41 holddown, 0 hidden)  
Prefix Nexthop MED Lclpref AS path  
1:10.0.2.42:5006:10.0.2.42/240  
* Self 100 I 
7:10.0.8.53:5006:65512:32:192.168.100.198:32:239.192.100.230/240  
* Self 100 I 
7:10.0.8.53:5006:65512:32:192.168.100.198:32:239.192.100.231/240  
* Self 100 I
Also, the P2MP LSP can be observed as follows:
{MASTER}
Egrs-router-re0> show mpls lsp egress p2mp
Egress LSP: 26 sessions, 30 detours
P2MP name: 10.0.2.48:5006:mvpn:NG-MVPN-RTABLE, P2MP branch count: 1
To From State Rt Style Labelin Labelout LSPname
10.0.2.42 10.0.2.48 Up 0 1 SE 227 - 10.0.2.42:10.0.2.48:5006:mvpn:NG-MVPN-RTABLE
P2MP name: 10.0.2.53:5006:mvpn:NG-MVPN-RTABLE, P2MP branch count: 1
To From State Rt Style Labelin Labelout LSPname
10.0.2.42 10.0.2.53 Up 0 1 SE 227 - 10.0.2.42:10.0.2.53:5006:mvpn:NG-MVPN-RTABLE
Total 2 displayed, Up 2, Down 0
Now, the receiver PE will have MVPN neighborship to the sender PE that is associated with its tunnel:
{MASTER}
Egrs-router-re0> show mvpn neighbor instance-name NG-MVPN-RTABLE neighbor-address 10.0.2.53
MVPN instance:

Legend for provider tunnel
I-P-tnl -- inclusive provider tunnel S-P-tnl -- selective provider tunnel

Legend for c-multicast routes properties (Pr)
DS -- derived from (*, c-g) RM -- remote VPN route
Instance : NG-MVPN-RTABLE
MVPN Mode : SPT-ONLY
Neighbor I-P-tnl
10.0.2.53 RSVP-TE P2MP:10.0.2.53, 9558,10.0.2.53

Related commands :

show route table NG-MVPN-RTABLE <source address>
show route advertising-protocol bgp <RR addr> table NG-MVPN-RTABLE <source address> detail
show route table NG-MVPN-RTABLE <source address>
show pim join instance NG-MVPN-RTABLE extensive
show route table NG-MVPN-RTABLE <source address> extensive | no-more
show route table NG-MVPN-RTABLE.mvpn extensive
show route advertising-protocol bgp <neighbor> table NG-MVPN-RTABLE .mvpn
show route table NG-MVPN-RTABLE.mvpn | find
show pim join extensive instance NG-MVPN-RTABLE | find 239.x.x.1
show route table NG-MVPN-RTABLE.mvpn
show route table NG-MVPN-RTABLE.mvpn | match <multicase address>
show route advertising-protocol bgp <neighbor> table NG-MVPN-RTABLE.mvpn
show mpls lsp | no-more
show mvpn neighbor instance-name NG-MVPN-RTABLE neighbor-address <Upstream RID>