RSVP Signaled Point-to-Multipoint LSPs
This chapter provides information about RSVP signaled point-to-multipoint LSPs.
Topics in this chapter include:
Applicability
This chapter was originally written for SR OS Release 7.0.R5, but the CLI in the current edition corresponds to SR OS Release 16.0.R3.
Overview
Point-to-MultiPoint (P2MP) Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSPs) allow the source of multicast traffic to forward packets to one or many multicast receivers over a network without requiring a multicast protocol, such as Protocol Independent Multicast (PIM), to be configured in the network. A P2MP LSP tree is established in the control plane, and the path consists of a head-end node, one or many branch and bud nodes, and the leaf nodes. A bud node combines the roles of branch node and leaf node (for different source-to-leaf LSPs). Packets injected by the head-end node are replicated in the data plane at the branching nodes before they are delivered to the leaf nodes.
Similar to point-to-point (P2P) LSPs, also P2MP LSPs are unidirectional, originating on a head-end node (the ingress LER) and terminating on one or more leaf nodes (the egress LERs). Resource Reservation Protocol (RSVP) is used as signaling protocol. A P2MP LSP is modeled as a set of root-to-leaf sub LSPs (Source-to-Leaf: S2L). Each S2L is modeled as a point-to-point LSP in the control plane. This means that each S2L has its own PATH/RESV messages. This is called the de-aggregated method.
The forwarding of multicast packets to the LSP tree was initially based on static multicast routes, and has evolved to BGP-based VPN routes afterward (but the latter is beyond the scope of this chapter). In this example, forwarding multicast packets is done over P2MP RSVP LSPs in the base router instance.
RSVP signaled P2MP LSPs can have fast reroute (FRR) enabled, the facility method (one-to-many) with link protection is supported.
P2MP Example Topology shows the P2MP example topology with seven PEs. The multicast source is connected to PE-1, multicast client 1 is attached to PE-7, and multicast client 2 to PE-6, as follows:
Configuration
The following sections describe the tasks which must be performed to configure RSVP signaled point-to-multipoint LSPs.
Configuring the IP/MPLS Network
The system addresses and Layer 3 interface addresses are configured according to P2MP Example Topology. An Interior Gateway Protocol (IGP) is needed to distribute routing information to all PEs. In this case, the IGP is OSPF using the backbone area 0.0.0.0. A configuration example is shown for PE-1. A similar configuration is needed on all PEs.
*A:PE-1# configure
router
interface "int-PE-1-PE-2"
address 192.168.12.1/30
port 1/1/2
exit
interface "int-PE-1-PE-3"
address 192.168.13.1/30
port 1/1/1
exit
interface "system"
address 192.0.2.1/32
exit
ospf
traffic-engineering
area 0.0.0.0
interface "system"
exit
interface "int-PE-1-PE-2"
interface-type point-to-point
exit
interface "int-PE-1-PE-3"
interface-type point-to-point
exit
exit
no shutdown
exit
Because fast reroute (FRR) is enabled for the P2MP LSP, Traffic Engineering (TE) is needed on the IGP. By doing this, OSPF will generate opaque LSAs which are collected in a Traffic Engineering Database (TED), separate from the traditional OSPF topology database. OSPF interfaces are set up as type point-to-point to improve convergence, because no Designated Router/Backup Designated Router (DR/BDR) election process is done. However, convergence is out of the scope of this chapter.
To verify that OSPF neighbors are up (state Full), show router ospf neighbor is performed. To check if Layer 3 interface addresses/subnets are known on all PEs, show router route-table or show router fib iom-card-slot will display the content of the forwarding information base (FIB).
*A:PE-1# show router ospf neighbor
===============================================================================
Rtr Base OSPFv2 Instance 0 Neighbors
===============================================================================
Interface-Name Rtr Id State Pri RetxQ TTL
Area-Id
-------------------------------------------------------------------------------
int-PE-1-PE-2 192.0.2.2 Full 1 0 32
0.0.0.0
int-PE-1-PE-3 192.0.2.3 Full 1 0 31
0.0.0.0
-------------------------------------------------------------------------------
No. of Neighbors: 2
===============================================================================
*A:PE-1#
*A:PE-1# show router route-table
===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
192.0.2.1/32 Local Local 00h01m19s 0
system 0
192.0.2.2/32 Remote OSPF 00h00m48s 10
192.168.12.2 10
192.0.2.3/32 Remote OSPF 00h00m37s 10
192.168.13.2 10
192.0.2.4/32 Remote OSPF 00h00m29s 10
192.168.12.2 20
192.0.2.5/32 Remote OSPF 00h00m24s 10
192.168.13.2 20
192.0.2.6/32 Remote OSPF 00h00m14s 10
192.168.12.2 30
192.0.2.7/32 Remote OSPF 00h00m07s 10
192.168.13.2 30
192.168.12.0/30 Local Local 00h01m19s 0
int-PE-1-PE-2 0
192.168.13.0/30 Local Local 00h01m19s 0
int-PE-1-PE-3 0
192.168.23.0/30 Remote OSPF 00h00m48s 10
192.168.12.2 20
192.168.24.0/30 Remote OSPF 00h00m48s 10
192.168.12.2 20
192.168.35.0/30 Remote OSPF 00h00m37s 10
192.168.13.2 20
192.168.45.0/30 Remote OSPF 00h00m29s 10
192.168.12.2 30
192.168.46.0/30 Remote OSPF 00h00m29s 10
192.168.12.2 30
192.168.57.0/30 Remote OSPF 00h00m24s 10
192.168.13.2 30
192.168.67.0/30 Remote OSPF 00h00m14s 10
192.168.12.2 40
-------------------------------------------------------------------------------
No. of Routes: 16
---snip---
*A:PE-1# show router fib 1
===============================================================================
FIB Display
===============================================================================
Prefix [Flags] Protocol
NextHop
-------------------------------------------------------------------------------
192.0.2.1/32 LOCAL
192.0.2.1 (system)
192.0.2.2/32 OSPF
192.168.12.2 (int-PE-1-PE-2)
192.0.2.3/32 OSPF
192.168.13.2 (int-PE-1-PE-3)
192.0.2.4/32 OSPF
192.168.12.2 (int-PE-1-PE-2)
192.0.2.5/32 OSPF
192.168.13.2 (int-PE-1-PE-3)
192.0.2.6/32 OSPF
192.168.12.2 (int-PE-1-PE-2)
192.0.2.7/32 OSPF
192.168.13.2 (int-PE-1-PE-3)
192.168.12.0/30 LOCAL
192.168.12.0 (int-PE-1-PE-2)
192.168.13.0/30 LOCAL
192.168.13.0 (int-PE-1-PE-3)
192.168.23.0/30 OSPF
192.168.12.2 (int-PE-1-PE-2)
192.168.24.0/30 OSPF
192.168.12.2 (int-PE-1-PE-2)
192.168.35.0/30 OSPF
192.168.13.2 (int-PE-1-PE-3)
192.168.45.0/30 OSPF
192.168.12.2 (int-PE-1-PE-2)
192.168.46.0/30 OSPF
192.168.12.2 (int-PE-1-PE-2)
192.168.57.0/30 OSPF
192.168.13.2 (int-PE-1-PE-3)
192.168.67.0/30 OSPF
192.168.12.2 (int-PE-1-PE-2)
-------------------------------------------------------------------------------
Total Entries : 16
-------------------------------------------------------------------------------
===============================================================================
*A:PE-1#
On PE-1, the interface toward the multicast source is configured in an IES service. This could have been on a router interface instead.
*A:PE-1# configure
service
ies 1 name "IES 1" customer 1 create
interface "int-PE-1-MC-source" create
address 192.168.9.1/30
sap 1/1/3 create
exit
exit
no shutdown
exit
Similar IES services are configured on PE-7 and PE-6 for multicast client 1 and multicast client 2.
*A:PE-7# configure
service
ies 1 name "IES 1" customer 1 create
interface "int-PE-7-MC-client1" create
address 192.168.10.1/30
sap 1/1/3 create
exit
exit
no shutdown
exit
*A:PE-6# configure
service
ies 1 name "IES 1" customer 1 create
interface "int-PE-6-MC-client2" create
address 192.168.11.1/30
sap 1/1/3 create
exit
exit
no shutdown
exit
The next step in the process of setting up a P2MP LSP, is enabling the L3 interfaces in the MPLS and rsvp context on all involved PE nodes (from PE-1 to PE-7). By default, the system interface is put automatically within the MPLS/rsvp context. When an interface is put in the mpls context, SR OS copies it also in the rsvp context. Explicit enabling of MPLS and rsvp context is done by the no shutdown command. The MPLS/RSVP configuration for PE-1 is as follows:
*A:PE-1# configure
router
mpls
interface "int-PE-1-PE-2"
exit
interface "int-PE-1-PE-3"
exit
no shutdown
exit
rsvp no shutdown
Configuring P2MP RSVP LSP
P2MP LSP LSP-p2mp-1 with Bypass Tunnels shows the P2MP LSP LSP-p2mp-1 with facility backup.
A P2MP LSP (LSP-p2mp-1) will be set up from PE-1 acting as head-end node and PE-6 and PE-7 acting as leaf nodes. Because FRR is enabled, Constrained Shortest Path First (CSPF) is enabled to do route calculations on the Traffic Engineering Database (TED). FRR method facility is used without node protection, facility stands for one-to-many, meaning that one bypass tunnel can protect a set of primary LSPs with similar backup constraints. When a link failure occurs on one of the active S2L paths, the Point of Local Repair (PLR) node will push an additional MPLS label on the incoming MPLS packet before sending it into the bypass tunnel downstream toward the Merge Point (MP) node.
In the first example, the IGP OSPF will do the path calculation to the two destinations PE-6 and PE-7. The intermediate hops of the LSP are dynamically assigned by OSPF best route selection, so the S2L paths follow the IGP least cost path. Therefore, an MPLS path called ‟loose” is configured without specifying any hops.
*A:PE-1# configure
router
mpls
path "loose"
no shutdown
exit
Creation of the P2MP LSP itself is done on the ingress LER or head-end node (PE-1 in the example) and can be seen in following CLI output. The name of the P2MP LSP is ‟LSP-p2mp-1”. A create-time keyword p2mp-lsp is added to the P2MP name to make a distinction in configuration between normal point-to-point LSPs and point-to-multipoint LSPs. A primary P2MP instance is initiated using the primary-p2mp-instance keyword accompanied with the P2MP instance name ‟p-LSP-p2mp-1”. Within this primary P2MP instance, the different S2Ls are defined using the s2l-path keyword. The same MPLS path name can be used for different S2Ls as long as the destination is different (to command).
*A:PE-1# configure
router
mpls
lsp "LSP-p2mp-1" p2mp-lsp
cspf
fast-reroute facility
no node-protect
exit
primary-p2mp-instance "p-LSP-p2mp-1"
s2l-path "loose" to 192.0.2.6
exit
s2l-path "loose" to 192.0.2.7
exit
exit
no shutdown
exit
On the head-end LER node of the P2MP LSP, several show commands can be used. A first set of show commands is used to verify the administrative and operational state of the P2MP LSP and its different S2L paths (including FRR bypass information). In this example, ”LSP-p2mp-1” P2MP LSP has two active S2L paths: one toward leaf node PE-6 and one to leaf node PE-7.
*A:PE-1# show router mpls p2mp-lsp
===============================================================================
MPLS P2MP LSPs (Originating)
===============================================================================
LSP Name Tun Fastfail Adm Opr
Id Config
-------------------------------------------------------------------------------
LSP-p2mp-1 1 Yes Up Up
-------------------------------------------------------------------------------
LSPs : 1
===============================================================================
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-1" detail
===============================================================================
MPLS P2MP LSPs (Originating) (Detail)
===============================================================================
Legend :
+ - Inherited
===============================================================================
-------------------------------------------------------------------------------
Type : Originating
-------------------------------------------------------------------------------
LSP Name : LSP-p2mp-1
LSP Type : P2mpLsp LSP Tunnel ID : 1
LSP Index : 1 TTM Tunnel Id : 1
From : 192.0.2.1
Adm State : Up Oper State : Up
LSP Up Time : 0d 00:00:00 LSP Down Time : 0d 00:00:00
Transitions : 1 Path Changes : 1
Retry Limit : 0 Retry Timer : 30 sec
Signaling : RSVP Resv. Style : SE
Hop Limit : 255 Negotiated MTU : n/a
Adaptive : Enabled ClassType : 0
FastReroute : Enabled Oper FR : Enabled
FR Method : Facility FR Hop Limit : 16
FR Node Protect : Disabled FR Prop Adm Grp : Disabled
FR Object : Enabled
CSPF : Enabled ADSPEC : Disabled
Metric : Disabled Use TE metric : Disabled
Load Bal Wt : N/A ClassForwarding : Disabled
Include Grps : Exclude Grps :
None None
Least Fill : Disabled
Revert Timer : Disabled Next Revert In : N/A
Auto BW : Disabled
LdpOverRsvp : Disabled
VprnAutoBind : Disabled
IGP Shortcut : Disabled BGP Shortcut : Disabled
IGP LFA : Disabled IGP Rel Metric : Disabled
BGPTransTun : Disabled
Oper Metric : Disabled
Prop Adm Grp : Disabled
P2MPInstance : p-LSP-p2mp-1
P2MP-Inst-type : Primary
S2L Cfg Counter : 2 S2L Oper Counter : 2
S2L-Name : loose
To : 192.0.2.6
S2L-Name : loose
To : 192.0.2.7
===============================================================================
*A:PE-1#
*A:PE-1# show router mpls p2mp-info
===============================================================================
MPLS P2MP Cross Connect Information
===============================================================================
-------------------------------------------------------------------------------
S2L:LSP-p2mp-1::loose
-------------------------------------------------------------------------------
Source IP Address : 192.0.2.1 Tunnel ID : 1
P2MP ID : 0 Lsp ID : 63488
To : 192.0.2.6
Out Interface : 1/1/2 Out Label : 524287
Num. of S2ls : 1
-------------------------------------------------------------------------------
S2L LSP-p2mp-1::loose
-------------------------------------------------------------------------------
Source IP Address : 192.0.2.1 Tunnel ID : 1
P2MP ID : 0 Lsp ID : 63488
To : 192.0.2.7
Out Interface : 1/1/1 Out Label : 524287
Num. of S2ls : 1
-------------------------------------------------------------------------------
P2MP Cross-connect instances : 2
===============================================================================
*A:PE-1#
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-1" p2mp-instance "p-LSP-p2mp-1"
===============================================================================
MPLS P2MP Instance (Originating)
===============================================================================
-------------------------------------------------------------------------------
Type : Originating
-------------------------------------------------------------------------------
LSP Name : LSP-p2mp-1
P2MP ID : 0 LSP Tunnel ID : 1
Adm State : Up Oper State : Up
P2MPInstance : p-LSP-p2mp-1
P2MP-Inst-type : Primary
P2MP Inst Id : 1 P2MP Lsp Id : 14336
Inst Admin : Up Inst Oper : Up
Inst Up Time : 0d 00:00:00 Inst Dn Time : 0d 00:00:00
Hop Limit : 255 Adaptive : Enabled
Record Route : Record Record Label : Record
Include Grps : Exclude Grps :
None None
Bandwidth : No Reservation Oper Bw : 0 Mbps
S2L-Name : loose
To : 192.0.2.6
S2L Admin : Up S2L Oper : Up
S2L-Name : loose
To : 192.0.2.7
S2L Admin : Up S2L Oper : Up
-------------------------------------------------------------------------------
P2MP instances : 1
===============================================================================
*A:PE-1#
As long as one S2L path is operationally up (show router mpls p2mp-lsp lsp-name p2mp-instance instance-name) , the Oper State of the P2MP LSP is Up.
FRR information can be displayed in detail for each S2L path. From this moment onward, the focus is on the S2L path toward PE-7. The following command shows that link protection is present for the link between PE-1 and PE-3, for the link between PE-3 and PE-5, and for the link between PE-5 and PE-7 (‛@’-reference inside show command).
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-1" p2mp-instance "p-LSP-p2mp-1" s2l loose to 192.0.2.7 detail
===============================================================================
MPLS LSP LSP-p2mp-1 S2L loose (Detail)
===============================================================================
Legend :
@ - Detour Available # - Detour In Use
b - Bandwidth Protected n - Node Protected
S - Strict L - Loose
A - ABR
s - Soft Preemption
===============================================================================
LSP Name : LSP-p2mp-1
S2L LSP ID : 19968
P2MP ID : 0 S2L Grp Id : 2
Admin State : Up Oper State : Up
S2L State: : Active :
S2L Name : loose
To : 192.0.2.7
S2L Admin : Up S2L Oper : Up
OutInterface : 1/1/1 Out Label : 524287
S2L Up Time : 0d 00:01:10 S2L Dn Time : 0d 00:00:00
RetryAttempt : 0 NextRetryIn : 0 sec
S2L Trans : 1 CSPF Queries : 1
Failure Code : noError Failure Node : n/a
Inter-area : False
ExplicitHops :
No Hops Specified
Actual Hops :
192.168.13.1 (192.0.2.1) @ Record Label : N/A
-> 192.168.13.2 (192.0.2.3) @ Record Label : 524287
-> 192.168.35.2 (192.0.2.5) @ Record Label : 524287
-> 192.168.57.2 (192.0.2.7) Record Label : 524287
ComputedHops :
192.168.13.1(S)
-> 192.168.13.2(S)
-> 192.168.35.2(S)
-> 192.168.57.2(S)
LastResignal : n/a
===============================================================================
*A:PE-1#
More in detail, show router mpls bypass-tunnel can be used. Actual Hops provides the explicit hops of the bypass tunnel used to avoid the direct link between PE-1 and PE-3. On node PE-1, the MPLS path from PE-1 to PE-3 via PE-2 is followed (see P2MP LSP LSP-p2mp-1 with Bypass Tunnels).
*A:PE-1# show router mpls bypass-tunnel detail
===============================================================================
MPLS Bypass Tunnels (Detail)
===============================================================================
---snip---
-------------------------------------------------------------------------------
bypass-link192.168.13.2-61442
-------------------------------------------------------------------------------
To : 192.168.23.2 State : Up
Out I/F : 1/1/2 Out Label : 524285
Up Time : 0d 00:09:51 Active Time : n/a
Reserved BW : 0 Kbps Protected LSP Count : 1
Type : P2mp Bypass Path Cost : 20
Setup Priority : 7 Hold Priority : 0
Class Type : 0
Exclude Node : None Inter-Area : False
Computed Hops :
192.168.12.1(S) Egress Admin Groups : None
-> 192.168.12.2(S) Egress Admin Groups : None
-> 192.168.23.2(S) Egress Admin Groups : None
Actual Hops :
192.168.12.1 (192.0.2.1) Record Label : N/A
-> 192.168.12.2 (192.0.2.2) Record Label : 524285
-> 192.168.23.2 (192.0.2.3) Record Label : 524284
Protected LSPs -
LSP Name : LSP-p2mp-1::loose
From : 192.0.2.1 To : 192.0.2.7
Avoid Node/Hop : 192.168.13.2 Downstream Label : 524287
Bandwidth : 0 Kbps
-------------------------------------------------------------------------------
---snip---
On node PE-3, the MPLS path from PE-3 to PE-5 via PE-2 and PE-4 is followed (see P2MP LSP LSP-p2mp-1 with Bypass Tunnels) to avoid the direct link between PE-3 and PE-5.
*A:PE-3# show router mpls bypass-tunnel protected-lsp p2mp detail
===============================================================================
MPLS Bypass Tunnels (Detail)
===============================================================================
-------------------------------------------------------------------------------
bypass-link192.168.35.2-61441
-------------------------------------------------------------------------------
To : 192.168.45.2 State : Up
Out I/F : 1/1/3 Out Label : 524286
Up Time : 0d 00:13:14 Active Time : n/a
Reserved BW : 0 Kbps Protected LSP Count : 1
Type : P2mp Bypass Path Cost : 30
Setup Priority : 7 Hold Priority : 0
Class Type : 0
Exclude Node : None Inter-Area : False
Computed Hops :
192.168.23.2(S) Egress Admin Groups : None
-> 192.168.23.1(S) Egress Admin Groups : None
-> 192.168.24.2(S) Egress Admin Groups : None
-> 192.168.45.2(S) Egress Admin Groups : None
Actual Hops :
192.168.23.2 (192.0.2.3) Record Label : N/A
-> 192.168.23.1 (192.0.2.2) Record Label : 524286
-> 192.168.24.2 (192.0.2.4) Record Label : 524285
-> 192.168.45.2 (192.0.2.5) Record Label : 524284
Protected LSPs -
LSP Name : LSP-p2mp-1::loose
From : 192.0.2.1 To : 192.0.2.7
Avoid Node/Hop : 192.168.35.2 Downstream Label : 524287
Bandwidth : 0 Kbps
===============================================================================
*A:PE-3#
A similar output can be seen on PE-5 node also. To avoid the direct link from PE-5 to PE-7, the MPLS path from PE-5 to PE-7 via PE-4 and PE-6 is followed, as shown in P2MP LSP LSP-p2mp-1 with Bypass Tunnels.
On the transit LSRs and egress LER/leaf node (see P2MP LSP LSP-p2mp-1 with Bypass Tunnels), the show router mpls p2mp-info command can be used. See the show command on node PE-3 for the S2L path to 192.0.2.7. Similar outputs are possible for nodes PE-5 and PE-7.
*A:PE-3# show router mpls p2mp-info
- p2mp-info [type {originate|transit|terminate}] [s2l-endpoint <ip-address>]
<originate|transit*> : keywords
<ip-address> : [a.b.c.d]
*A:PE-3# show router mpls p2mp-info
===============================================================================
MPLS P2MP Cross Connect Information
===============================================================================
-------------------------------------------------------------------------------
S2L LSP-p2mp-1::loose
-------------------------------------------------------------------------------
Source IP Address : 192.0.2.1 Tunnel ID : 1
P2MP ID : 0 Lsp ID : 14336
To : 192.0.2.7
Out Interface : 1/1/1 Out Label : 524287
Num. of S2ls : 1
-------------------------------------------------------------------------------
P2MP Cross-connect instances : 1
===============================================================================
*A:PE-3#
Mapping Multicast Traffic
To map multicast traffic into the LSP tree from the head-end node until leaf node, PIM and Internet Group Management Protocol (IGMP) configurations are needed on the head-end node (PE-1) and leaf nodes (PE-6 and PE-7) of the P2MP RSVP LSP. The intermediate nodes (transit LSR or branch LSR) do not need any explicit configuration for that.
Head-end Node (Ingress LER) PE-1
PIM must be enabled on the interface toward the multicast source and PIM must be enabled on the tunnel interface. A tunnel interface should be seen as an internal representation of a specific P2MP LSP. Creation is done within the pim context using the tunnel-interface rsvp-p2mp command followed by the P2MP LSP name. This is configured as follows:
*A:PE-1# configure
router
pim
interface "int-PE-1-MC-source"
exit
tunnel-interface rsvp-p2mp "LSP-p2mp-1"
For multicast packets received on an interface to pass through the data plane, a successful reverse path forwarding (RPF) check must be done on the source address, otherwise the packet will be dropped.
Besides enabling PIM on the tunnel interface, also IGMP is enabled to do a static <S,G> or <*,G> join of a multicast group address (227.1.1.1 in the example) to the tunnel interface/P2MP LSP. There is always a one-to-one mapping between <S,G> or <*,G> and a tunnel interface/P2MP LSP. In the example a <S,G> will be configured. A <*,G> join scenario is included in Additional Topics.
*A:PE-1# configure
router
igmp …
tunnel-interface rsvp-p2mp "LSP-p2mp-1"
static
group 227.1.1.1
source 192.168.9.2
exit
exit
exit
no shutdown
The show router pim tunnel-interface command shows you the admin state of the tunnel interface and an association to an internal local ifindex (73728 in the example).
*A:PE-1# show router pim tunnel-interface
===============================================================================
PIM Interfaces ipv4
===============================================================================
Interface Originator Address Adm Opr Transport Type
-------------------------------------------------------------------------------
mpls-if-73728 N/A Up Up Tx-IPMSI
-------------------------------------------------------------------------------
Interfaces : 1
===============================================================================
*A:PE-1#
The show router igmp group command provides the configured <S,G> entry and outgoing interface (= tunnel interface), represented by mpls-if-73728.
*A:PE-1# show router igmp group 227.1.1.1
===============================================================================
IGMP Interface Groups
===============================================================================
(192.168.9.2,227.1.1.1) UpTime: 0d 00:11:10
Fwd List : mpls-if-73728
-------------------------------------------------------------------------------
Entries : 1
===============================================================================
IGMP Host Groups
===============================================================================
No Matching Entries
===============================================================================
IGMP SAP Groups
===============================================================================
No Matching Entries
===============================================================================
*A:PE-1#
Users can verify if multicast traffic is using P2MP LSP at the head-end node using the show router pim group group-address detail command.
*A:PE-1# show router pim group 227.1.1.1 detail
===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address : 227.1.1.1
Source Address : 192.168.9.2
RP Address : 0
Advt Router : 192.0.2.1
Flags : Type : (S,G)
Mode : sparse
MRIB Next Hop : 192.168.9.2
MRIB Src Flags : direct
Keepalive Timer : Not Running
Up Time : 0d 00:02:42 Resolved By : rtable-u
Up JP State : Joined Up JP Expiry : 0d 00:00:00
Up JP Rpt : Not Joined StarG Up JP Rpt Override : 0d 00:00:00
Register State : No Info
Reg From Anycast RP: No
Rpf Neighbor : 192.168.9.2
Incoming Intf : int-PE-1-MC-source
Outgoing Intf List : mpls-if-73728
Curr Fwding Rate : 8352.8 kbps
Forwarded Packets : 124213 Discarded Packets : 0
Forwarded Octets : 5713798 RPF Mismatches : 0
Spt threshold : 0 kbps ECMP opt threshold : 7
Admin bandwidth : 1 kbps
-------------------------------------------------------------------------------
Groups : 1
===============================================================================
*A:PE-1#
Leaf Node (Egress LER)
In the pim context, the same tunnel interface must be created as the head-end node. An explicit reference to the head-end system address, using the sender systemIP_head-end_node parameter is needed.
*A:PE-7# configure
router
pim
tunnel-interface rsvp-p2mp LSP-p2mp-1 sender 192.0.2.1
The show router pim tunnel-interface command provides the admin state of the tunnel interface and an association to an internal local ifindex (73728 in this example, by coincidence the same ifindex as the one on the head-end node PE-1).
*A:PE-7# show router pim tunnel-interface
===============================================================================
PIM Interfaces ipv4
===============================================================================
Interface Originator Address Adm Opr Transport Type
-------------------------------------------------------------------------------
mpls-if-73728 N/A Up Up Tx-IPMSI
-------------------------------------------------------------------------------
Interfaces : 1
===============================================================================
*A:PE-7#
The main goal on the leaf nodes is to get traffic off the P2MP LSP/tunnel interface. This is done using a multicast information policy (multicast-info-policy). Inside this MC policy, a range of multicast group addresses must be defined under a bundle context (bundle1) in order to see traffic (channel). Also inside the bundle context, the P2MP LSP is presented by the tunnel interface (primary-tunnel-interface). This is configured as follows:
*A:PE-7# configure
mcast-management
multicast-info-policy "p2mp-pol" create
bundle "bundle1" create
primary-tunnel-interface rsvp-p2mp LSP-p2mp-1 sender 192.0.2.1
channel "227.1.1.1" "227.1.1.1" create
exit
exit
bundle "default" create
exit
exit
The channel command must be seen as a range command with a start-mc-group-address and an end-mc-group-address. In this example, only one MC group address, 227.1.1.1 is seen.
The configured multicast information policy must be applied to the base router instance.
*A:PE-7# configure router multicast-info-policy "p2mp-pol"
On the leaf nodes PE-7 and PE-6, multicast clients are connected. IGMP is enabled on those multicast clients with a static <S,G> join to redirect multicast traffic downstream to the multicast client. This is configured as follows:
*A:PE-7# configure
router
igmp
interface "int-PE-7-MC-client1"
static
group 227.1.1.1
source 192.168.9.2
exit
exit
exit
The show router igmp group provides the configured <S,G> entry and outgoing interface ‟int-PE-7-MC-client1”.
*A:PE-7# show router igmp group 227.1.1.1
===============================================================================
IGMP Interface Groups
===============================================================================
(192.168.9.2,227.1.1.1) UpTime: 0d 00:09:02
Fwd List : int-PE-7-MC-client1
-------------------------------------------------------------------------------
Entries : 1
===============================================================================
IGMP Host Groups
===============================================================================
No Matching Entries
===============================================================================
IGMP SAP Groups
===============================================================================
No Matching Entries
===============================================================================
*A:PE-7#
Now, users can verify if multicast traffic is sent to the multicast client using the show router pim group group-address detail command
*A:PE-7# show router pim group 227.1.1.1 detail
===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address : 227.1.1.1
Source Address : 192.168.9.2
RP Address : 0
Advt Router :
Flags : Type : (S,G)
Mode : sparse
MRIB Next Hop :
MRIB Src Flags : remote
Keepalive Timer : Not Running
Up Time : 0d 00:01:39 Resolved By : unresolved
Up JP State : Joined Up JP Expiry : 0d 00:00:21
Up JP Rpt : Not Joined StarG Up JP Rpt Override : 0d 00:00:00
Register State : No Info
Reg From Anycast RP: No
Rpf Neighbor :
Incoming Intf : mpls-if-73728
Outgoing Intf List : int-PE-7-MC-client1
Curr Fwding Rate : 8352.8 kbps
Forwarded Packets : 226349 Discarded Packets : 0
Forwarded Octets : 10412054 RPF Mismatches : 0
Spt threshold : 0 kbps ECMP opt threshold : 7
Admin bandwidth : 1 kbps
-------------------------------------------------------------------------------
Groups : 1
===============================================================================
*A:PE-7#
OAM Tools
P2P LSP Operation, Administration, and Maintenance (OAM) commands (oam lsp-ping and oam lsp-trace) are extended for P2MP LSP. The user can instruct the head-end node to generate an P2MP LSP ping or a P2MP LSP trace by entering the command oam p2mp-lsp-ping or oam p2mp-lsp-trace. The P2MP OAM extensions are defined in draft-ietf-mpls-p2mp-lsp-ping.
For P2MP LSP ping, the echo request is sent on the active P2MP instance and replicated in the data path over all branches of the P2MP LSP instance. By default, all egress LER nodes which are leaves of the P2MP LSP instance will reply. Echo reply messages can be reduced by configuring the s2l-dest-address (a maximum of up to five egress nodes in a single run of the OAM command). Replies are sent by IP.
*A:PE-1# oam p2mp-lsp-ping
- p2mp-lsp-ping {<lsp-name> [p2mp-instance <instance-name> [s2l-dest-address
<ipv4- address> [... up to 5]]] [ttl <label-ttl>]}
- p2mp-lsp-ping {ldp <p2mp-identifier> [vpn-recursive-fec] [sender-addr
<ipv4-address>] [leaf-addr <ipv4-address> [... up to 5]]}
- p2mp-lsp-ping {ldp-ssm source <ip-address> group <ip-address> [router
<router-instance>|service-name <service-name>][sender-addr
<ipv4-address>] [leaf-addr <ipv4-address> [... up to 5]]}
- options common to all p2mp-lsp-ping cases: [fc <fc-name> [profile {in|out}]]
[size <octets>][timeout <timeout>] [detail]
<lsp-name> : [64 chars max]
<instance-name> : [32 chars max]
<ipv4-address> : a.b.c.d
<in|out> : in|out - Default: out
<fc-name> : be|l2|af|l1|h2|ef|h1|nc - Default: be
<octets> : [1..9198] - Default: 1
<label-ttl> : [1..255] - Default: 255
<timeout> : [1..120] seconds - Default: 10
<detail> : keyword - displays detailed information
<p2mp-identifier> : [1..4294967295]
<ldp-ssm> : keyword - Label Distribution Protocol, Source-Specific Multicast
<ip-address> : ipv4-address - a.b.c.d
ipv6-address - x:x:x:x:x:x:x:x (eight 16-bit pieces)
x:x:x:x:x:x:d.d.d.d
x - [0..FFFF]H
d - [0..255]D
<router-instance> : <router-name>|<vprn-svc-id>
router-name - "Base" Default - Base
vprn-svc-id - [1..2147483647]
<service-name> : [64 chars max]
<vpn-recursive-fec> : keyword - add a VPN Recursive FEC element to the launched
packet (useful for pinging a VPN BGP inter-AS Option B leaf)
*A:PE-1# oam p2mp-lsp-ping "LSP-p2mp-1" detail
P2MP LSP LSP-p2mp-1: 92 bytes MPLS payload
===============================================================================
S2L Information
===============================================================================
From RTT Return Code
-------------------------------------------------------------------------------
192.0.2.6 =1.12ms EgressRtr(3)
192.0.2.7 =1.13ms EgressRtr(3)
===============================================================================
Total S2L configured/up/responded = 2/2/2,
round-trip min/avg/max = 1.12 / 1.12 / 1.13 ms
Responses based on return code:
EgressRtr(3)=2
*A:PE-1#
Return codes are based on RFC 4379. Value 3 means the replying router is an egress for the FEC at stack depth.
P2MP LSP trace allows the user to trace the path of a single S2L path of a P2MP LSP from head-end node to leaf node. Using the downstream mapping TLV, each node along the S2L path can fill in the appropriate flags: B or E flag. The B-flag is set when the responding node is a branch LSR and the E-flag is set when the responding node is an egress LER.
*A:PE-1# oam p2mp-lsp-trace
- p2mp-lsp-trace <lsp-name> p2mp-instance <instance-name> s2l-dest-address
<ip-address> [fc <fc-name> [profile {in|out}]] [size <octets>] [max-fail
<no-response-count>] [probe-count <probes-per-hop>] [min-ttl <min-label-ttl>]
[max-ttl <max-label-ttl>] [timeout <timeout>] [interval <interval>] [detail]
<lsp-name> : [64 chars max]
<instance-name> : [32 chars max]
<ip-address> : ipv4 address a.b.c.d
<fc-name> : be|l2|af|l1|h2|ef|h1|nc - Default: be
<in|out> : in|out - Default: out
<octets> : [1..9198] - Default: 1
<no-response-count> : [1..10] - Default: 5
<probes-per-hop> : [1..10] - Default: 1
<min-label-ttl> : [1..255] - Default: 1
<max-label-ttl> : [1..255] - Default: 30
<timeout> : [1..60] seconds - Default: 3
<detail> : keyword - displays detailed information
<interval> : [1..10] seconds - Default: 1
*A:PE-1# oam p2mp-lsp-trace "LSP-p2mp-1" p2mp-instance "p-LSP-p2mp-1" s2l-dest-address 192.0.2.7 detail
P2MP LSP LSP-p2mp-1: 132 bytes MPLS payload
P2MP Instance p-LSP-p2mp-1, S2L Egress 192.0.2.7
1 192.0.2.3 rtt=0.435 ms rc=8(DSRtrMatchLabel)
DS 1: ipaddr=192.168.35.2 ifaddr=192.168.35.2 iftype=ipv4Numbered MRU=1564
label=524287 proto=4(RSVP-TE) B/E flags:0/0
2 192.0.2.5 rtt=0.838 ms rc=8(DSRtrMatchLabel)
DS 1: ipaddr=192.168.57.2 ifaddr=192.168.57.2 iftype=ipv4Numbered MRU=1564
label=524287 proto=4(RSVP-TE) B/E flags:0/0
3 192.0.2.7 rtt=1.77 ms rc=3(EgressRtr)
*A:PE-1#
Return codes are based on RFC 4279. Value 8 means that the label is switched at stack depth. This is the case for a transit LSR doing MPLS label swapping. No B or E flag is set.
Additional Topics
<*,G> IGMP join instead of <S,G> IGMP join
In the Head-end Node (Ingress LER) PE-1 and Leaf Node (Egress LER) steps, a source specific IGMP join (<S,G> join) was used at the head-end node and leaf nodes. Another possibility is to use a source unknown or starg IGMP join (<*,G> join). When doing the latter, a rendezvous point (RP) must be defined in the PIM network. The RP allows multicast data flows between sources and receivers to meet at a predefined network location (in this example, the loopback address of node PE-1). It must be seen as an intermediate device to establish a multicast flow.
The RP can be defined in a dynamic way (BSR protocol) or a static way. In this example, the static way is chosen meaning that on all involved PIM nodes, the RP address will be statically configured. The following configuration is needed on head-end and leaf nodes.
*A:PE-1/PE-6/PE-7# configure
router
pim
rp
static
address 192.0.2.1
group-prefix 227.1.1.1/32
exit
exit
The group-prefix is a mandatory keyword. It references a group address or group address range for which this rendezvous point will be used.
*A:PE-1/PE-6/PE-7# show router pim rp
===============================================================================
PIM RP Set ipv4
===============================================================================
Group Address Hold Expiry
RP Address Type Prio Time Time
-------------------------------------------------------------------------------
227.1.1.1/32
192.0.2.1 Static 1 N/A N/A
-------------------------------------------------------------------------------
Group Prefixes : 1
===============================================================================
*A:PE-1#
As previously mentioned, the configuration of the <*,G> IGMP join is done on the head-end node (PE-1) and leaf nodes (PE-6 and PE-7)
*A:PE-1# configure
router
igmp
tunnel-interface rsvp-p2mp "LSP-p2mp-1"
no shutdown
static
group 227.1.1.1
starg
exit
exit
exit
*A:PE-6# configure
router
igmp
interface "int-PE-6-MC-client2"
static
group 227.1.1.1
starg
exit
exit
exit
*A:PE-7# configure
router
igmp
interface "int-PE-7-MC-client1"
static
group 227.1.1.1
starg
exit
exit
exit
The same preceding show command can be used to verify the multicast traffic on head-end node and leaf nodes, show router igmp group 227.1.1.1 and show router pim group 227.1.1.1 detail.
*A:PE-7# show router igmp group 227.1.1.1
===============================================================================
IGMP Interface Groups
===============================================================================
(*,227.1.1.1) UpTime: 0d 00:06:58
Fwd List : int-PE-7-MC-client1
-------------------------------------------------------------------------------
Entries : 1
===============================================================================
IGMP Host Groups
===============================================================================
No Matching Entries
===============================================================================
IGMP SAP Groups
===============================================================================
No Matching Entries
===============================================================================
*A:PE-7#
*A:PE-7# show router pim group 227.1.1.1 detail
===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address : 227.1.1.1
Source Address : *
RP Address : 192.0.2.1
Advt Router :
Flags : Type : (*,G)
Mode : sparse
MRIB Next Hop :
MRIB Src Flags : remote
Keepalive Timer : Not Running
Up Time : 0d 00:05:34 Resolved By : unresolved
Up JP State : Joined Up JP Expiry : 0d 00:00:25
Up JP Rpt : Not Joined StarG Up JP Rpt Override : 0d 00:00:00
Rpf Neighbor :
Incoming Intf : mpls-if-73728
Outgoing Intf List : int-PE-7-MC-client1
Curr Fwding Rate : 0.0 kbps
Forwarded Packets : 31 Discarded Packets : 0
Forwarded Octets : 1426 RPF Mismatches : 0
Spt threshold : 0 kbps ECMP opt threshold : 7
Admin bandwidth : 1 kbps
===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address : 227.1.1.1
Source Address : 192.168.9.2
RP Address : 192.0.2.1
Advt Router :
Flags : spt Type : (S,G)
Mode : sparse
MRIB Next Hop :
MRIB Src Flags : remote
Keepalive Timer Exp: 0d 00:01:27
Up Time : 0d 00:05:34 Resolved By : unresolved
Up JP State : Joined Up JP Expiry : 0d 00:00:25
Up JP Rpt : Not Pruned Up JP Rpt Override : 0d 00:00:00
Register State : No Info
Reg From Anycast RP: No
Rpf Neighbor :
Incoming Intf : mpls-if-73728
Outgoing Intf List : int-PE-7-MC-client1
Curr Fwding Rate : 8352.8 kbps
Forwarded Packets : 3539800 Discarded Packets : 0
Forwarded Octets : 162830800 RPF Mismatches : 0
Spt threshold : 0 kbps ECMP opt threshold : 7
Admin bandwidth : 1 kbps
-------------------------------------------------------------------------------
Groups : 2
===============================================================================
*A:PE-7#
Influence IGP Metric
Suppose that the IGP metric is increased on all links pointing to/from PE-2 and on the link between PE-5 and PE-7.
*A:PE-1# configure router ospf area 0 interface "int-PE-1-PE-2" metric 10000
*A:PE-2# configure router ospf area 0 interface "int-PE-2-PE-1" metric 10000
*A:PE-2# configure router ospf area 0 interface "int-PE-2-PE-3" metric 10000
*A:PE-2# configure router ospf area 0 interface "int-PE-2-PE-4" metric 10000
*A:PE-3# configure router ospf area 0 interface "int-PE-3-PE-2" metric 10000
*A:PE-4# configure router ospf area 0 interface "int-PE-4-PE-2" metric 10000
*A:PE-5# configure router ospf area 0 interface "int-PE-5-PE-7" metric 10000
*A:PE-7# configure router ospf area 0 interface "int-PE-7-PE-5" metric 10000
The existing P2MP LSP LSP-p2mp-1 will not take into account these new constraints. The two S2L paths (one loose toward PE-6 and another one loose toward PE-7) are calculated using the default OSPF metric. To trigger MPLS to re-compute the S2L paths, configure a p2mp-resignal-timer on the head-end node inside the global mpls context. Each time this timer expires (in the example, every 60 minutes), MPLS will trigger CSPF to re-compute the whole set of S2L paths of all active P2MP instances. MPLS performs a global Make-Before-Break (MBB) and moves each S2L sub-LSP in the instance into its new path using a new P2MP LSP ID if the global MBB is successful. show router mpls status gives an indication when the P2MP resignal timer will expire and which types of LSPs are set up on the node.
*A:PE-1# configure router mpls p2mp-resignal-timer 60
*A:PE-1# show router mpls status
===============================================================================
MPLS Status
===============================================================================
Admin Status : Up Oper Status : Up
Oper Down Reason : n/a
FRR Object : Enabled Resignal Timer : Disabled
Hold Timer : 1 seconds Next Resignal : N/A
Srlg Frr : Disabled Srlg Frr Strict : Disabled
Admin Group Frr : Disabled
Dynamic Bypass : Enabled User Srlg Database : Disabled
BypassResignalTimer : Disabled BypassNextResignal : N/A
LeastFill Min Thd : 5 percent LeastFill Reopti Thd : 10 percent
Local TTL Prop : Enabled Transit TTL Prop : Enabled
AB Sample Multiplier : 1 AB Adjust Multiplier : 288
Exp Backoff Retry : Disabled CSPF On Loose Hop : Disabled
Lsp Init RetryTimeout : 30 seconds MBB Pref Current Hops : Disabled
Logger Event Bundling : Disabled
RetryIgpOverload : Disabled
P2mp Resignal Timer : 60 minutes P2mp Next Resignal : 41 minutes
Sec FastRetryTimer : Disabled Static LSP FR Timer : 30 seconds
P2P Max Bypass Association: 1000
P2PActPathFastRetry : Disabled P2MP S2L Fast Retry : Disabled
In Maintenance Mode : No
MplsTp : Disabled
Next Available Lsp Index : 2
Entropy Label RSVP-TE : Enabled Entropy Label SR-TE : Enabled
PCE Report RSVP-TE : Disabled PCE Report SR-TE : Disabled
---snip---
===============================================================================
As an alternative, the user can also perform a manual resignal of a P2MP instance on the head-end node using the following tools command.
*A:PE-1# tools perform router mpls resignal p2mp-lsp "LSP-p2mp-1" p2mp-instance"p-LSP-p2mp-1"
*A:PE-1# tools perform router mpls resignal p2mp-delay 0
P2MP LSP p-to-mp-1 with Metric Change shows the resignaled S2L paths. Node PE-6 is now a bud LSR node (instead of egress LER before).
The resignaled S2L paths to PE-7 can be verified with the following command:
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-1" p2mp-instance "p-LSP-p2mp-1" s2l loose to 192.0.2.7 detail
===============================================================================
MPLS LSP LSP-p2mp-1 S2L loose (Detail)
===============================================================================
Legend :
@ - Detour Available # - Detour In Use
b - Bandwidth Protected n - Node Protected
S - Strict L - Loose
A - ABR
s - Soft Preemption
===============================================================================
LSP Name : LSP-p2mp-1
S2L LSP ID : 19970
P2MP ID : 0 S2L Grp Id : 1
Admin State : Up Oper State : Up
S2L State: : Active :
S2L Name : loose
To : 192.0.2.7
S2L Admin : Up S2L Oper : Up
OutInterface : 1/1/1 Out Label : 524283
S2L Up Time : 0d 01:02:21 S2L Dn Time : 0d 00:00:00
RetryAttempt : 0 NextRetryIn : 0 sec
S2L Trans : 2 CSPF Queries : 2
Failure Code : noError Failure Node : n/a
Inter-area : False
ExplicitHops :
No Hops Specified
Actual Hops :
192.168.13.1 (192.0.2.1) @ Record Label : N/A
-> 192.168.13.2 (192.0.2.3) @ Record Label : 524283
-> 192.168.35.2 (192.0.2.5) @ Record Label : 524283
-> 192.168.45.1 (192.0.2.4) @ Record Label : 524283
-> 192.168.46.2 (192.0.2.6) @ Record Label : 524284
-> 192.168.67.2 (192.0.2.7) Record Label : 524284
ComputedHops :
192.168.13.1(S)
-> 192.168.13.2(S)
-> 192.168.35.2(S)
-> 192.168.45.1(S)
-> 192.168.46.2(S)
-> 192.168.67.2(S)
LastResignal : n/a
===============================================================================
*A:PE-1#
The resignaled S2L paths to PE-6 can be verified as follows:
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-1" p2mp-instance "p-LSP-p2mp-1" s2l loose to 192.0.2.6 detail
===============================================================================
MPLS LSP LSP-p2mp-1 S2L loose (Detail)
===============================================================================
Legend :
@ - Detour Available # - Detour In Use
b - Bandwidth Protected n - Node Protected
S - Strict L - Loose
A - ABR
s - Soft Preemption
===============================================================================
LSP Name : LSP-p2mp-1
S2L LSP ID : 19970
P2MP ID : 0 S2L Grp Id : 2
Admin State : Up Oper State : Up
S2L State: : Active :
S2L Name : loose
To : 192.0.2.6
S2L Admin : Up S2L Oper : Up
OutInterface : 1/1/1 Out Label : 524283
S2L Up Time : 0d 01:04:48 S2L Dn Time : 0d 00:00:00
RetryAttempt : 0 NextRetryIn : 0 sec
S2L Trans : 2 CSPF Queries : 2
Failure Code : noError Failure Node : n/a
Inter-area : False
ExplicitHops :
No Hops Specified
Actual Hops :
192.168.13.1 (192.0.2.1) @ Record Label : N/A
-> 192.168.13.2 (192.0.2.3) @ Record Label : 524283
-> 192.168.35.2 (192.0.2.5) @ Record Label : 524283
-> 192.168.45.1 (192.0.2.4) @ Record Label : 524283
-> 192.168.46.2 (192.0.2.6) Record Label : 524284
ComputedHops :
192.168.13.1(S)
-> 192.168.13.2(S)
-> 192.168.35.2(S)
-> 192.168.45.1(S)
-> 192.168.46.2(S)
LastResignal : n/a
===============================================================================
*A:PE-1#
An oam p2mp-lsp-trace command toward PE-7 will now set the E flag on PE-6 because PE-6 acts also as an egress LER node.
*A:PE-1# oam p2mp-lsp-trace "LSP-p2mp-1" p2mp-instance "p-LSP-p2mp-1"
s2l-dest-address 192.0.2.7 detail
P2MP LSP LSP-p2mp-1: 132 bytes MPLS payload
P2MP Instance p-LSP-p2mp-1, S2L Egress 192.0.2.7
1 192.0.2.3 rtt=0.395 ms rc=8(DSRtrMatchLabel)
DS 1: ipaddr=192.168.35.2 ifaddr=192.168.35.2 iftype=ipv4Numbered MRU=1564
label=524283 proto=4(RSVP-TE) B/E flags:0/0
2 192.0.2.5 rtt=0.611 ms rc=8(DSRtrMatchLabel)
DS 1: ipaddr=192.168.45.1 ifaddr=192.168.45.1 iftype=ipv4Numbered MRU=1564
label=524283 proto=4(RSVP-TE) B/E flags:0/0
3 192.0.2.4 rtt=0.947 ms rc=8(DSRtrMatchLabel)
DS 1: ipaddr=192.168.46.2 ifaddr=192.168.46.2 iftype=ipv4Numbered MRU=1564
label=524284 proto=4(RSVP-TE) B/E flags:0/0
4 192.0.2.6 rtt=1.26 ms rc=8(DSRtrMatchLabel)
DS 1: ipaddr=192.168.67.2 ifaddr=192.168.67.2 iftype=ipv4Numbered MRU=1564
label=524284 proto=4(RSVP-TE) B/E flags:0/1
5 192.0.2.7 rtt=1.53 ms rc=3(EgressRtr)
*A:PE-1#
In the next step, the S2L path toward PE-7 is changed from loose to a strict direct MPLS path (path-strict-to-PE-7). In that way, OSPF is not calculating anymore the shortest path to the leaf node.
*A:PE-1# configure
router
mpls
path "path-strict-to-PE-7"
hop 10 192.168.13.2 strict
hop 20 192.168.35.2 strict
hop 30 192.168.57.2 strict
no shutdown
exit
Before applying this new S2L path to the existing P2MP LSP (LSP-p2mp-1), the existing S2L path toward PE-7 must be removed.
*A:PE-1# configure
router
mpls
lsp "LSP-p2mp-1"
primary-p2mp-instance "p-LSP-p2mp-1"
s2l-path "loose" to 192.0.2.7 shutdown
no s2l-path "loose" to 192.0.2.7
s2l-path "path-strict-to-PE-7" to 192.0.2.7
exit
exit
As a consequence of this, only the S2L Grp Id has changed while S2L LSP ID remains the same as before. P2MP LSP LSP-p2mp-1 with Strict S2L Path toward PE-7 shows the P2MP LSP LSP-p2mp-1 with strict S2L path to leaf PE-7.
S2L paths can be verified according to P2MP LSP LSP-p2mp-1 with Strict S2L Path toward PE-7. PE-5 is now a branch LSR node (instead of a transit LSR before).
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-1" p2mp-instance "p-LSP-p2mp-1" s2l path-strict-to-PE-7 to 192.0.2.7 detail
===============================================================================
MPLS LSP LSP-p2mp-1 S2L path-strict-to-PE-7 (Detail)
===============================================================================
Legend :
@ - Detour Available # - Detour In Use
b - Bandwidth Protected n - Node Protected
S - Strict L - Loose
A - ABR
s - Soft Preemption
===============================================================================
LSP Name : LSP-p2mp-1
S2l LSP ID : 19970
P2MP ID : 0 S2L Grp Id : 3
Admin State : Up Oper State : Up
S2L State: : Active :
S2L Name : path-strict-to-PE-7
To : 192.0.2.7
S2L Admin : Up S2L Oper : Up
OutInterface : 1/1/1 Out Label : 524283
S2L Up Time : 0d 00:05:26 S2L Dn Time : 0d 00:00:00
RetryAttempt : 0 NextRetryIn : 0 sec
S2L Trans : 1 CSPF Queries : 1
Failure Code : noError Failure Node : n/a
Inter-area : False
ExplicitHops:
192.168.13.2(S) -> 192.168.35.2(S) -> 192.168.57.2(S)
Actual Hops :
192.168.13.1 (192.0.2.1) @ Record Label : N/A
-> 192.168.13.2 (192.0.2.3) @ Record Label : 524283
-> 192.168.35.2 (192.0.2.5) @ Record Label : 524283
-> 192.168.57.2 (192.0.2.7) Record Label : 524287
ComputedHops:
192.168.13.1(S)
-> 192.168.13.2(S)
-> 192.168.35.2(S)
-> 192.168.57.2(S)
LastResignal: n/a
===============================================================================
*A:PE-1#
An oam p2mp-lsp-trace command toward PE-7 will now set the B flag on PE-5 because PE-5 became a branch LSR now.
*A:PE-1# oam p2mp-lsp-trace "LSP-p2mp-1" p2mp-instance "p-LSP-p2mp-1" s2l-dest-address 192.0.2.7 detail
P2MP LSP LSP-p2mp-1: 132 bytes MPLS payload
P2MP Instance p-LSP-p2mp-1, S2L Egress 192.0.2.7
1 192.0.2.3 rtt=0.380 ms rc=8(DSRtrMatchLabel)
DS 1: ipaddr=192.168.35.2 ifaddr=192.168.35.2 iftype=ipv4Numbered MRU=1564
label=524283 proto=4(RSVP-TE) B/E flags:0/0
2 192.0.2.5 rtt=0.724 ms rc=8(DSRtrMatchLabel)
DS 1: ipaddr=192.168.57.2 ifaddr=192.168.57.2 iftype=ipv4Numbered MRU=1564
label=524287 proto=4(RSVP-TE) B/E flags:1/0
3 192.0.2.7 rtt=1.31 ms rc=3(EgressRtr)
Intelligent Re-merge
Intelligent re-merge protects users from receiving duplicate multicast traffic during convergence. It also protects against duplicate traffic in case of badly designed S2L paths. Three cases are described for which intelligent re-merge is implemented.
Case 1
When the paths of two different S2Ls of the same P2MP LSP instance have ingress label maps (ILMs) on different ports but go out on the same Next-Hop label Forwarding Entry (NHLFE).
Intelligent Re-merge, Case 2 shows P2MP LSP LSP-p2mp-2 with two incoming S2L paths at PE-5.
On the head-end node (PE-1), P2MP LSP LSP-p2mp-2 is created with two strict direct MPLS paths (path-strict-to-PE-7 and path-strict-to-PE-6), as follows. Intelligent re-merge is performed at node PE-5.
*A:PE-1# configure
router
mpls
path "path-strict-to-PE-7"
hop 10 192.168.13.2 strict
hop 20 192.168.35.2 strict
hop 30 192.168.57.2 strict
no shutdown
exit
path "path-strict-to-PE-6"
hop 10 192.168.12.2 strict
hop 20 192.168.24.2 strict
hop 30 192.168.45.2 strict
hop 40 192.168.57.2 strict
hop 50 192.168.67.1 strict
no shutdown
exit
lsp "LSP-p2mp-2" p2mp-lsp
primary-p2mp-instance "p-LSP-p2mp-2"
s2l-path "path-strict-to-PE-7" to 192.0.2.7
exit
s2l-path "path-strict-to-PE-6" to 192.0.2.6
exit
exit
no shutdown
exit
no shutdown
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-2" p2mp-instance "p-LSP-p2mp-2"
===============================================================================
MPLS P2MP Instance (Originating)
===============================================================================
-------------------------------------------------------------------------------
Type : Originating
-------------------------------------------------------------------------------
LSP Name : LSP-p2mp-2
P2MP ID : 0 LSP Tunnel ID : 2
Adm State : Up Oper State : Up
P2MPInstance : p-LSP-p2mp-2
P2MP-Inst-type : Primary
P2MP Inst Id : 2 P2MP Lsp Id : 7168
Inst Admin : Up Inst Oper : Up
Inst Up Time : 0d 00:00:03 Inst Dn Time : 0d 00:00:00
Hop Limit : 255 Adaptive : Enabled
Record Route : Record Record Label : Record
Include Grps : Exclude Grps :
None None
Bandwidth : No Reservation Oper Bw : 0 Mbps
S2L-Name : path-strict-to-PE-7
To : 192.0.2.7
S2L Admin : Up S2L Oper : Up
S2L-Name : path-strict-to-PE-6
To : 192.0.2.6
S2L Admin : Up S2L Oper : Up
-------------------------------------------------------------------------------
P2MP instances : 1
===============================================================================
*A:PE-1#
To verify that node PE-5 is not sending duplicate multicast traffic downstream toward PE-7 while it receives two incoming multicast streams, a new tunnel interface and a new static <S,G> IGMP join will be configured on head-end node (PE-1) and leaf nodes (PE-6 and PE-7). Also on the leaf nodes, an extension to the existing multicast information policy is needed. This is configured as follows:
*A:PE-1# configure router pim tunnel-interface rsvp-p2mp "LSP-p2mp-2"
*A:PE-1# configure
router
igmp
tunnel-interface rsvp-p2mp "LSP-p2mp-2"
static
group 227.2.2.2
source 192.168.9.2
exit
exit
exit
*A:PE-6# configure router pim tunnel-interface rsvp-p2mp "LSP-p2mp-2" sender 192.0.2.1
*A:PE-6# configure
router
igmp
interface "int-PE-6-MC-client2"
static
group 227.2.2.2
source 192.168.9.2
exit
exit
exit
*A:PE-6# configure
mcast-management
multicast-info-policy "p2mp-pol" create
bundle "bundle2" create
primary-tunnel-interface rsvp-p2mp "LSP-p2mp-2" sender 192.0.2.1
channel 227.2.2.2 create
exit
exit
exit
*A:PE-7# configure router pim tunnel-interface rsvp-p2mp "LSP-p2mp-2" sender 192.0.2.1
*A:PE-7# configure
router
igmp
interface "int-PE-7-MC-client1"
static
group 227.2.2.2
source 192.168.9.2
exit
exit
exit
*A:PE-7# configure
mcast-management
multicast-info-policy "p2mp-pol" create
bundle "bundle2" create
primary-tunnel-interface rsvp-p2mp "LSP-p2mp-2" sender 192.0.2.1
channel 227.2.2.2 create
exit
exit
exit
For verification of incoming/outgoing multicast traffic at node PE-5, the monitor command is used.
*A:PE-5# monitor port 1/1/1 1/1/2 1/1/3 rate interval 3 repeat 100
===============================================================================
Monitor statistics for Ports
===============================================================================
Input Output
-------------------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 18 sec (Mode: Rate)
-------------------------------------------------------------------------------
Port 1/1/1
-------------------------------------------------------------------------------
Octets 21 1058955
Packets 0 697
Errors 0 0
Bits 168 8471640
Utilization (% of port capacity) ~0.00 0.08
Port 1/1/2
-------------------------------------------------------------------------------
Octets 1059461 50
Packets 697 0
Errors 0 0
Bits 8475688 400
Utilization (% of port capacity) 0.08 ~0.00
Port 1/1/3
-------------------------------------------------------------------------------
Octets 1059021 21
Packets 697 0
Errors 0 0
Bits 8472168 168
Utilization (% of port capacity) 0.08 ~0.00
---snip---
Two incoming multicast streams are seen at PE-5 node (port 1/1/2 and port 1/1/3) and only one outgoing multicast stream (port 1/1/1) is sent. No traffic duplication is seen.
Case 2
Intelligent Re-merge, Case 2 shows two paths of the same S2L that have ILMs on different incoming ports and go out on the same NHLFE. This is the case when we perform make-before-break (MBB) on an S2L path due to graceful shutdown or global revertive. This is only a temporary situation because the original path will be torn down.
For this test, only one multicast client will be looked at (the one connected to leaf node PE-7). On nodes PE-4 and PE-7, the port to PE-6 will be shut down to isolate PE-6. On the head-end node PE-1, a new P2MP LSP LSP-p2mp-3 will be created with one loose MPLS path ‟loose” and keyword cspf use-te-metric to ensure that CSPF will use the TE metric instead of the IGP metric. In this case, the TE metric has the same value on all MPLS interfaces and the path has the hops PE-1, PE-3, PE-5, and PE-7. Also in this case, intelligent re-merge is performed at node PE-5.
*A:PE-1# configure
router
mpls
path "loose"
no shutdown
exit
lsp "LSP-p2mp-3" p2mp-lsp
cspf use-te-metric
primary-p2mp-instance "p-LSP-p2mp-3"
s2l-path "loose" to 192.0.2.7
exit
exit
no shutdown
exit
no shutdown
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-3" p2mp-instance "p-LSP-p2mp-3" s2l loose to 192.0.2.7 detail
===============================================================================
MPLS LSP LSP-p2mp-3 S2L loose (Detail)
===============================================================================
Legend :
@ - Detour Available # - Detour In Use
b - Bandwidth Protected n - Node Protected
S - Strict L - Loose
A - ABR
s - Soft Preemption
===============================================================================
LSP Name : LSP-p2mp-3
S2L LSP ID : 55810
P2MP ID : 0 S2L Grp Id : 2
Admin State : Up Oper State : Up
S2L State: : Active :
S2L Name : loose
To : 192.0.2.7
S2L Admin : Up S2L Oper : Up
OutInterface : 1/1/2 Out Label : 524284
S2L Up Time : 0d 00:04:56 S2L Dn Time : 0d 00:00:00
RetryAttempt : 0 NextRetryIn : 0 sec
S2L Trans : 2 CSPF Queries : 2
Failure Code : noError Failure Node : n/a
Inter-area : False
ExplicitHops:
No Hops Specified
Actual Hops :
192.168.13.1 (192.0.2.1) Record Label : N/A
-> 192.168.13.2 (192.0.2.3) Record Label : 524284
-> 192.168.35.2 (192.0.2.5) Record Label : 524281
-> 192.168.57.2 (192.0.2.7) Record Label : 524283
ComputedHops :
192.168.13.1(S)
-> 192.168.13.2(S)
-> 192.168.35.2(S)
-> 192.168.57.2(S)
LastResignal: n/a
===============================================================================
*A:PE-1#
In a normal situation, the P2MP LSP would follow the nodes PE-1, PE-3, PE-5, and PE-7. This can be verified with multicast traffic. Therefore, a new tunnel interface and a new static <S,G> IGMP join will be configured on head-end node PE-1 and leaf node PE-7. On the leaf node, an extension to the existing multicast information policy is needed. This is configured as follows:
*A:PE-1# configure router pim tunnel-interface rsvp-p2mp "LSP-p2mp-3
*A:PE-1# configure router igmp
tunnel-interface rsvp-p2mp "LSP-p2mp-3"
static
group 227.3.3.3
source 192.168.9.2
exit
exit
exit
*A:PE-7# configure router pim tunnel-interface rsvp-p2mp "LSP-p2mp-3" sender 192.0.2.1
*A:PE-7# configure router igmp
interface "int-PE-7-MC-client1"
static
group 227.3.3.3
source 192.168.9.2
exit
exit
exit
*A:PE-7# configure mcast-management
multicast-info-policy "p2mp-pol" create
bundle "bundle3" create
primary-tunnel-interface rsvp-p2mp LSP-p2mp-3 sender 192.0.2.1
channel 227.3.3.3 create
exit
exit
exit
The traffic on PE-5 is monitored. Under normal circumstances, the ingress port is 1/1/2 and the egress port is 1/1/1.
*A:PE-5# monitor port 1/1/1 1/1/2 1/1/3 rate interval 3 repeat 999
===============================================================================
Monitor statistics for Ports
===============================================================================
Input Output
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 21 sec (Mode: Rate)
-------------------------------------------------------------------------------
Port 1/1/1
-------------------------------------------------------------------------------
Octets 21 1059461
Packets 0 697
Errors 0 0
Bits 168 8475688
Utilization (% of port capacity) ~0.00 0.08
Port 1/1/2
-------------------------------------------------------------------------------
Octets 1059042 21
Packets 697 0
Errors 0 0
Bits 8472336 168
Utilization (% of port capacity) 0.08 ~0.00
Port 1/1/3
-------------------------------------------------------------------------------
Octets 50 21
Packets 0 0
Errors 0 0
Bits 400 168
Utilization (% of port capacity) ~0.00 ~0.00
-------------------------------------------------------------------------------
An RSVP graceful shutdown is performed on node PE-3, as follows:
*A:PE-3# configure router rsvp graceful-shutdown
Global revertive is triggered on head-end node PE-1. A new MPLS path will be calculated (see the dashed line in Intelligent Re-merge, Case 2). For a few seconds or even less than a second, the old path and new path are active (two incoming multicast streams on node PE-5). Node PE-5 is doing intelligent re-merge, not sending duplicate multicast traffic downstream toward PE-7:
*A:PE-5# monitor port 1/1/1 1/1/2 1/1/3 rate interval 3 repeat 100
===============================================================================
Monitor statistics for Ports
===============================================================================
Input Output
-------------------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 30 sec (Mode: Rate)
-------------------------------------------------------------------------------
Port 1/1/1
-------------------------------------------------------------------------------
Octets 82 1059685
Packets 1 698
Errors 0 0
Bits 656 8477480
Utilization (% of port capacity) ~0.00 0.08
Port 1/1/2
-------------------------------------------------------------------------------
Octets 1059711 21
Packets 699 0
Errors 0 0
Bits 8477688 168
Utilization (% of port capacity) 0.08 ~0.00
Port 1/1/3
-------------------------------------------------------------------------------
Octets 259534 283
Packets 172 2
Errors 0 0
Bits 2076272 2264
Utilization (% of port capacity) 0.02 ~0.00
===============================================================================
The granularity of the monitoring command is 3 seconds. The graceful shutdown takes less than 3 seconds. However, we can clearly see that the number of outgoing packets on port 1/1/1 equals the number of incoming packets on port 1/1/2. A number of these incoming packets also arrived on port 1/1/3, but no duplicate packets were sent on the outgoing port. No traffic duplication is seen.
Case 3
When a bypass is active on the S2L path and the new global revertive path of the same S2L arrives on the same incoming interface as the original path (interface flapped) at the FRR merge point node, the node will do intelligent re-merge. The implementation recognizes this specific case and will signal a different label from the original S2L path coming on that same interface.
Intelligent Re-merge, Case 3 shows the initial S2L path before the link failure (solid line), the bypass path to protect the link between PE-3 and PE-5, and the new global revertive path of the S2L (dotted line). Both the bypass path and the global revertive path share the links between PE-2 and PE-4 and between PE-4 and PE-5.
For this test, all the non-default OSPF metrics are removed from the interfaces. Only one MC-client will be looked at (the one connected to leaf node PE-7). On nodes PE-4 and PE-7, the port toward PE-6 will be shut down to isolate PE-6. On the head-end node PE-1, a new P2MP LSP ‟LSP-p2mp-4” will be created with one loose MPLS path ‟loose” and FRR enabled. Also in this case, intelligent re-merge is performed at node PE-5.
*A:PE-1# configure
router
mpls
path "loose"
no shutdown
exit
lsp "LSP-p2mp-4" p2mp-lsp
cspf
fast-reroute facility
no node-protect
exit
primary-p2mp-instance "p-LSP-p2mp-4"
s2l-path "loose" to 192.0.2.7
exit
exit
no shutdown
exit
no shutdown
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-4" p2mp-instance "p-LSP-p2mp-4" s2l loose to 192.0.2.7 detail
===============================================================================
MPLS LSP LSP-p2mp-4 S2L loose (Detail)
===============================================================================
Legend :
@ - Detour Available # - Detour In Use
b - Bandwidth Protected n - Node Protected
S - Strict L - Loose
A - ABR
s - Soft Preemption
===============================================================================
LSP Name : LSP-p2mp-4
S2L LSP ID : 54784
P2MP ID : 0 S2L Grp Id : 1
Admin State : Up Oper State : Up
S2L State: : Active :
S2L Name : loose
To : 192.0.2.7
S2L Admin : Up S2L Oper : Up
OutInterface : 1/1/1 Out Label : 524283
S2L Up Time : 0d 00:01:00 S2L Dn Time : 0d 00:00:00
RetryAttempt : 0 NextRetryIn : 0 sec
S2L Trans : 1 CSPF Queries : 1
Failure Code : noError Failure Node : n/a
Inter-area : False
ExplicitHops :
No Hops Specified
Actual Hops :
192.168.13.1 (192.0.2.1) @ Record Label : N/A
-> 192.168.13.2 (192.0.2.3) @ Record Label : 524283
-> 192.168.35.2 (192.0.2.5) Record Label : 524285
-> 192.168.57.2 (192.0.2.7) Record Label : 524287
ComputedHops :
192.168.13.1(S)
-> 192.168.13.2(S)
-> 192.168.35.2(S)
-> 192.168.57.2(S)
LastResignal : n/a
===============================================================================
*A:PE-1#
In the normal situation, the P2MP LSP follows the nodes PE-1, PE-3, PE-5, and PE-7. This can be verified with multicast traffic. Therefore, a new tunnel interface and a new static <S,G> IGMP join will be configured on head-end node PE-1 and leaf node PE-7. On the leaf node, an extension to the existing multicast information policy is needed. This is configured as follows:
*A:PE-1# configure router pim tunnel-interface rsvp-p2mp "LSP-p2mp-4"
*A:PE-1# configure router igmp
tunnel-interface rsvp-p2mp LSP-p2mp-4
static
group 227.4.4.4
source 192.168.9.2
exit
exit
exit
*A:PE-7# configure router pim tunnel-interface rsvp-p2mp "LSP-p2mp-4" sender 192.0.2.1
*A:PE-7# configure router igmp
interface "int-PE-7-MC-client1"
static
group 227.4.4.4
source 192.168.9.2
exit
exit
exit
*A:PE-7# configure mcast-management
multicast-info-policy "p2mp-pol" create
bundle "bundle4" create
primary-tunnel-interface rsvp-p2mp LSP-p2mp-4 sender 192.0.2.1
channel 227.4.4.4 create
exit
exit
exit
When the initial path is taken, the incoming traffic arrives at port 1/1/2 on PE-5 and is forwarded to port 1/1/1 to PE-7, as follows.
*A:PE-5# monitor port 1/1/1 1/1/2 1/1/3 rate interval 3 repeat 999
===============================================================================
Monitor statistics for Ports
===============================================================================
Input Output
-------------------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
At time t = 3 sec (Mode: Rate)
-------------------------------------------------------------------------------
Port 1/1/1
-------------------------------------------------------------------------------
Octets 67 1056556
Packets 1 696
Errors 0 0
Bits 536 8452448
Utilization (% of port capacity) ~0.00 0.08
Port 1/1/2
-------------------------------------------------------------------------------
Octets 1056421 219
Packets 695 1
Errors 0 0
Bits 8451368 1752
Utilization (% of port capacity) 0.08 ~0.00
Port 1/1/3
-------------------------------------------------------------------------------
Octets 185 67
Packets 1 1
Errors 0 0
Bits 1480 536
Utilization (% of port capacity) ~0.00 ~0.00
Now a link failure on the interface from PE-3 to PE-5 is emulated as follows:
*A:PE-3# configure port 1/1/1 shutdown
As a consequence of this, traffic will be flowing over the bypass link (see Intelligent Re-merge, Case 3 and note the ‛#’ symbol in the following show command, as well as the failure code).
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-4" p2mp-instance "p-LSP-p2mp-4" s2l loose to 192.0.2.7 detail
===============================================================================
MPLS LSP LSP-p2mp-4 S2L loose (Detail)
===============================================================================
Legend :
@ - Detour Available # - Detour In Use
b - Bandwidth Protected n - Node Protected
S - Strict L - Loose
A - ABR
s - Soft Preemption
===============================================================================
LSP Name : LSP-p2mp-4
S2L LSP ID : 54784
P2MP ID : 0 S2L Grp Id : 1
Admin State : Up Oper State : Up
S2L State: : Active :
S2L Name : loose
To : 192.0.2.7
S2L Admin : Up S2L Oper : Up
OutInterface : 1/1/1 Out Label : 524283
S2L Up Time : 0d 00:17:13 S2L Dn Time : 0d 00:00:00
RetryAttempt : 0 NextRetryIn : 0 sec
S2L Trans : 1 CSPF Queries : 1
Failure Code : tunnelLocallyRepaire Failure Node : 192.0.2.3
d
Inter-area : False
ExplicitHops :
No Hops Specified
Actual Hops :
192.168.13.1 (192.0.2.1) @ Record Label : N/A
-> 192.168.13.2 (192.0.2.3) @ # Record Label : 524283
-> 192.168.35.2 (192.0.2.5) Record Label : 524285
-> 192.168.57.2 (192.0.2.7) Record Label : 524287
ComputedHops :
192.168.13.1(S)
-> 192.168.13.2(S)
-> 192.168.35.2(S)
-> 192.168.57.2(S)
LastResignal : n/a
In Prog MBB :
MBB Type : GlobalRevert NextRetryIn : 9 sec
Started At : 09/10/2018 13:08:10 RetryAttempt : 0
FailureCode : noError Failure Node : n/a
===============================================================================
*A:PE-1#
In the meantime, PE-3 will trigger a global revertive action (sending PathErr message) toward the head-end node PE-1.
*A:PE-1# show router mpls p2mp-lsp "LSP-p2mp-4" p2mp-instance "p-LSP-p2mp-4" s2l loose to 192.0.2.7 detail
===============================================================================
MPLS LSP LSP-p2mp-4 S2L loose (Detail)
===============================================================================
Legend :
@ - Detour Available # - Detour In Use
b - Bandwidth Protected n - Node Protected
S - Strict L - Loose
A - ABR
s - Soft Preemption
===============================================================================
LSP Name : LSP-p2mp-4
S2L LSP ID : 54784
P2MP ID : 0 S2L Grp Id : 2
Admin State : Up Oper State : Up
S2L State: : Active :
S2L Name : loose
To : 192.0.2.7
S2L Admin : Up S2L Oper : Up
OutInterface : 1/1/2 Out Label : 524283
S2L Up Time : 0d 00:17:33 S2L Dn Time : 0d 00:00:00
RetryAttempt : 0 NextRetryIn : 0 sec
S2L Trans : 2 CSPF Queries : 2
Failure Code : noError Failure Node : n/a
Inter-area : False
ExplicitHops :
No Hops Specified
Actual Hops :
192.168.12.1 (192.0.2.1) @ Record Label : N/A
-> 192.168.12.2 (192.0.2.2) Record Label : 524283
-> 192.168.24.2 (192.0.2.4) Record Label : 524284
-> 192.168.45.2 (192.0.2.5) Record Label : 524283
-> 192.168.57.2 (192.0.2.7) Record Label : 524287
ComputedHops :
192.168.12.1(S)
-> 192.168.12.2(S)
-> 192.168.24.2(S)
-> 192.168.45.2(S)
-> 192.168.57.2(S)
LastResignal : n/a
Last MBB :
MBB Type : GlobalRevert MBB State : Success
Ended At : 09/10/2018 13:08:4
===============================================================================
*A:PE-1#
For a short time, PE-5 will receive two incoming MC streams (both arriving on port 1/1/3). One from the bypass path (PE-3 => PE-2 => PE-4 => PE-5) and one from the new MPLS path (PE-1 => PE-2 => PE-4 => PE-5 => PE-7). Port 1/1/1 on PE-5 performs intelligent remerge, so only one MC stream is sent downstream toward leaf node PE-7.
Conclusion
From a configuration point of view, a P2MP LSP is only configured on the head-end node of that P2MP LSP; no explicit configuration is needed on the transit LSRs, branch LSRs, bud LSRs, and egress LERs/leaf nodes.
Because the PIM protocol is only needed on the head-end node and the leaf nodes, we can work in a PIM-free core network. Although convergence is not covered in this chapter, failures in the core will be resolved by MPLS (in case of FRR, traffic loss for less than 50ms is expected). This is a major improvement compared to PIM convergence.