On devices that are running Junos OS versions prior to the fix recommended in PR1339916 , when label-switched paths (LSPs) are configured with " no-cspf " and without any strict Explicit Route Object (ERO), the LSP remains down after link flap.
no-cspf
Note: This behavior applies to devices running Junos OS versions prior to Junos OS Release 17.3R3, 17.4R2, 18.1R2 , 18.2R1, 18.3R1.
This article provides a few workarounds that can be implemented in the event that the fix recommended in PR1339916 has not been implemented.
The behavior can easily be reproduced in the lab, for example:
LSP "to-2" is using " no-cspf " and strict ERO is not configured.
@mx# show logical-systems 1 protocols mpls label-switched-path to-2 { to 2.2.2.2; no-cspf; } @mx> show rsvp session logical-system 1 Ingress RSVP: 1 sessions To From State Rt Style Labelin Labelout LSPname 2.2.2.2 1.1.1.1 Up 0 1 FF - 3 to-2 Total 1 displayed, Up 1, Down 0 @mx> show rsvp session logical-system 1 detail Ingress RSVP: 1 sessions 2.2.2.2 From: 1.1.1.1, LSPstate: Up, ActiveRoute: 0 LSPname: to-2, LSPpath: Primary .. PATH sentto: 100.0.12.2 (lt-5/0/10.1) 1 pkts RESV rcvfrom: 100.0.12.2 (lt-5/0/10.1) 1 pkts, Entropy label: Yes Record route: <self> 100.0.12.2 Total 1 displayed, Up 1, Down 0#2
After lt-5/0/10.1 is flapped, LSP "to-2" remains down as shown below.
@mx> start shell user root Password: root@jtac-mx480-r2040-re0:/var/home/labroot # ifconfig lt-5/0/10.1 down root@jtac-mx480-r2040-re0:/var/home/labroot # ifconfig lt-5/0/10.1 up @mx> show mpls lsp logical-system 1 extensive Ingress LSP: 1 sessions 2.2.2.2 From: 0.0.0.0, State: Dn, ActiveRoute: 0, LSPname: to-2 ActivePath: (none) LSPtype: Static Configured, Penultimate hop popping LoadBalance: Random Follow destination IGP metric Encoding type: Packet, Switching type: Packet, GPID: IPv4 LSP Self-ping Status : Enabled Primary State: Dn Priorities: 7 0 SmartOptimizeTimer: 180 Flap Count: 1 MBB Count: 0 17 Aug 18 11:19:41.380 No Route toward dest 16 Aug 18 11:19:41.379 100.0.12.1: No Route toward dest 15 Aug 18 11:19:36.123 Deselected as active 14 Aug 18 11:19:36.122 100.0.12.1: No Route toward dest 13 Aug 18 11:19:36.122 100.0.12.1: Down 12 Aug 18 01:33:00.445 Self-ping ended successfully 11 Aug 18 01:32:59.428 Selected as active path 10 Aug 18 01:32:59.427 Up 9 Aug 18 01:32:59.427 Self-ping started 8 Aug 18 01:32:59.427 Self-ping enqueued 7 Aug 18 01:32:59.427 Record Route: 100.0.12.2(Label=3) 6 Aug 18 01:31:29.396 No Route toward dest[5 times, first Aug 18 01:28:07.393] 5 Aug 18 01:28:07.392 Originate Call 4 Aug 18 01:27:38.943 Bad Source Addr 3 Aug 18 01:27:38.943 Originate Call 2 Aug 18 01:27:38.943 Bad Source Addr 1 Aug 18 01:27:38.943 Originate Call Created: Wed Aug 18 01:27:38 2021 Total 1 displayed, Up 0, Down 1 Egress LSP: 0 sessions Total 0 displayed, Up 0, Down 0 Transit LSP: 0 sessions Total 0 displayed, Up 0, Down 0
LSP "to-2" cannot come up until we manually clear the LSP ( clear mpls lsp ).
@mx> clear mpls lsp name to-2 logical-system 1 @mx> show mpls lsp logical-system 1 extensive Ingress LSP: 1 sessions 2.2.2.2 From: 1.1.1.1, State: Up, ActiveRoute: 0, LSPname: to-2 ActivePath: (primary) LSPtype: Static Configured, Penultimate hop popping LoadBalance: Random Follow destination IGP metric Encoding type: Packet, Switching type: Packet, GPID: IPv4 LSP Self-ping Status : Enabled *Primary State: Up Priorities: 7 0 SmartOptimizeTimer: 180 Flap Count: 2 MBB Count: 0 Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID): 100.0.12.2(Label=3) 33 Aug 18 11:22:14.682 Self-ping ended successfully 32 Aug 18 11:22:14.372 Selected as active path 31 Aug 18 11:22:14.371 Up 30 Aug 18 11:22:14.370 Self-ping started 29 Aug 18 11:22:14.370 Self-ping enqueued 28 Aug 18 11:22:14.370 Record Route: 100.0.12.2(Label=3) 27 Aug 18 11:22:14.368 Originate Call 26 Aug 18 11:22:14.367 Clear Call 25 Aug 18 11:22:14.367 Deselected as active 24 Aug 18 11:20:32.307 Self-ping ended successfully 23 Aug 18 11:20:31.893 Selected as active path 22 Aug 18 11:20:31.892 Up 21 Aug 18 11:20:31.892 Self-ping started 20 Aug 18 11:20:31.892 Self-ping enqueued 19 Aug 18 11:20:31.892 Record Route: 100.0.12.2(Label=3) 18 Aug 18 11:20:31.892 Stats related identifier changed 17 Aug 18 11:19:41.380 No Route toward dest 16 Aug 18 11:19:41.379 100.0.12.1: No Route toward dest 15 Aug 18 11:19:36.123 Deselected as active 14 Aug 18 11:19:36.122 100.0.12.1: No Route toward dest 13 Aug 18 11:19:36.122 100.0.12.1: Down 12 Aug 18 01:33:00.445 Self-ping ended successfully 11 Aug 18 01:32:59.428 Selected as active path 10 Aug 18 01:32:59.427 Up 9 Aug 18 01:32:59.427 Self-ping started 8 Aug 18 01:32:59.427 Self-ping enqueued 7 Aug 18 01:32:59.427 Record Route: 100.0.12.2(Label=3) 6 Aug 18 01:31:29.396 No Route toward dest[5 times, first Aug 18 01:28:07.393] 5 Aug 18 01:28:07.392 Originate Call 4 Aug 18 01:27:38.943 Bad Source Addr 3 Aug 18 01:27:38.943 Originate Call 2 Aug 18 01:27:38.943 Bad Source Addr 1 Aug 18 01:27:38.943 Originate Call Created: Wed Aug 18 01:27:38 2021 Total 1 displayed, Up 1, Down 0 Egress LSP: 0 sessions Total 0 displayed, Up 0, Down 0 Transit LSP: 0 sessions Total 0 displayed, Up 0, Down 0
The behavior is fixed in PR1339916 .
In devices that have not implemented the fix recommended in PR1339916 , you can use any one of the following workarounds to avoid the problem.
To use " cspf " rather than " no-cspf " for LSPs, consider the following:
cspf
label-switched-path to-2 { to 2.2.2.2; << cspf is enabled by default. If the "no-cspf" keyword does not exist, "cspf" is used. }
label-switched-path to-2 { to 2.2.2.2; << cspf is enabled by default. If the "no-cspf" keyword does not exist, "cspf" is used.
}
To use strict ERO for LSPs, use the following:
mpls { label-switched-path to-2 { to 2.2.2.2; no-cspf; primary main; } path main { 100.0.12.2; } }
On devices running Junos OS 16.1 and later, use the following knob:
set protocols rsvp local-reversion