This article explains that even though the node-protection option can be used to change TI-LFA's default mode to calculate the backup path in a router, it will not work unless the ISIS interface mode is changed to P2P from LAN. This is expected behavior.
node-protection
By default, TI-LFA uses link-protection mode to calculate the backup path. Configuring the " node-protection " option can change this behavior. However, this does not work when the ISIS interface type is LAN.
Topology
-----link 1---- r4 r6 ---- r8 | -----link 2---- | | | link3 | | | r5 --------- r7 ------------ r9
From r4 to r9, there are three paths. Going through link 1 is most preferred due to the smaller metric; the second is via link2; the last is via link 3.
LAN mode with node-protection enabled
set logical-systems r4 protocols isis backup-spf-options use-post-convergence-lfa set logical-systems r4 protocols isis backup-spf-options use-source-packet-routing set logical-systems r4 protocols isis interface ge-0/1/9.0 level 2 post-convergence-lfa node-protection set logical-systems r4 protocols isis interface ge-0/1/9.0 level 2 metric 2000 set logical-systems r4 protocols isis interface ge-0/2/0.0 level 2 post-convergence-lfa node-protection set logical-systems r4 protocols isis interface ge-0/2/0.0 level 2 metric 1100 set logical-systems r4 protocols isis interface ge-0/2/1.0 level 2 post-convergence-lfa node-protection set logical-systems r4 protocols isis interface ge-0/2/1.0 level 2 metric 1000 <<< ge-0/1/9 is to node r5. <<< ge-0/2/0 & ge-0/2/0 are to the same node r6. labroot@jtac-mx480-r2605-re0# run show route 192.168.0.9 detail logical-system r4 table inet.3 inet.3: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden) 192.168.0.9/32 (1 entry, 1 announced) *L-ISIS Preference: 14 Level: 2 Next hop type: Router, Next hop index: 0 Address: 0xb24e490 Next-hop reference count: 1 Next hop: 10.0.0.11 via ge-0/2/1.0 weight 0x1, selected <<< Primary path to r6 Label operation: Push 1409 Label TTL action: prop-ttl Load balance label: Label 1409: None; Label element ptr: 0xb2e9280 Label parent element ptr: 0x0 Label element references: 2 Label element child references: 0 Label element lsp id: 0 Session Id: 0x0 Next hop: 10.0.0.9 via ge-0/2/0.0 weight 0xf000 <<< Backup path is to the same node r6 as primary path even now Label operation: Push 1409 Label TTL action: prop-ttl Load balance label: Label 1409: None; Label element ptr: 0xb2e9280 Label parent element ptr: 0x0 Label element references: 2 Label element child references: 0 Label element lsp id: 0 Session Id: 0x0 State: <Active Int> Local AS: 4788 Age: 14:27 Metric: 3000 Validation State: unverified ORR Generation-ID: 0 Task: IS-IS Announcement bits (2): 0-Resolve tree 1 2-Resolve tree 4 AS path: I
The node-protection option that is configured on a LAN interface does not result in a backup path that avoids the node at the far end of the LAN. This is expected behavior. Changing the ISIS interface mode from LAN to P2P can make node-protection work.
P2P Mode
set logical-systems r4 protocols isis backup-spf-options use-post-convergence-lfa set logical-systems r4 protocols isis backup-spf-options use-source-packet-routing set logical-systems r4 protocols isis interface ge-0/1/9.0 point-to-point set logical-systems r4 protocols isis interface ge-0/1/9.0 level 2 post-convergence-lfa node-protection set logical-systems r4 protocols isis interface ge-0/1/9.0 level 2 metric 2000 set logical-systems r4 protocols isis interface ge-0/2/0.0 point-to-point set logical-systems r4 protocols isis interface ge-0/2/0.0 level 2 post-convergence-lfa node-protection set logical-systems r4 protocols isis interface ge-0/2/0.0 level 2 metric 1100 set logical-systems r4 protocols isis interface ge-0/2/1.0 point-to-point set logical-systems r4 protocols isis interface ge-0/2/1.0 level 2 post-convergence-lfa node-protection set logical-systems r4 protocols isis interface ge-0/2/1.0 level 2 metric 1000 IS neighbor: jtac-mx480-r2605-re0-r1.00 Metric: 1000 Two-way fragment: jtac-mx480-r2605-re0-r1.00-00, Two-way first fragment: jtac-mx480-r2605-re0-r1.00-00 P2P IPv4 Adj-SID: 46, Weight: 0, Flags: -BVL-- P2P IPv6 Adj-SID: 47, Weight: 0, Flags: FBVL-- IS neighbor: jtac-mx480-r2605-re0-r5.00 Metric: 2000 Two-way fragment: jtac-mx480-r2605-re0-r5.00-00, Two-way first fragment: jtac-mx480-r2605-re0-r5.00-00 P2P IPv4 Adj-SID: 44, Weight: 0, Flags: -BVL-- P2P IPv6 Adj-SID: 45, Weight: 0, Flags: FBVL-- IS neighbor: jtac-mx480-r2605-re0-r6.00 Metric: 1000 Two-way fragment: jtac-mx480-r2605-re0-r6.00-00, Two-way first fragment: jtac-mx480-r2605-re0-r6.00-00 P2P IPv4 Adj-SID: 48, Weight: 0, Flags: -BVL-- P2P IPv6 Adj-SID: 49, Weight: 0, Flags: FBVL-- P2P IPv4 Adj-SID: 42, Weight: 0, Flags: -BVL-- P2P IPv6 Adj-SID: 43, Weight: 0, Flags: FBVL-- inet.3: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden) 192.168.0.9/32 (1 entry, 1 announced) *L-ISIS Preference: 14 Level: 2 Next hop type: Router, Next hop index: 0 Address: 0xb24f710 Next-hop reference count: 1 Next hop: 10.0.0.11 via ge-0/2/1.0 weight 0x1, selected <<< Primary is to r6. Label operation: Push 1409 Label TTL action: prop-ttl Load balance label: Label 1409: None; Label element ptr: 0xb2e9280 Label parent element ptr: 0x0 Label element references: 5 Label element child references: 2 Label element lsp id: 0 Session Id: 0x0 Next hop: 10.0.0.7 via ge-0/1/9.0 weight 0xf000 <<< Goes through another node r5 Label operation: Push 1409 Label TTL action: prop-ttl Load balance label: Label 1409: None; Label element ptr: 0xb2e9280 Label parent element ptr: 0x0 Label element references: 5 Label element child references: 2 Label element lsp id: 0 Session Id: 0x0 State: <Active Int> Local AS: 4788 Age: 2:21 Metric: 3000 Validation State: unverified ORR Generation-ID: 0 Task: IS-IS Announcement bits (2): 0-Resolve tree 1 2-Resolve tree 4 AS path: I