IS-IS Procedures

The base LFA, remote LFA, and TI-LFA features operate on SRv6 tunnel the same way as with SR-MPLS tunnels.

The user must configure the loopfree-alternates command in the IS-IS instance to enable the base LFA and the remote-lfa or ti-lfa commands to enable remote LFA and/or TI-LFA.

If SR-MPLS is enabled on this IS-IS instance (no shutdown of the router isis segment-routing context), the TI-LFA algorithm makes use of the value of parameter max-sr-frr-labels for limiting the SID list in the backup path computation of both SR-ISIS and SRv6-ISIS tunnels. The resulting backup path is programmed for the SR-ISIS tunnel. If after compressing it, the resulting SID list has more than 1 SID, the backup path is not programmed for the SRv6-ISIS tunnel.

If SR-MPLS is disabled, the TI-LFA algorithm uses a SID list value of 1 in the backup path computation of the SRv6-ISIS tunnel.

The following is a description of the SRv6-ISIS tunnel backup path computation. A compression of the SIDs is applied to minimize the SID list of the computed backup path.

When two or more End.X SIDs of the same SRH processing type exist, IS-IS prefers the SID with protection enabled and selects the SID with lowest function value from the protected or unprotected SID subset.

  1. Backup path of a remote locator

    1. TI-LFA:

      IS-IS adds the End.X SID of the P-Q set adjacency to the repair tunnel. The datapath encodes this SID into the DA field of the outer IPv6 header and moves the received value in the DA field into the LFA SRH. The protected locator prefix backup next hop in the RTM points to the tunnel ID of the locator prefix of the P-Q set adjacency.

    2. Base LFA:

      If an alternate equal-cost parallel link exists to the LFA neighbor, IS-IS programs it as a regular IP next hop of the protected locator.

      If the alternate parallel link to the LFA neighbor is not equal-cost, IS-IS programs a null SID repair tunnel. The datapath does not push an LFA SRH in this case. The protected locator prefix backup next hop in the RTM points to the tunnel ID of the local adjacency over the outgoing link to the LFA neighbor.

    3. Remote LFA:

      IS-IS adds the End SID of the PQ node to the repair tunnel. The datapath encodes this SID into the DA field of the outer IPv6 header and moves the received value of the DA field into the LFA SRH. The protected locator prefix backup next hop in the RTM points to the tunnel ID of the locator prefix of the PQ node.

      Note: If P node is a neighbor of the computing node, the SID list is empty and the backup next hop of the protected locator prefix in the RTM points to the tunnel ID of the local adjacency over the outgoing link to the LFA neighbor.
  2. Backup path of a local adjacency

    1. TI-LFA

      IS-IS computes the repair tunnel by using the End.X SID of the adjacency between the P and Q nodes, plus an End SID of the neighbor node on the other side of the protected adjacency. This repair tunnel is programmed after compressing the SID list to the adjacency SID of the link between the P node and the neighbor node, only if the Q node is the same as the neighbor node on the other side of the protected adjacency. The datapath encodes that adjacency SID into the DA field of the outer IPv6 header and moves the received value of the DA field into the LFA SRH.

    2. Base LFA

      IS-IS attempts first to program a null SID repair tunnel by using the adjacency of an alternate parallel link to the neighbor on the other side of the protected adjacency. The datapath does not push an LFA SRH in this case. The protected locator prefix backup next hop in the RTM points to the tunnel ID of the local adjacency over the outgoing link to the LFA neighbor.

      If the first option fails, IS-IS programs a repair tunnel by using the End SID of the neighbor on the other side of the protected adjacency. The datapath encodes that End SID of the neighbor into the DA field of the outer IPv6 header and moves the received value of the DA field into the LFA SRH.

    3. Remote LFA

      IS-IS computes the repair tunnel by using the End SID of the PQ node and an End SID of the neighbor node on the other side of the protected adjacency. This repair tunnel is programmed after compressing the SID list to the adjacency SID of the link between the PQ node and the neighbor node, only if the PQ node is one hop from the node on the other side of the protected adjacency. The datapath encodes that adjacency SID into the DA field of the outer IPv6 header and moves the received value of the DA field into the LFA SRH.

Note: IS-IS prefers a PSP over a USP SID when selecting the additional PQ node End SID or the P-Q set adjacency End.X SID to the remote LFA or TI-LFA repair tunnel. In general, if a third-party implementation signals other SRH modes, IS-IS selects the mode in the ascending order of the SRH mode codepoint for the SID. For example, node SIDs have the following order:

When two or more End SIDs of the same SRH processing type exist, IS-IS selects the SID with the lowest function value.