In Junos OS 14.2R4 and 15.1R1, a new LSP path selection was introduced with bandwidth reservation failures. With this new behavior, a change on the path preference of LSP was also made so that the hot standby secondary path is preferred over a non-standby secondary path.
This article explains a change in behavior with the hot standby secondary path with Junos OS 14.2R4.9 and later.
For more information on the new LSP path selection, refer to the MPLS section (page 44) of the 'Changes in Behavior and Syntax' section of the Junos OS 15.1R1 Release Notes .
Let's say label-switched-path LSP1 has three paths configured: primary, hot-standby secondary, and secondary paths, respectively. In a situation where the primary path is down and the current active path is the "secondary path", the "hot-standby secondary path" becomes UP. This path will have high priority and preempt the active path from the previous active "secondary path".
------LSP1-------> MX240 +---------------+ MX480
user@MX240# show protocol mpls | display set set protocols mpls label-switched-path LSP1 from 192.168 .0.1set protocols mpls label-switched-path LSP1 to 192.168.0.2 set protocols mpls label-switched-path LSP1 primary P1 set protocols mpls label-switched-path LSP1 secondary P2 standby set protocols mpls label-switched-path LSP1 secondary P3 set protocols mpls path P1 10.0.0.2 strict set protocols mpls path P2 10.20.0.2 strict set protocols mpls path P3 10.30.0.2 strict
In the scenario above, primary path P1 and hot-standby secondary path P2 are down. Only the secondary path P3 is up and selected as an active path of LSP1.
When the hot standby secondary path P2 becomes up, the behavior depends on the Junos OS version, as explained below.
When the hot standby secondary path P2 comes up, the secondary path P3 remains active, and the LSP1 will not switch the active path to the hot standby secondary path P2.
user@MX240# run show mpls lsp ingress extensive Ingress LSP: 1 sessions 192.168.0.2 From: 192.168.0.1, State: Up, ActiveRoute: 0, LSPname: LSP1 ActivePath: P3 (secondary) LSPtype: Static Configured, Penultimate hop popping LoadBalance: Random Encoding type: Packet, Switching type: Packet, GPID: IPv4 Primary P1 State: Dn Priorities: 7 0 SmartOptimizeTimer: 180 Will be enqueued for recomputation in 15 second(s). 1 May 14 11:53:01.312 CSPF failed: no route toward 10.40.0.2[19 times] Standby P2 State: Up Priorities: 7 0 SmartOptimizeTimer: 180 Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 1) 10.20.0.2 S Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID): 10.20.0.2 5 May 14 11:53:01.341 Record Route: 10.20.0.2 4 May 14 11:53:01.341 Up 3 May 14 11:53:01.312 Originate Call 2 May 14 11:53:01.312 CSPF: computation result accepted 10.20.0.2 1 May 14 11:52:32.087 CSPF failed: no route toward 10.20.0.2[6 times] *Secondary P3 State: Up Priorities: 7 0 SmartOptimizeTimer: 180 Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 1) 10.30.0.2 S Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID): 10.30.0.2 5 May 14 11:45:05.810 Selected as active path 4 May 14 11:45:05.810 Record Route: 10.30.0.2 3 May 14 11:45:05.807 Up 2 May 14 11:45:05.782 Originate Call 1 May 14 11:45:05.780 CSPF: computation result accepted 10.30.0.2 Created: Mon May 14 11:38:48 2018 Total 1 displayed, Up 1, Down 0
When the hot standby secondary path P2 comes up, the LSP1 switches the active path to hot standby secondary path P2. Consequently, secondary path P3 is deselected as active and goes down.
user@MX240# run show mpls lsp ingress extensive Ingress LSP: 1 sessions 192.168.0.2 From: 192.168.0.1, State: Up, ActiveRoute: 0, LSPname: LSP1 ActivePath: P2 (secondary) LSPtype: Static Configured, Penultimate hop popping LoadBalance: Random Encoding type: Packet, Switching type: Packet, GPID: IPv4 Primary P1 State: Dn Priorities: 7 0 SmartOptimizeTimer: 180 Will be enqueued for recomputation in 15 second(s). 1 May 17 06:50:29.527 CSPF failed: no route toward 10.40.0.2[235 times] *Standby P2 State: Up Priorities: 7 0 SmartOptimizeTimer: 180 Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 1) 10.20.0.2 S Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID): 10.20.0.2 26 May 17 06:05:04.834 Selected as active path: due to 'standby' 25 May 17 06:04:03.964 Record Route: 10.20.0.2 24 May 17 06:04:03.964 Up Secondary P3 State: Dn Priorities: 7 0 SmartOptimizeTimer: 180 No computed ERO. 13 May 17 06:05:04.834 Deselected as active: due to 'standby' 12 May 17 06:02:38.283 Selected as active path 11 May 17 06:02:38.281 Record Route: 10.30.0.2 10 May 17 06:02:38.281 Up
This is a behavior change with Junos OS 14.2R4.9 and later. In the previous releases, "hot standby secondary path" does not preempt the "secondary path" in the scenario above.