<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.3 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>

<rfc docName="draft-bryant-rtgwg-plfa-00" category="info">

  <front>
    <title abbrev="pLFA">Preferred Path Loop-Free Alternate (pLFA)</title>

    <author initials="S." surname="Bryant" fullname="Stewart Bryant">
      <organization>Futurewei Technologies Inc</organization>
      <address>
        <email>stewart.bryant@gmail.com</email>
      </address>
    </author>
    <author initials="U." surname="Chunduri" fullname="Uma Chunduri">
      <organization>Futurewei Technologies Inc</organization>
      <address>
        <email>uchundur@futurewei.com</email>
      </address>
    </author>
    <author initials="T." surname="Eckert" fullname="Toerless Eckert">
      <organization>Futurewei Technologies Inc</organization>
      <address>
        <email>tte+ietf@cs.fau.de</email>
      </address>
    </author>

    <date year="2019" month="July" day="02"/>

    
    <workgroup>Routing Area Working Group</workgroup>
    

    <abstract>


<t>Fast re-route (FRR) is a technique that allows productive forwarding to
continue in a network after a failure has occurred, but before
the network has has time to re-converge. This is achieved by forwarding
a packet on an alternate path that will not result in the packet looping.
Preferred Path Routing
(PPR) provides a method of injecting explicit paths into the
routing protocol. The use of PPR to support FRR has a number of
advantages. This document describes the advantages of using
PPR to provide a loop-free alternate FRR path, and provides a framework for its use
in this application.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>Preferred Path Routing (PPR) <xref target="I-D.chunduri-lsr-isis-preferred-path-routing"/>
is a method of introducing explicit paths to a network. Such a path
may be any loop-free path  between two points in the network that
satisfies the need for which the path was created. The PPR path is not 
constrained to be the shortest path between any points in the network,
although the use of shortest path segments is provided for in
order to compress the
size of the path description flooded by the routing protocol.
The advantages of PPR over alternate methods of creating such paths is 
described in <xref target="I-D.chunduri-lsr-isis-preferred-path-routing"/>.</t>

<t>A packet is carried over the network in an appropriate form 
using the Preferred Path Routing Identifier (PPR-ID) as the data plane 
identifier to map the packet to the PPR path, and hence the resources 
and next-hop (NH). One way of adding a PPR-ID to a packet would be
to encapsulate it, but PPR does not restrict the user to the use of
encapsulation. How the PPR-ID is carried in the general case is
outside the scope of this document. Various methods of adding the PPR-ID
to a packet for the purposes of Fast-Reroute (FRR) are described in <xref target="DPSEC"/>.</t>

<t>IP Fast Re-route (IPFRR) <xref target="IPFRRNOTE"/>
and the methods known at the time of 
its writing is described in <xref target="RFC5714"/>. A number of later methods are 
described in <xref target="RFC6981"/>, <xref target="RFC7490"/>, <xref target="RFC7812"/> and 
<xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/>.</t>

<t>This document is a framework describing various methods whereby PPR can 
be used to provide IP Fast Reroute (IPFRR) paths. PPR can provide IPFRR
in a number of ways.</t>

<t>o Signaling pre-computed preferred alternatives for the primary path
o Signaling individual segments on the repair path. 
o Selective overriding of locally computed Loop Free Alternates (LFA) for the NH failure.
o Local repair to a Traffic Engineered paths avoiding the need for multi-hop
  Bidirectional Forwarding Detection (BFD) <xref target="RFC5880"/>.
o Micro-loop elimination <xref target="RFC5715"/>.</t>

<t>These are described in more detail within this memo.</t>

<section anchor="IPFRRNOTE" title="A Note on the term IPFRR">

<t>The term IP fast re-route (IPFRR) was adopted by the IETF as the
general name for best-effort Fast Re-route (FRR) in best effort
IP and MPLS networks. This was to distinguish this new work from
the then established FRR as described in <xref target="RFC4090"/> which
uses RSVP Traffic Engineered (RSVP-TE) MPLS paths <xref target="RFC3936"/>.</t>

<t>Within this document the terms IPFRR and FRR are used interchangeably.</t>

</section>
</section>
<section anchor="ppr-overview" title="PPR Overview">

<t>PPR works by injecting into the network a path or a graph and a corresponding 
forwarding identifier (PPR-ID). A node examines each PPR path description and 
if it is on the  path it inserts into the Forwarding Information Database (FIB)
an entry for the PPR-ID with the next hop as either the next entry along the 
PPR path, or if a loose path is specified, the next hop on the shortest path
to the next hop along the PPR path. This is described in 
<xref target="I-D.chunduri-lsr-isis-preferred-path-routing"/>.</t>

<t>PPR also has the ability to inject into a network a tree rooted at
a node identified a PPR-ID. This is described in <xref target="I-D.ce-lsr-ppr-graph"/>.
This graph mechanism provides a compact representation of a set of  paths to a given PPR-ID. 
This works in a similar manner to the linear path case, in which a node on the
graph inserts a FIB entry for the PPR-ID with the next hop as either the 
next node in the graph, or the next hop on the shortest path to the next
node in the graph. Clearly the graph needs to be a spanning tree
and must not contain a cycle.</t>

<t>In the description of the FRR methods provided in the text, the term
encapsulation (and decapsulation) is frequently used in connection with
the addition (and removal) of a PPR-ID to be used by the forwarding
later to identify to the forwarders the PPR path that the packet needs to 
traverse to be follow the repair path. Encapsulation is only one of a number
of methods that can be used and is used in this memo as a convenience
without loss of generality. For more information see <xref target="DPSEC"/>.</t>

</section>
<section anchor="preferred-path-lfa-plfa-deployment-advantages" title="Preferred Path LFA (pLFA) Deployment Advantages">

<t>PPR allows the construction of arbitrary engineered backup paths.
In this respect it is like similar to RSVP-TE and Topology Independent Loop-Free Alternates (TI-LFA)
<xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/>. However, unlike those
approaches PPR is applicable to any forwarding plane. For
example, it is possible to support MPLS, both IPv4 and IPv6 and Ethernet.</t>

<t>Like Segment Routing (SR) <xref target="RFC8402"/>, PPR uses extensions to the existing IGP,
however, unlike SR, PPR requires
no extension to the data plane. Again, unlike SR, which requires
a Segment Identifier (SID) in the network layer header for every non-shortest path
forwarding instruction, an arbitrary
path does not require expansion of the user data packet beyond that needed
for the initial insertion of the PPR-ID. This mitigates the MTU stress
that SR introduces to the network.</t>

<t>PPR based IPFRR supports 100% failure coverage similar to RSVP-TE <xref target="RFC4090"/>, TI-LFA,
Maximally Redundant Trees (MRT) <xref target="RFC7812"/> and Not-Via <xref target="RFC6981"/>. It does not
have the coverage restrictions that apply to Loop-Free Alternate (LFA) <xref target="RFC5286"/> and
Remote LFA (RLFA) <xref target="RFC7490"/>.</t>

<t>Shared Risk Link Groups (SRLGs) make it more difficult find repairs in LFA and RLFA reducing
repair coverage. TI-LFA can address this, but only at a cost of expanding
the number of SIDs and hence the packet size.</t>

<t>Supporting multiple concurrent failures is difficult in all of the
IPRFF approaches except MRT, which can repair two concurrent failures.
However unlike MRT, which is constrained by its network wide algorithm,
PPR allows individual, arbitrary repair paths to instantiated, for any
failure.</t>

<t>In the current TI-LFA design, priority is given to repairing connectivity
rather than conforming to the operator traffic policy. A PPR based FFR
approach can apply policy to the repaired traffic, including, if required
multiple policies to an individual failure.</t>

<t>One of the main advantages of TI-LFA compared to other IPFRR approaches
is that it creates repair paths that are congruent with the post
convergence path from the Point of Local Repair (PLR) <xref target="RFC4090"/> to the destination.
These paths, which may be longer than strictly necessary to reach Q-space
<xref target="I-D.bryant-ipfrr-tunnels"/>, stop micro-loops from forming along the repair path during
re-convergence. PPR can also create these congruent paths without
the need to introduce SR into the network.</t>

<t>One of the limitations in TI-LFA, RLFA and LFA is that they do not have a method
of selectively creating alternative next-hops or indeed full repair
paths based on policy, or traffic engineering information known
to the operator. PPR provides a simple way to inject arbitrary paths. It
may therefore be used to enhance an existing LFA/RLFA/TI-LFA IPFRR enabled
network by selectively injecting paths to provide a repair for
business critical links with a policy in the PLR that where provided
a PPR path should be preferred over a local calculated LFA based paths.</t>

<t>PPR is applicable to both centralized and PLR computed repair paths
each of which has advantages in different circumstances. 
A centrally computed repair path only requires interaction with one network
node which then floods the instruction. This differs from the normal
SDN approach which requires interaction with all of the nodes along the path
and RSVP-TE which requires interaction with at least one end-point of
every repair.</t>

<t>Like TI-LFA, pLFA is based on a small extension to the IGP. It uses
the IGP flooding mechanism and in-built state maintenance and consistency
checks. This contrasts with RSVP-TE which needs its own separate
Signaling and soft-state maintenance method.</t>

<t>The requirement that the pLFA solution addresses is thus the
ability to construct repair paths that conform to operator policy without
data-plane changes or significant MTU increase, and without introducing
any control plane changes other than a small addition to the existing
IGP.</t>

<t>A more detailed technical comparison between pLFA and
the existing solutions is provided in the technical description of
pLFA that follows.</t>

</section>
<section anchor="SIMPLE" title="Simple Repair Using pLFA">

<section anchor="link-repair" title="Link Repair">

<t>In this, the most basic, scenario <xref target="SimpleFRR"/> we assume that we 
have a path A-B-C-D that the packet must traverse. This may 
be a normal best effort path or a traffic engineered path.</t>

<figure title="Simple IPFRR Using pLFA" anchor="SimpleFRR"><artwork><![CDATA[
           c'
A---B--//--C---D
    |      |
    E---F--G
        f'
]]></artwork></figure>

<t>PPR is used to inject the repair path B-&gt;E-&gt;F-&gt;G-&gt;C
into the network with a PPR-ID of c’. B is monitoring
the health of link B-&gt;C, for example looking for loss-of-light, or
using  Bidirectional Forwarding Detection (BFD) <xref target="RFC5880"/>.
When B detects a failure it encapsulates the packet to
C by adding to the packet the PPR-ID for c’ and sending it to E.
At C the packet is decapsulated and sent to D. The path 
C-&gt;E-&gt;F-&gt;G-&gt;C may be a traffic engineered path or it may be a best
effort path. B may have at its disposal multiple paths to
C with different properties for different traffic classes.
In this case each path to be used would require its own PPR-ID (c’, c’’ etc).</t>

<t>In some circumstances, the repair path may be terminated at
another point in Q-space or at a node between C and D.
For example, in <xref target="SimpleFRR"/> if all costs are 1, F is in Q-space with
respect to a B-&gt;C failure (F-&gt;G-&gt;C cost = 2, whilst F-&gt;E-&gt;B-&gt;C cost = 3)
and thus the packet can safely be encapsulated and send to F with a 
PPR-ID of f’. Releasing the packet early in Q-space has two advantages, firstly
the packet can take a shorter path to its destination if one is available
rather than traveling to the far side of the failure and then back tracking.</t>

<t>Releasing a packet in Q-space also reduces the size of the PPR path that needs to be advertised, and 
potentially allows a repair path to be shared among a number of 
failures. For example in <xref target="SimpleFRR1"/> G with PPR-ID g’ via B-&gt;E-&gt;F-&gt;G can
be used to provide an IPFRR path for the failure of both
B-&gt;C and B-&gt;H.</t>

<figure title="Simple IPFRR Using pLFA With Shared Repair" anchor="SimpleFRR1"><artwork><![CDATA[
           c'
A---B--//--C---D
    |\     |
    | H--+ |
    |     \|
    E---F--G
           g'
]]></artwork></figure>

<t>Shared paths are useful in reducing the number of PPR paths
that need to be flooded to support FRR.</t>

<t>Note that where the packet takes the shortest path to the point
in Q-space that is closest to the destination, it will be taking
a path that is congruent with the post convergence path from the
PLR to the destination. This is the path that TI-LFA chooses
to avoid its loop-free convergence. However this is not
the only loop-free strategy available to a pLFA based
solution.</t>

</section>
<section anchor="node-repair" title="Node Repair">

<t>Consider the network fragment shown in <xref target="SimpleFRR2"/> taken from 
<xref target="I-D.bryant-ipfrr-tunnels"/>, and consider that node A needs 
to deal with the possible failure of node E.</t>

<figure title="Simple IPFRR - Node Failure" anchor="SimpleFRR2"><artwork><![CDATA[
        Repair S-E
      +----------------+
      |                |
      | Repair S-S  s1'|
      |+---------->[S1]|
      ||            |  /
      ||            | /
      ||            |/e'         s2'
----->[S]----//-----[E]---------[S2]
      ||            |           ^
      ||            |           |
      ||Repair S-S3 |           |
      |+---------->[S3]         |
      |             s3'         |
      +-------------------------+
        Repair S-S2
]]></artwork></figure>

<t>Node S needs the use of four repair paths to address the failure of node E, 
one repair to each of E’s neighbours for which E is on the path to that
neighbour. In <xref target="SimpleFRR2"/> there are three of these next-next-hop
repairs, noted as Repair S-Sx in the figure. In addition a repair 
to E (Repair S-&gt;E) using a path other than along the path S-E&gt; should 
be installed for traffic to E on the basis that the problem may be a 
failure of link S-&gt;E rather than a failure of the node.</t>

<t>The three repair paths to the next-next-hops of E can be installed as
PPR path S-Sx with a PPR-ID of sx’. The link repair for E a PPR path
to E which avoids link S-E with a PPR-ID of e’.</t>

</section>
<section anchor="shared-risk-link-groups" title="Shared Risk Link Groups">

<t>A shared risk link group (SRLG) is a set of links that are believed to
have some systematic connection such that when one fails there is
a high probability of all of them failing. This occurs, for example,
where all of the members of the group run in a common cable duct.
Where this relationship is known, and the simultaneous failure does not 
partition the network,PPR can install paths such that
all members of the SRLG are avoided. pLFA has fewer constraints than
other methods in constructing arbitrary repair paths in the network.
<xref target="RFC6981"/> Section 6.1 describes the SRLG problem as it applies to
IPFRR. pLFA can address all of the cases described in <xref target="RFC6981"/>.</t>

<t>SRLG avoiding IPFRR paths can be complex. Since a packet can be attracted towards
the failure whenever it is released from a strict path, the
repair path may need a number of segments to steer it safely into
Q-space. If this is done in the data-plane this can stress the MTU.
pLFA creates the path in the control plane and its encapsulation is
invariant with respect to the complexity of the path. Furthermore,
if the need to reduce the data-plane encapsulation side means that
the repair path needs to use a sequence of loose hops it is necessary
to determine the behaviour of each  router on the chosen path.
This contrasts with pLFA which can determine the path
using whatever metrics and policy is appropriate, and then simply
impose it without any data-plane overhead beyond that needed for
a simple repair.</t>

</section>
<section anchor="local-area-networks" title="Local Area Networks">

<t>LANs are a special type of SRLG and are solved using the SRLG
mechanisms outlined above.  With all SRLGs, there is a trade-off
between the sophistication of the fault detection and the size of the
SRLG. <xref target="RFC6981"/> Section 6.2 describes the LAN problem as it applies to
IPFRR. pLFA can address all of the cases described in <xref target="RFC6981"/>.</t>

</section>
<section anchor="multiple-independent-failures" title="Multiple Independent Failures">

<t>The Multiple Independent Failure cases described in <xref target="RFC6981"/> Section 6.3
will be analyzed in a future version of this document.</t>

</section>
<section anchor="multi-homed-prefixes" title="Multi-homed Prefixes">

<t>The Multi-Homed Prefix (MHP) problem is described in 
<xref target="RFC5286"/> Section 6.1, <xref target="RFC6981"/> Section 5.3 and <xref target="RFC8518"/>.
MHP will be addressed in a future version of this document.</t>

</section>
<section anchor="ecmp" title="ECMP">

<t>Equal Cost Multi-Path (ECMP) is a consideration in any IPFRR
method that does not use strict paths, and can be both an 
opportunity and threat. It is an opportunity in that
it allows for the repair traffic to be distributed over
a number of alternative paths to minimize congestion.
If a loose pLFA path is injected into the network, 
then any available ECMP paths that fulfill the PPR path
constraints can be installed following the same procedure used in
normal IGP path computation.</t>

<t>However, care must be taken that a packet is not in a
position where it is released from a repair at an ECMP
point such that one of the ECMP paths is back via the failure.
This can never happen if the correct definition of Q-space <xref target="RFC7490"/>
is used in calculating the repair path.</t>

</section>
</section>
<section anchor="repair-to-a-traffic-engineered-alternate-path" title="Repair To A Traffic Engineered Alternate Path">

<t>In this approach there are two traffic engineered paths
from A to D (<xref target="TEFRR"/>.</t>

<figure title="Traffic Engineered IPFRR Using pLFA" anchor="TEFRR"><artwork><![CDATA[
                  d'
A-??-B--??--C--??-D
|    |      |     |
E----F------G-----+
]]></artwork></figure>

<t>The primary path A-&gt;B-&gt;C-&gt;D is protected by a traffic 
engineered path A-&gt;F-&gt;G-&gt;D (PPR-ID d’) with traffic engineered 
connectors from B (B-&gt;F) and C (C-&gt;G). The 
path A-&gt;F-&gt;G-&gt;D and its connectors can be created and injected 
by any node with access to the IGP, but it is more likely to 
be created by a traffic engineering controller.</t>

<t>If  link B-&gt;C fails,  B re-routes packets destined 
for D to the traffic engineered path A-&gt;F-&gt;G-&gt;D via
connector B-&gt;F. It does this by encapsulating the packet
with a PPR-ID of d’.</t>

<t>Clearly there is nothing special needed
to get the packet from B to F as they are adjacent but
if there is a node say X on the path from B to F an explicit
path needs to be created from B to F via X. Normally the
repair would be created as a single PPR path (i.e. B-&gt;F-&gt;G-&gt;D)
with a PPR-ID of d’. In this approach the repair from
A would be A-&gt;F-&gt;G-&gt;D with a PPR-ID of d’ also. Similarly 
C-G-D would again share the PPR-ID d’.</t>

<t>If preferred the repair path could also be constructed using double
encapsulation or using an SR approach in which the first segment
was B-F with a PPR-ID/SID f’ and the second segment
was F-D with PPR-ID of d’.</t>

<t>In the example shown in <xref target="TEFRR"/> the proposed B-//-&gt;C protection
path was B-&gt;F-&gt;G-&gt;D. This is node protecting on C since the 
repair path avoids C. Although link failures tend to be more common than
node failures some critical applications would prefer node protection
where possible. Node avoidance may not
be possible within the network, and may come at a cost of increased
path repair path length. However, whether to include node protection
and as what cost to accept its inclusion is a matter of 
network operator policy.</t>

<t>The repair constructed in this section required the inclusion
of a set of PPR defined links to construct the repair. PPR
has the ability to construct graphs <xref target="I-D.ce-lsr-ppr-graph"/>
which can simplify the specification of the required repair
topology. This is discussed in <xref target="RGSEC"/>.</t>

</section>
<section anchor="RGSEC" title="Use of a Repair Graph">

<t>PPR has the ability to inject graphs into a network as well as 
linear paths <xref target="I-D.ce-lsr-ppr-graph"/>.
PPR graphs specify the paths from a set of nodes
to a single node, and are a compact method of representing
a set of paths to that destination with shared properties.</t>

<section anchor="single-repair-graph" title="Single Repair Graph">

<t>In <xref target="I-D.ce-lsr-ppr-graph"/> the S bit in the PPR Path Description
Element (PDE) specifies that a
a network node is a Source and a D bit specifies that 
it is a destination. A graph with all S bits set on the 
leaves and a D bit on the root is a unidirectional tree.</t>

<figure title="pLFA using PPR Graphs" anchor="FRRGRAPH"><artwork><![CDATA[
                  d'
S    S      S     D
A-??-B--??--C--??-D
|    |      |     |
E----F------G-----+
]]></artwork></figure>

<t>Consider the network fragment shown in <xref target="FRRGRAPH"/>. A graph
with a PPR-ID d’ is constructed attaching each of the nodes
A, B, and C to D. Should any of the nodes A, B or C fail the 
packet can be forwarded on the PPR graph to D with the PPR-ID
of d’. In the unidirectional repair graph A, B, and C are 
all sources (signaled with the S bit set), and D is the only 
destination (signaled with the D bit set.</t>

</section>
<section anchor="multiple-disjoint-graphs" title="Multiple Disjoint Graphs">

<t>Consider Figure 1 from <xref target="RFC7812"/> which illustrates the 
problem of IPFRR in a network that is 2-connected.</t>

<figure title="A 2-Connected Network" anchor="GRAPH2"><artwork><![CDATA[
[E]---[D]---|           [E]<--[D]<--|             [E]-->[D]---|
 |     |    |            |     ^    |                    |    | 
 |     |    |            V     |    |                    V    V 
[R]   [F]  [C]        r'[R]   [F]  [C]        r''[R]    [F]  [C]
 |     |    |                  ^    ^             ^      |    |
 |     |    |                  |    |             |      V    |
[A]---[B]---|           [A]-->[B]---|             [A]<--[B]<--|

      (a)                     (b)                         (c)
a 2-connected graph     Blue Tree towards R     Red Tree towards R
]]></artwork></figure>

<t><xref target="GRAPH2"/>(a) is the full network, and <xref target="GRAPH2"/>(b) and (b) are two
corresponding redundant trees from <xref target="RFC7812"/>.
Using the Red and Blue trees towards R every node has at least two
paths to R. We give R a PPR-ID of r’ in the Blue tree and a
PPR-ID of r’’ in the Red tree. R is the only destination in the
PPR graph (D bit set), but all other nodes are sources (S bit set).
For clarity this bit setting is not shown in <xref target="GRAPH2"/>.</t>

<t>It is worth
noting what happens at nodes B and D in  <xref target="GRAPH2"/>(b). B is an
ECMP to D via F and C. What happens at node B is a matter of
implementation and operator preference. Either B can choose one
of the next-hops, or it use them as an ECMP pair. It can also
use the availability of the pair to protect against B-&gt;F or
B-&gt;C being an unexpected SRLG with respect to link A-&gt;R.
D is a merge point for traffic destined for r’ arriving from
F and from C. It simply forwards the traffic to r’ as normal.
Similarly in <xref target="GRAPH2"/>(c) D can sent traffic to r’’ via F or C.</t>

<t>Whilst in this example the Red and Blue trees use exactly
the same links and nodes used by the main topology, a repair
graph could use available nodes and links outside this network
fragment.</t>

<t>Now consider Figure 2 from <xref target="RFC7812"/> which illustrates the 
problem of IPFRR in a network that is not 2-connected.</t>

<figure title="A Network That Is Not 2-Connected" anchor="NOT2GRAPH"><artwork><![CDATA[
               [E]---[D]---|     |---[J]
                |     |    |     |    |
                |     |    |     |    |
               [R]   [F]  [C]---[G]   |
                |     |    |     |    |
                |     |    |     |    |
               [A]---[B]---|     |---[H]

              (a) a graph that is not 2-connected

[E]<--[D]<--|         [J]        [E]-->[D]---|     |---[J]
 |     ^    |          |                |    |     |    ^
 V     |    |          |         r''    V    V     V    |
[R]   [F]  [C]<--[G]   |         [R]   [F]  [C]<--[G]   |
r'     ^    ^     ^    |          ^     |    |          |
       |    |     |    V          |     V    |          |
[A]-->[B]---|     |---[H]        [A]<--[B]<--|         [H]

 (b) Blue Tree towards R          (c) Red Tree towards R
]]></artwork></figure>

<t>Again there are two paths (with PPR-IDs r’ and r’’) to R from all nodes except
that G, J and H all depend on link G-&gt;C and node C
which is a single point of failure in the network.</t>

<t>Again note that B in the Blue tree and D in the Red
tree has two paths to r’ and r’’ respectively that it may
use according to configuration or preference.</t>

</section>
</section>
<section anchor="centralized-and-decentralized-approaches" title="Centralized and Decentralized Approaches">

<t>pLFA paths can be established through both centralized and decentralized
approaches.</t>

<t>A centralized system has a more holistic view of the network and
its policies, its resource constraints and resource usage. A decentralized
system is inherently more resilient to failure and is a good fit where the
network is a simple best effort network as is commonly deployed.</t>

<t>A centralized system gathers the network state, just as any
SDN system does, and computes the FRR paths needed. However, unlike
normal SDN operation where the controller needs to individually
instruct every entity on the path for every path, in a PPR network it is
only necessary to inject the PPR path at one point. In practice, for
reliability, it would inject the PPR paths in a small number of places,
and the naturally reliability of the IGP would ensure the complete
distribution of the paths. Furthermore, the system collecting the
network state would naturally send the PPR LSPs back to the SDN
controller providing quality assurance that the FRR paths had been
distributed.</t>

<t>In a decentralized approach the pLFA path is computed within
the network, normally by the PLR. Further details of this approach
will be provided in a future version of this document.</t>

</section>
<section anchor="independence-of-operation" title="Independence of operation">

<t>Each PPR path is independent of all other paths in the network.
This means that there is no constraint on how the path
is calculated, and a different algorithm can be used on every path.
Some of the other FRR approaches have this property, but not all. For
example LFA is constrained by the properties of the base IGP as to
a large degree is RLFA. PPR can incorporate best effort segments
if required, but from a data-plane perspective there is no advantage
in doing so. In this case there is a dependence on the path
choice in the base routing protocol.</t>

<t>MRT and Not-Via can use any algorithm to
calculate the repair, but it needs to be common across the network, although
the expectation in the case of Not-Via is that the algorithm would be
a Dijkstra based SPF calculation. In both these cases to change the
algorithm would require turning off FRR for the whole network,
re-configuring and then restarting FRR.</t>

<t>RSVP-TE based FRR can specify any path, but at the cost of maintaining
the soft-state.</t>

<t>A PLR in a TI-LFA or any SR based approach can also compute paths independent
of each other, but they tend to need to do this as a concatenation of
a series of shortest paths in order to reduce the number of SIDs they
need to form the path. TI-LFA is thus highly dependent on the underlying
best effort paths.</t>

<t>pLFA can be used as a method of converting classic LFA or RLFA to full coverage
by providing the paths that these methods are unable to support, or
to provide any the sub-paths needed to reduce the number of TI-LFA SIDs.</t>

</section>
<section anchor="DPSEC" title="Data-plane Considerations">

<t>This section is a survey of a number of data-planes in each case 
considering how a PPR-ID could added to map the packet to 
required FRR path.</t>

<section anchor="IPIP" title="Traditional IP">

<t>Where the data-plane is “traditional” IP the user packet needs to
be encapsulated such that the outer IP address is the PPR-ID.
Any preferred encapsulation can be used such as: IP in IP, IP in GRE, 
or IP in UDP.</t>

<t>The tunnel capabilities of a node can be advertised
using the method described in <xref target="I-D.xu-isis-encapsulation-cap"/> allowing
different tunnel types to be used for different PPR paths, depending
on the capability of the various nodes in the network.</t>

<t>A common operational issue with this type of encapsulation for IPFRR
has been the shortage of IP addresses. However this is not an issue
in an IPv6 network.</t>

</section>
<section anchor="segment-routing-over-an-ipv6-data-plane-srv6" title="Segment Routing over an IPv6 Data Plane (SRv6)">

<t>Where the data-plane is SRv6 <xref target="I-D.ietf-6man-segment-routing-header"/> 
pLFA would be used to steer a packet towards the next segment end-point.
Clearly an extra level of IP encapsulation could be used <xref target="IPIP"/>,
but that expands the packet by adding at least 36 octets.</t>

<t>Where the packet is a “traditional” IP packet, and the  repair
end-point is SRv6 capable, an alternative to the methods
described in <xref target="IPIP"/> is to insert an SRH into the IP packet
setting the SID in the SRH to the original packet DA and 
replacing the outer DA with the PPR-ID. If this method is 
used the semantics of the PPR-ID must include the reconstruction
of the packet, by replacing the DA with the original DA
retrieved from the SRH and the removal of the SRH.</t>

</section>
<section anchor="mpls" title="MPLS">

<t>Where the data-plane is MPLS any encapsulation needed
is tiny (a label push), but the exact action depends
on the repair strategy, and there is the usual FRR problem
of the setting of the new value for the top label
prior to pushing the PPR-ID label.</t>

<t>Where the FRR path terminates at an MPLS node other than
the network egress provider edge (PE) in the type
of pLFA repair described in <xref target="SIMPLE"/>, the original
top label needed to be set to the label the node was expecting.</t>

<t>Consider the network fragment shown in <xref target="SimpleFRR"/>. This is 
straight forward case because node B swaps the top label
the label it would have used without the failure and then
pushes the label that corresponds to c’. If the repair strategy
had been to exit Q-space at the earliest opportunity
for example at F, then B would have needed to know what
label F required to reach the destination. A very similar
problem occurs when a node repair is undertaken <xref target="SimpleFRR2"/>,
where S needs to know the label that the next-next-hops (S1, S2 and S3)
need to reach the destination.</t>

<t>Where the traffic is being moved to a new path terminating
at the egress PE as shown in <xref target="TEFRR"/>, the problem much
simpler and only requires the swapping of the top
label with the label that represents d’.</t>

</section>
</section>
<section anchor="loop-free-convergence" title="Loop Free Convergence">

<t>Whilst IPFRR puts in place a temporary network repair, eventually  the 
network needs to re-converge around the surviving network components. During 
this phase there is a danger that micro-loops will form and disrupt the traffic
flowing across the network. A similar problem can occur when the failed
component returns to service, or when a new component is introduced
into the network. <xref target="RFC5715"/> describes the problem of loop-free 
convergence in detail and examines the methods known at the time of its writing.
Since that time <xref target="RFC8333"/> has proposed a timer based loop mitigation (but
not elimination) process, and <xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/> 
has proposed that by making the IPFRR path congruent with the post
convergence path loops can be eliminated along the repair path. However
whilst these mitigation techniques address component failure, neither
are targeted at the repair/new component case.</t>

<t>These problems only effect best effort paths and path segments, fully
defined paths do not have this problem.</t>

<t>A network using pLFA is compatible with all of the
know loop-free convergence and loop mitigation approaches.</t>

</section>
<section anchor="oam-considerations" title="OAM Considerations">

<t>PPR may also be used in a way that provides an alternative to running 
multi-hop BFD from ingress on a traffic engineered (TE) path with 
reducing the complexities that arise from echo reply false alarms.
In this use case pLFA works by locally detecting the failure
and transferring the traffic to preferred TE backups which are
in time replaced by the newly computed TE paths to the same PPR-ID.</t>

</section>
<section anchor="privacy-considerations" title="Privacy Considerations">

<t>As noted in <xref target="SECSEC"/> pLFA paths are constrained by the routing domain
and thus the traffic will be no more subject to observation than
it would in normal operation. Indeed PPR has the capability to constrain
the path of the traffic more tightly than other IPFRR approaches.
pLFA therefore does not reduce the privacy of user traffic on the network.</t>

</section>
<section anchor="SECSEC" title="Security Considerations">

<t>The security considerations of PPR are discussed in 
<xref target="I-D.chunduri-lsr-isis-preferred-path-routing"/> which in turn refers
the reader to the security considerations of the underlying routing
protocol and the data-plane in use. The pLFA application of PPR to IPFRR
introduces no additional security regarding PPR itself.</t>

<t>General IPFRR security considerations are discussed in <xref target="RFC5714"/> and these
apply to this solution.</t>

<t>One further consideration, is the whether policy that applied to the 
original path needs to be applied to the repair path. The decision is
operator and application specific, however pLFA is better than some other
IPFRR solution in that it is possible to precisely choose the repair
path.</t>

<t>IPFRR is deployed within the scope of the routing protocol that underpins it
which limits the security vulnerability. Furthermore it is unlikely that
IPFRR would be deployed outside a well managed network. These restrictions 
in-turn significantly mitigate any security threat.</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>This document makes no IANA requests.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference anchor="I-D.ce-lsr-ppr-graph">
<front>
<title>Preferred Path Route Graph Structure</title>

<author initials='U' surname='Chunduri' fullname='Uma Chunduri'>
    <organization />
</author>

<author initials='T' surname='Eckert' fullname='Toerless Eckert'>
    <organization />
</author>

<date month='May' day='17' year='2019' />

<abstract><t>This document defines a graph structure for the Preferred Path Route (PPR) for IS-IS, OSPFv2 and OSPFv3 protocols.  This structure helps further scale of the PPR and reduce domain level global entries needed in some data planes.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ce-lsr-ppr-graph-02' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ce-lsr-ppr-graph-02.txt' />
</reference>



<reference anchor="I-D.chunduri-lsr-isis-preferred-path-routing">
<front>
<title>Preferred Path Routing (PPR) in IS-IS</title>

<author initials='U' surname='Chunduri' fullname='Uma Chunduri'>
    <organization />
</author>

<author initials='R' surname='Li' fullname='Renwei Li'>
    <organization />
</author>

<author initials='R' surname='White' fullname='Russ White'>
    <organization />
</author>

<author initials='J' surname='Tantsura' fullname='Jeff Tantsura'>
    <organization />
</author>

<author initials='L' surname='Contreras' fullname='Luis Contreras'>
    <organization />
</author>

<author initials='Y' surname='Qu' fullname='Yingzhen Qu'>
    <organization />
</author>

<date month='May' day='16' year='2019' />

<abstract><t>This document specifies Preferred Path Routing (PPR), a routing protocol extension to simplify the path description on the packet for Segment Routing (SR) deployments and beyond.  PPR aims to mitigate the MTU and data plane processing issues that may result from SR packet overhead; and also supports further extensions along the paths.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-chunduri-lsr-isis-preferred-path-routing-03' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-chunduri-lsr-isis-preferred-path-routing-03.txt' />
</reference>




    </references>

    <references title='Informative References'>





<reference  anchor="RFC3936" target='https://www.rfc-editor.org/info/rfc3936'>
<front>
<title>Procedures for Modifying the Resource reSerVation Protocol (RSVP)</title>
<author initials='K.' surname='Kompella' fullname='K. Kompella'><organization /></author>
<author initials='J.' surname='Lang' fullname='J. Lang'><organization /></author>
<date year='2004' month='October' />
<abstract><t>This memo specifies procedures for modifying the Resource reSerVation Protocol (RSVP).  This memo also lays out new assignment guidelines for number spaces for RSVP messages, object classes, class-types, and sub-objects.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='96'/>
<seriesInfo name='RFC' value='3936'/>
<seriesInfo name='DOI' value='10.17487/RFC3936'/>
</reference>



<reference  anchor="RFC4090" target='https://www.rfc-editor.org/info/rfc4090'>
<front>
<title>Fast Reroute Extensions to RSVP-TE for LSP Tunnels</title>
<author initials='P.' surname='Pan' fullname='P. Pan' role='editor'><organization /></author>
<author initials='G.' surname='Swallow' fullname='G. Swallow' role='editor'><organization /></author>
<author initials='A.' surname='Atlas' fullname='A. Atlas' role='editor'><organization /></author>
<date year='2005' month='May' />
<abstract><t>This document defines RSVP-TE extensions to establish backup label-switched path (LSP) tunnels for local repair of LSP tunnels.  These mechanisms enable the re-direction of traffic onto backup LSP tunnels in 10s of milliseconds, in the event of a failure.</t><t>Two methods are defined here.  The one-to-one backup method creates detour LSPs for each protected LSP at each potential point of local repair.  The facility backup method creates a bypass tunnel to protect a potential failure point; by taking advantage of MPLS label stacking, this bypass tunnel can protect a set of LSPs that have similar backup constraints.  Both methods can be used to protect links and nodes during network failure.  The described behavior and extensions to RSVP allow nodes to implement either method or both and to interoperate in a mixed network.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4090'/>
<seriesInfo name='DOI' value='10.17487/RFC4090'/>
</reference>



<reference  anchor="RFC5286" target='https://www.rfc-editor.org/info/rfc5286'>
<front>
<title>Basic Specification for IP Fast Reroute: Loop-Free Alternates</title>
<author initials='A.' surname='Atlas' fullname='A. Atlas' role='editor'><organization /></author>
<author initials='A.' surname='Zinin' fullname='A. Zinin' role='editor'><organization /></author>
<date year='2008' month='September' />
<abstract><t>This document describes the use of loop-free alternates to provide local protection for unicast traffic in pure IP and MPLS/LDP networks in the event of a single failure, whether link, node, or shared risk link group (SRLG).  The goal of this technology is to reduce the packet loss that happens while routers converge after a topology change due to a failure.  Rapid failure repair is achieved through use of precalculated backup next-hops that are loop-free and safe to use until the distributed network convergence process completes. This simple approach does not require any support from other routers. The extent to which this goal can be met by this specification is dependent on the topology of the network.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5286'/>
<seriesInfo name='DOI' value='10.17487/RFC5286'/>
</reference>



<reference  anchor="RFC5714" target='https://www.rfc-editor.org/info/rfc5714'>
<front>
<title>IP Fast Reroute Framework</title>
<author initials='M.' surname='Shand' fullname='M. Shand'><organization /></author>
<author initials='S.' surname='Bryant' fullname='S. Bryant'><organization /></author>
<date year='2010' month='January' />
<abstract><t>This document provides a framework for the development of IP fast- reroute mechanisms that provide protection against link or router failure by invoking locally determined repair paths.  Unlike MPLS fast-reroute, the mechanisms are applicable to a network employing conventional IP routing and forwarding.  This document is not an  Internet Standards Track specification; it is published for informational  purposes.</t></abstract>
</front>
<seriesInfo name='RFC' value='5714'/>
<seriesInfo name='DOI' value='10.17487/RFC5714'/>
</reference>



<reference  anchor="RFC5715" target='https://www.rfc-editor.org/info/rfc5715'>
<front>
<title>A Framework for Loop-Free Convergence</title>
<author initials='M.' surname='Shand' fullname='M. Shand'><organization /></author>
<author initials='S.' surname='Bryant' fullname='S. Bryant'><organization /></author>
<date year='2010' month='January' />
<abstract><t>A micro-loop is a packet forwarding loop that may occur transiently among two or more routers in a hop-by-hop packet forwarding paradigm.</t><t>This framework provides a summary of the causes and consequences of micro-loops and enables the reader to form a judgement on whether micro-looping is an issue that needs to be addressed in specific networks.  It also provides a survey of the currently proposed mechanisms that may be used to prevent or to suppress the formation of micro-loops when an IP or MPLS network undergoes topology change due to failure, repair, or management action.  When sufficiently fast convergence is not available and the topology is susceptible to micro-loops, use of one or more of these mechanisms may be desirable. This document is not an Internet Standards Track specification; it is published for informational purposes.</t></abstract>
</front>
<seriesInfo name='RFC' value='5715'/>
<seriesInfo name='DOI' value='10.17487/RFC5715'/>
</reference>



<reference  anchor="RFC5880" target='https://www.rfc-editor.org/info/rfc5880'>
<front>
<title>Bidirectional Forwarding Detection (BFD)</title>
<author initials='D.' surname='Katz' fullname='D. Katz'><organization /></author>
<author initials='D.' surname='Ward' fullname='D. Ward'><organization /></author>
<date year='2010' month='June' />
<abstract><t>This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency.  It operates independently of media, data protocols, and routing protocols. [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5880'/>
<seriesInfo name='DOI' value='10.17487/RFC5880'/>
</reference>



<reference  anchor="RFC6981" target='https://www.rfc-editor.org/info/rfc6981'>
<front>
<title>A Framework for IP and MPLS Fast Reroute Using Not-Via Addresses</title>
<author initials='S.' surname='Bryant' fullname='S. Bryant'><organization /></author>
<author initials='S.' surname='Previdi' fullname='S. Previdi'><organization /></author>
<author initials='M.' surname='Shand' fullname='M. Shand'><organization /></author>
<date year='2013' month='August' />
<abstract><t>This document presents an illustrative framework for providing fast reroute in an IP or MPLS network through encapsulation and forwarding to &quot;not-via&quot; addresses.  The general approach described here uses a single level of encapsulation and could be used to protect unicast, multicast, and LDP traffic against link, router, and shared risk group failure, regardless of network topology and metrics.</t><t>The mechanisms presented in this document are purely illustrative of the general approach and do not constitute a protocol specification. The document represents a snapshot of the work of the Routing Area Working Group at the time of publication and is published as a document of record.  Further work is needed before implementation or deployment.</t></abstract>
</front>
<seriesInfo name='RFC' value='6981'/>
<seriesInfo name='DOI' value='10.17487/RFC6981'/>
</reference>



<reference  anchor="RFC7490" target='https://www.rfc-editor.org/info/rfc7490'>
<front>
<title>Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)</title>
<author initials='S.' surname='Bryant' fullname='S. Bryant'><organization /></author>
<author initials='C.' surname='Filsfils' fullname='C. Filsfils'><organization /></author>
<author initials='S.' surname='Previdi' fullname='S. Previdi'><organization /></author>
<author initials='M.' surname='Shand' fullname='M. Shand'><organization /></author>
<author initials='N.' surname='So' fullname='N. So'><organization /></author>
<date year='2015' month='April' />
<abstract><t>This document describes an extension to the basic IP fast reroute mechanism, described in RFC 5286, that provides additional backup connectivity for point-to-point link failures when none can be provided by the basic mechanisms.</t></abstract>
</front>
<seriesInfo name='RFC' value='7490'/>
<seriesInfo name='DOI' value='10.17487/RFC7490'/>
</reference>



<reference  anchor="RFC7812" target='https://www.rfc-editor.org/info/rfc7812'>
<front>
<title>An Architecture for IP/LDP Fast Reroute Using Maximally Redundant Trees (MRT-FRR)</title>
<author initials='A.' surname='Atlas' fullname='A. Atlas'><organization /></author>
<author initials='C.' surname='Bowers' fullname='C. Bowers'><organization /></author>
<author initials='G.' surname='Enyedi' fullname='G. Enyedi'><organization /></author>
<date year='2016' month='June' />
<abstract><t>This document defines the architecture for IP and LDP Fast Reroute using Maximally Redundant Trees (MRT-FRR).  MRT-FRR is a technology that gives link-protection and node-protection with 100% coverage in any network topology that is still connected after the failure.</t></abstract>
</front>
<seriesInfo name='RFC' value='7812'/>
<seriesInfo name='DOI' value='10.17487/RFC7812'/>
</reference>



<reference  anchor="RFC8333" target='https://www.rfc-editor.org/info/rfc8333'>
<front>
<title>Micro-loop Prevention by Introducing a Local Convergence Delay</title>
<author initials='S.' surname='Litkowski' fullname='S. Litkowski'><organization /></author>
<author initials='B.' surname='Decraene' fullname='B. Decraene'><organization /></author>
<author initials='C.' surname='Filsfils' fullname='C. Filsfils'><organization /></author>
<author initials='P.' surname='Francois' fullname='P. Francois'><organization /></author>
<date year='2018' month='March' />
<abstract><t>This document describes a mechanism for link-state routing protocols that prevents local transient forwarding loops in case of link failure.  This mechanism proposes a two-step convergence by introducing a delay between the convergence of the node adjacent to the topology change and the network-wide convergence.</t><t>Because this mechanism delays the IGP convergence, it may only be used for planned maintenance or when Fast Reroute (FRR) protects the traffic during the time between the link failure and the IGP convergence.</t><t>The mechanism is limited to the link-down event in order to keep the mechanism simple.</t><t>Simulations using real network topologies have been performed and show that local loops are a significant portion (&gt;50%) of the total forwarding loops.</t></abstract>
</front>
<seriesInfo name='RFC' value='8333'/>
<seriesInfo name='DOI' value='10.17487/RFC8333'/>
</reference>



<reference  anchor="RFC8402" target='https://www.rfc-editor.org/info/rfc8402'>
<front>
<title>Segment Routing Architecture</title>
<author initials='C.' surname='Filsfils' fullname='C. Filsfils' role='editor'><organization /></author>
<author initials='S.' surname='Previdi' fullname='S. Previdi' role='editor'><organization /></author>
<author initials='L.' surname='Ginsberg' fullname='L. Ginsberg'><organization /></author>
<author initials='B.' surname='Decraene' fullname='B. Decraene'><organization /></author>
<author initials='S.' surname='Litkowski' fullname='S. Litkowski'><organization /></author>
<author initials='R.' surname='Shakir' fullname='R. Shakir'><organization /></author>
<date year='2018' month='July' />
<abstract><t>Segment Routing (SR) leverages the source routing paradigm.  A node steers a packet through an ordered list of instructions, called &quot;segments&quot;.  A segment can represent any instruction, topological or service based.  A segment can have a semantic local to an SR node or global within an SR domain.  SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t><t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane.  A segment is encoded as an MPLS label.  An ordered list of segments is encoded as a stack of labels.  The segment to process is on the top of the stack.  Upon completion of a segment, the related label is popped from the stack.</t><t>SR can be applied to the IPv6 architecture, with a new type of routing header.  A segment is encoded as an IPv6 address.  An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header.  The active segment is indicated by the Destination Address (DA) of the packet.  The next active segment is indicated by a pointer in the new routing header.</t></abstract>
</front>
<seriesInfo name='RFC' value='8402'/>
<seriesInfo name='DOI' value='10.17487/RFC8402'/>
</reference>



<reference  anchor="RFC8518" target='https://www.rfc-editor.org/info/rfc8518'>
<front>
<title>Selection of Loop-Free Alternates for Multi-Homed Prefixes</title>
<author initials='P.' surname='Sarkar' fullname='P. Sarkar' role='editor'><organization /></author>
<author initials='U.' surname='Chunduri' fullname='U. Chunduri' role='editor'><organization /></author>
<author initials='S.' surname='Hegde' fullname='S. Hegde'><organization /></author>
<author initials='J.' surname='Tantsura' fullname='J. Tantsura'><organization /></author>
<author initials='H.' surname='Gredler' fullname='H. Gredler'><organization /></author>
<date year='2019' month='March' />
<abstract><t>Deployment experience gained from implementing algorithms to determine Loop-Free Alternates (LFAs) for multi-homed prefixes (MHPs) has revealed some avenues for potential improvement.  This document provides explicit inequalities that can be used to evaluate neighbors as potential alternates for MHPs.  It also provides detailed criteria for evaluating potential alternates for external prefixes advertised by OSPF ASBRs.  This document updates Section 6 of RFC 5286 by expanding some of the routing aspects.</t></abstract>
</front>
<seriesInfo name='RFC' value='8518'/>
<seriesInfo name='DOI' value='10.17487/RFC8518'/>
</reference>



<reference anchor="I-D.ietf-rtgwg-segment-routing-ti-lfa">
<front>
<title>Topology Independent Fast Reroute using Segment Routing</title>

<author initials='S' surname='Litkowski' fullname='Stephane Litkowski'>
    <organization />
</author>

<author initials='A' surname='Bashandy' fullname='Ahmed Bashandy'>
    <organization />
</author>

<author initials='C' surname='Filsfils' fullname='Clarence Filsfils'>
    <organization />
</author>

<author initials='B' surname='Decraene' fullname='Bruno Decraene'>
    <organization />
</author>

<author initials='P' surname='Francois' fullname='Pierre Francois'>
    <organization />
</author>

<author initials='d' surname='daniel.voyer@bell.ca' fullname='daniel.voyer@bell.ca'>
    <organization />
</author>

<author initials='F' surname='Clad' fullname='Francois Clad'>
    <organization />
</author>

<author initials='P' surname='Camarillo' fullname='Pablo Camarillo'>
    <organization />
</author>

<date month='March' day='5' year='2019' />

<abstract><t>This document presents Topology Independent Loop-free Alternate Fast Re-route (TI-LFA), aimed at providing protection of node and adjacency segments within the Segment Routing (SR) framework.  This Fast Re-route (FRR) behavior builds on proven IP-FRR concepts being LFAs, remote LFAs (RLFA), and remote LFAs with directed forwarding (DLFA).  It extends these concepts to provide guaranteed coverage in any IGP network.  A key aspect of TI-LFA is the FRR path selection approach establishing protection over the expected post-convergence paths from the point of local repair, dramatically reducing the operational need to control the tie-breaks among various FRR options.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-rtgwg-segment-routing-ti-lfa-01' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-rtgwg-segment-routing-ti-lfa-01.txt' />
</reference>



<reference anchor="I-D.ietf-6man-segment-routing-header">
<front>
<title>IPv6 Segment Routing Header (SRH)</title>

<author initials='C' surname='Filsfils' fullname='Clarence Filsfils'>
    <organization />
</author>

<author initials='D' surname='Dukes' fullname='Darren Dukes'>
    <organization />
</author>

<author initials='S' surname='Previdi' fullname='Stefano Previdi'>
    <organization />
</author>

<author initials='J' surname='Leddy' fullname='John Leddy'>
    <organization />
</author>

<author initials='S' surname='Matsushima' fullname='Satoru Matsushima'>
    <organization />
</author>

<author initials='d' surname='daniel.voyer@bell.ca' fullname='daniel.voyer@bell.ca'>
    <organization />
</author>

<date month='June' day='13' year='2019' />

<abstract><t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header.  This document describes the Segment Routing Extension Header and how it is used by Segment Routing capable nodes.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-6man-segment-routing-header-21' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-6man-segment-routing-header-21.txt' />
</reference>



<reference anchor="I-D.bryant-ipfrr-tunnels">
<front>
<title>IP Fast Reroute using tunnels</title>

<author initials='S' surname='Bryant' fullname='Stewart Bryant'>
    <organization />
</author>

<author initials='C' surname='Filsfils' fullname='Clarence Filsfils'>
    <organization />
</author>

<author initials='S' surname='Previdi' fullname='Stefano Previdi'>
    <organization />
</author>

<author initials='M' surname='Shand' fullname='Mike Shand'>
    <organization />
</author>

<date month='November' day='16' year='2007' />

<abstract><t>This draft describes an IP fast re-route mechanism that provides backup connectivity in the event of a link or router failure.  In the absence of single points of failure and asymmetric costs, the mechanism provides complete protection against any single failure. If perfect repair is not possible, the identity of all the unprotected links and routers is known in advance. This IP Fast Reroute advanced method was invented in 2002 and draft (draft-bryant-ipfrr-tunnels-00.txt) describing it was submitted to the IETF in May 2004.  It was one of the first methods of achieving full repair coverage in an IP Network, and as such the draft has been widely referenced in the academic literature.  The authors DO NOT propose that this IPFRR method be implemented since better IPFRR advanced method capable of achieving full repair coverage have subsequently been invented.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-bryant-ipfrr-tunnels-03' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-bryant-ipfrr-tunnels-03.txt' />
</reference>



<reference anchor="I-D.xu-isis-encapsulation-cap">
<front>
<title>Advertising Tunnelling Capability in IS-IS</title>

<author initials='X' surname='Xu' fullname='Xiaohu Xu'>
    <organization />
</author>

<author initials='B' surname='Decraene' fullname='Bruno Decraene'>
    <organization />
</author>

<author initials='R' surname='Raszuk' fullname='Robert Raszuk'>
    <organization />
</author>

<author initials='U' surname='Chunduri' fullname='Uma Chunduri'>
    <organization />
</author>

<author initials='L' surname='Contreras' fullname='Luis Contreras'>
    <organization />
</author>

<author initials='L' surname='Jalil' fullname='Luay Jalil'>
    <organization />
</author>

<date month='October' day='14' year='2016' />

<abstract><t>Some networks use tunnels for a variety of reasons.  A large variety of tunnel types are defined and the ingress needs to select a type of tunnel which is supported by the egress.  This document defines how to advertise egress tunnel capabilities in IS-IS Router Capability TLV.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-xu-isis-encapsulation-cap-07' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-xu-isis-encapsulation-cap-07.txt' />
</reference>




    </references>



  </back>

<!-- ##markdown-source:
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
+IEAAA==

-->

</rfc>

