<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.0.2) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-chunduri-rtgwg-preferred-path-routing-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.2 -->
  <front>
    <title abbrev="PPR Framework">Preferred Path Routing Framework</title>
    <seriesInfo name="Internet-Draft" value="draft-chunduri-rtgwg-preferred-path-routing-03"/>
    <author initials="S." surname="Bryant" fullname="Stewart Bryant" role="editor">
      <organization>University of Surrey 5GIC</organization>
      <address>
        <email>sb@stewartbryant.com</email>
      </address>
    </author>
    <author initials="U." surname="Chunduri" fullname="Uma Chunduri" role="editor">
      <organization>Intel Corporation</organization>
      <address>
        <email>umac.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="A." surname="Clemm" fullname="Alexander Clemm">
      <organization>Futurewei</organization>
      <address>
        <email>ludwig@clemm.org</email>
      </address>
    </author>
    <date year="2022" month="November" day="07"/>
    <workgroup>RTGWG</workgroup>
    <abstract>
      <t>Capacity demands, Traffic Engineering (TE) and determinism
are some of key requirements for various cellular, edge
and industrial deployments.  These deployments span from many
underlying data pane technologies including native IPv4, native IPv6
along with MPLS and Segment Routing (SR).</t>
      <t>This document provides a framework for Preferred Path Routing (PPR).
PPR is a method of providing path based dynamic routing for a number
of packet types including IPv4, IPv6 and MPLS.  This seamlessly works
with a controller plane which holds both complete network view of 
operator policies, while distributed control plane providing self-healing benefits in a
near-real time fashion.</t>
      <t>PPR builds on existing encapsulations at the edge nodes to add path identity to the
packet.  This reduces the per packet overhead required for path
steering  and therefore has a smaller impact on
both packet MTU, data plane processing and overall goodput for small
payload packets, while extending path steering benefits to any existing data plane.<br/>
A number of extensions that allow expansion of use
beyond simple point-to-point-paths are also described in this
memo.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>With the deployments of more advanced services, such as 5G and
beyond, the need for Traffic Engineering (TE) with deterministic services become more
important. Especially in many edge networks where stringent requirements
must be met in terms of latency, throughput, packet loss and packet
error rate. Traffic steering provides a base to build some of these 
capabilities to serve various cellular, edge and  vertical
industries.  Additionally, diverse data planes are used in various
deployments and parts of the network, including Ethernet, MPLS, and
native IP (IPv4/IPv6) needs some of these capabilities.</t>
      <t>This document provides a framework for Preferred Path Routing (PPR).
PPR is a method of adding explicit paths to a network using link-
state routing protocols.  Such a path, which may be a strict or loose
and can be any loop-free path between two points in the network.  A
node makes an on-path check to determine if it is on the path, and,
if so, adds a FIB entry with NextHop (NH) (computed from the SPF
tree) set to the next element in the path description.</t>
      <t>The Preferred
Path Route Identifier (PPR-ID) in the packet is used to map the
packet to the PPR path, and hence to identify resources and the NH.
In other words, PPR-ID is the path identity to the packet and routing and forwarding happens
based on this identifier while providing various services to all the
flows mapped to the path.</t>
      <t>As described, PPR is forwarding plane agnostic, and may be used with
any packet technology in which the packet carries an identifier that
is unique within the PPR domain.  PPR may hence be used to add
explicit path and resource mapping functionality with inherent TE
properties in IPv4, IPv6, MPLS, Ethernet or similar networks.  It
also has a smaller impact on both packet MTU and data plane
processing.  PPR uses an IGP control plane based approach for dynamic
path steering.</t>
      <t>Applications and key use case scenarios for PPR are
described further in <xref target="SEC-AKUC"/>.<br/>
PPR itself is described in further detail in <xref target="SEC-PPR"/>. <br/>
        <xref target="SEC-PPRDP"/>,<xref target="SEC-PPRCP"/>, <xref target="SEC-PPRMP"/> describe various data, control and
management plane functionalities of PPR respectively.  A number of
extensions that allow expansion of use beyond simple point-to-point-
paths, TE aware loop-free-alternatives and path related services to the 
flows are also described in this memo.</t>
      <section anchor="relation-to-segment-routing">
        <name>Relation to Segment Routing</name>
        <t>Segment Routing (SR) <xref target="RFC8402"/> enables packet steering by including
set of Segment Identifiers (SIDs) in the packet that the packet must
traverse or be processed by.  In an MPLS network this is done by
mapping the SIDs to MPLS labels and then pushing the required labels
on the packet <xref target="RFC8660"/>.  In SRv6,
<xref target="RFC8754"/> defines a segment routing
extension header (SRH) to be carried in the packet which contains a
list of the segments.  The usefulness of PPR with SR and inter-
working scenarios are described in <xref target="SEC-SRMPLSPPR"/> and <xref target="SEC-SRV6NPPPR"/>.</t>
        <t>SR also defines Binding SIDs (BSIDs) <xref target="RFC8402"/> which are SIDs pre-
positioned in the network to either allow the number of SIDs in the
packet to be reduced, or provide a method of translating from an edge
imposed SID to a SID that the network prefers.  One use of BSIDs is
to define a path by associating an out-bound SID on every node along
the path in which case the packet can be steered by swapping the
incoming active SID on the packet with a BSID.  For both SR-MPLS and
SRv6, PPR can reduce the number of touch points needed with
BSIDs by dynamically signaling the path and associating the path with
an abstract data plane identifier.</t>
        <t>With PPR as a data packet carries a PPR-ID <xref target="SEC-PPRDP"/> instead of
individual SIDs, it avoids exposing the path; thus it avoids revealing
topology, traffic flow and service usage, if a packet is snooped.  This
is described as "Topology Disclosure" security consideration in
<xref target="RFC8754"/>.</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 <xref target="RFC2119"/>,
RFC8174 <xref target="RFC8174"/> when, and only when they appear in all capitals, as
shown here.</t>
      </section>
      <section anchor="acronyms">
        <name>Acronyms</name>
        <table>
          <thead>
            <tr>
              <th align="left">Term</th>
              <th align="left">Definition</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">GTP</td>
              <td align="left">GPRS Tunneling Protocol (3GPP)</td>
            </tr>
            <tr>
              <td align="left">IS-IS LSP</td>
              <td align="left">IS-IS Link State PDU</td>
            </tr>
            <tr>
              <td align="left">IPFRR</td>
              <td align="left">IP FastReRoute</td>
            </tr>
            <tr>
              <td align="left">MPLS</td>
              <td align="left">Multi-Protocol Label Switching</td>
            </tr>
            <tr>
              <td align="left">MTU</td>
              <td align="left">Maximum Transferable Unit</td>
            </tr>
            <tr>
              <td align="left">NH</td>
              <td align="left">NextHop</td>
            </tr>
            <tr>
              <td align="left">PDE</td>
              <td align="left">Path Description Element of the Preferred path</td>
            </tr>
            <tr>
              <td align="left">PE</td>
              <td align="left">Provider Edge</td>
            </tr>
            <tr>
              <td align="left">PPR</td>
              <td align="left">Preferred Path Routing/Route</td>
            </tr>
            <tr>
              <td align="left">PPR-ID</td>
              <td align="left">Preferred Path Route Identifier, a data plane identifier</td>
            </tr>
            <tr>
              <td align="left">(R)AN</td>
              <td align="left">5G Radio Access Network (3GPP REL15)</td>
            </tr>
            <tr>
              <td align="left">SID</td>
              <td align="left">Segment Identifier</td>
            </tr>
            <tr>
              <td align="left">SPF</td>
              <td align="left">Shortest Path First</td>
            </tr>
            <tr>
              <td align="left">SR-MPLS</td>
              <td align="left">Segment Routing with MPLS data plane</td>
            </tr>
            <tr>
              <td align="left">SRH</td>
              <td align="left">Segment Routing Header - IPv6 routing Extension header</td>
            </tr>
            <tr>
              <td align="left">SRv6</td>
              <td align="left">Segment Routing with IPv6 data plane with SRH</td>
            </tr>
            <tr>
              <td align="left">TE</td>
              <td align="left">Traffic Engineering</td>
            </tr>
            <tr>
              <td align="left">UPF</td>
              <td align="left">User Plane Function (3GPP REL15)</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="SEC-AKUC">
      <name>Applicability and Key use cases</name>
      <section anchor="xhaul-transport">
        <name>XHaul Transport</name>
        <t>Cellular networks predominantly use both IP and MPLS data planes in
the transport part of the network.  For the cellular transport to
evolve for 5G, certain underlay network requirements need to be met
(for slices other than enhanced Mobile Broadband (eMBB)).  PPR is a
mechanism to achieve this, as it provides dynamic path based routing
and traffic steering for any underlying data plane (IPv4/IPv6/MPLS)
used, without any additional control plane protocol in the network.
PPR acts as an underlay mechanism in cellular XHaul (N3/N9 interfaces
below) and hence can work with any overlay mechanism including GPRS
Tunneling Protocol (GTP).</t>
        <figure anchor="FIG-CTN">
          <name>Cellular Transport Network</name>
          <artwork><![CDATA[
                                                  +--------+
+------+   +-------+      +------+      +------+ / Cellular \
|(R)AN)|===|CSR/PE |--N3--|PE+UPF|--N9--|PE+UPF|+  Core      +
+------+   +-------+      +------+      +------+ \  Network /
                                                  +--------+
 === : Front and Layer2/Layer3-MidHaul (F1 Interface)
 --- : Backhaul (N3/N9 Interfaces)
]]></artwork>
        </figure>
        <t><xref target="FIG-CTN"/> depicts a high level view of cellular XHaul network.
Fronthaul is generally a point-to-point link, midhaul uses Layer-2/
IP and backhaul is an IP/MPLS network.  For the end-to-end
slicing in these deployments, both midhaul and backhaul need to have
traffic engineering as well as underlay QoS capabilities.</t>
        <t>In many cellular deployments connectivity for various 5G nodes on F1,
N3 and N9 interfaces, topologies for example, range from subtended rings to Leaf-
Spine Fabric (LS-Fabric) in edge deployments.  While there is no
limitation w.r.t topologies where PPR is applicable, for some of
these deployments PPR is more suitable for providing Traffic
Engineering for high volume traffic with no path
overhead in the underlying data plane.  PPR augments the SR-MPLS
deployments with low data plane overhead and high reliability with TE
aware fast reroute (PLFA) as described in <xref target="SEC-PPRPDE"/>.  In the
overlay or virtual router environment, PPR provides lightweight
service chaining with non-topological Path Description Element (PDEs)
<xref target="SEC-PPRPDE"/> along the preferred path.  PPR helps to achieve OAM
capabilities at the path granularity without any additional per
packet information.</t>
        <t>Some edge deployment underlays are predominantly IP (IPv4/IPv6) based.  If IGP
based underlay control plane is in use, PPR can provide the required flexibility
for creating TE paths, where native IP data planes (IPv4/IPv6) are
used.  PPR can help operators to mitigate the congestion in the
underlay and path related services for critical servers in the edge networks dynamically.</t>
      </section>
      <section anchor="ppr-as-vpn-underlay-and-network-slicing">
        <name>PPR as VPN+ Underlay and Network Slicing</name>
        <t>There is a need to support the requirements of new applications,
particularly applications that are associated with 5G services.  An
approach to supporting these needs is described in
<xref target="I-D.ietf-teas-enhanced-vpn"/>.  This approach utilizes existing VPN
and TE technologies and adds features that specific services require
over and above traditional VPNs.  The document describes a framework
for using existing, modified and potential new networking
technologies as components to provide an Enhanced Virtual Private
Network (VPN+) service.</t>
        <t>Typically, VPN+ will be used to form the underpinning of network
slicing, but could also be of use in its own right.  It is not
envisaged that large numbers of VPN+ instances will be deployed in a
network and, in particular, it is not intended that all VPNs
supported by a network will use VPN+ techniques.</t>
        <t>Such networks potentially need large numbers of paths each with
individually allocated resources at each link and node.  A segment
routing approach has the potential to require large numbers of SIDs
in each packet; and the paths become strict source routed through
end-to-end set of resources needed to create the VPN+ paths.  By
using PPR, the number of segments needed in packets is reduced, and
the management overhead of installing the large numbers of BSIDs is
reduced.</t>
      </section>
      <section anchor="ppr-as-frr-solution">
        <name>PPR as FRR Solution</name>
        <t>PPR may be used in a network as a method of providing IP Fast-ReRoute (IPFRR). This is
independent of whether PPR is used in the network for other traffic steering
purposes. It can be used to create optimal paths or paths congruent
with the post convergence path from the point of local repair (PLR)
as is proposed in TI-LFA <xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/>. Unlike
TI-LFA PPR may be used in IPv4 networks. This is discussed further
in <xref target="SEC-PLFA"/>. The approach has the further intrinsic advantage that
no matter how complex the repair path, only a single header (or MPLS label)
needs to be pushed onto the packet which may assist routers that
find it difficult to push large headers.</t>
      </section>
      <section anchor="extensible-alternative-to-flex-algo">
        <name>Extensible alternative to Flex Algo</name>
        <t>Flex-Algorithm <xref target="I-D.ietf-lsr-flex-algo"/> is a method that is sometimes
used to create paths between Segment Routing (SR) nodes when it is required
that packets traverse a path other than the shortest path that the SPF of
the underlying IGP would naturally install. There is a limit of 128
algorithms that can be installed in a network. Flex-Algorithm is a
cost based approach to creating a path which means that a path or pathlet
is indirectly created by manipulating the metrics of the links. These
metrics affect all the paths within the scope of the Flex-Algorithm
number (instance). The traffic steering properties of Flex-Algorithm required
for SR can be achieved directly with PPR with several advantages:</t>
        <ul spacing="normal">
          <li>The scope of a PPR path is strictly limited to the sub-path between the
SR nodes.</li>
          <li>The path can be directly specifies rather than implicitly through metrics</li>
          <li>Resources (such as specialist queues etc.) may be directly
mapped to the PPR path and hence to the SR sub-path.</li>
        </ul>
      </section>
      <section anchor="ppr-for-energy-optimized-networks">
        <name>PPR for energy-optimized networks</name>
        <t>Improving energy efficiency and reducing power consumption are becoming of 
increasing importance for many industries, 
which includes network operators as well as users and providers of networking services. 
Network providers can contribute to addressing those challenges by making their 
networks more energy-efficient.  This includes the support of power saving 
schemes that guide traffic along paths deemed particularly "energy efficient".</t>
        <t>A significant opportunity to reduce power consumption concerns powering down 
(or putting into power saving mode) equipment (including line card, ports, etc.) 
that may not be currently needed. 
At the same time, the incremental power consumption for additional 
traffic on ports and equipment already under power is for all practical purposes negligible. 
Optimizing energy efficiency thus involves directing traffic in such a way that it allows 
for isolation of equipment that may at the moment not be needed so that it could be 
powered down or brought into power-saving mode.</t>
        <t>This implies that power efficiency of networks can be greatly affected 
by the paths along which traffic is directed at any particular point in time. 
Proper engineering of those paths and the ability to configure them effectively 
thus becomes an important tool to optimize power usage of networks and make them 
more energy efficient. PPR provides a mechanism that enables this, allowing to engineer 
dynamic paths that optimize the network from an energy savings perspective 
as one important set of criteria for any underlying data plane in the network.</t>
      </section>
    </section>
    <section anchor="SEC-PPR">
      <name>Preferred Path Routing (PPR)</name>
      <t>PPR allows the direction of traffic along an engineered path through
the network by replacing the SID label stack or the SID list with a
single PPR-ID.  The PPR-ID may either be a single label (MPLS) or a
native destination prefix (IPv4/IPv6).  This enables the use of a
single data plane identifier to describe an entire path.</t>
      <t>A PPR path could be an (Segmented Routed) SR path, a traffic
engineered path computed based on some constraints, an explicitly
provisioned Fast Re-Route (FRR) path or a service chained path.  A
PPR path can be signaled by any node, computed by a central
controller, or manually configured by an operator.  PPR extends the
source routing and path steering capabilities to native IP (IPv4 and
IPv6) data planes without hardware upgrades; see <xref target="SEC-PPRDP"/>.</t>
      <figure anchor="FIG-IGPN">
        <name>IGP Network</name>
        <artwork><![CDATA[
             (PE)        (P)        (PE)
             R1---------R2----------R3 r3'
             | \         |\         |
             |  \        | \L26     |
             |   \       |  \       |
             |    \      |   \      |
             |   10\     |  10\     |
             |      \    |     \    |
             |       \   |      \   |
             |        \  |       \  |
             |         \ |   10   \ |
             R4---------R5---------R6 r6'
             (P)        (P)         (PE)
             PATH-1:  R1-R2-L26-R6-R3 : PPR-ID=r3'
             PATH-2:  R1-R5-R6 : PPR-ID=r6'
]]></artwork>
      </figure>
      <t>In the <xref target="FIG-IGPN"/>, consider node R1 as an ingress node, or a head-end
node, and the node R3 may be an egress node or another head-end node.
The numbers shown on links between nodes indicate the bi-directional
IGP metric as provisioned (no number indicates a metric of 1).  R1
may be configured to receive TE source routed path information from a
central entity (PCE <xref target="RFC5440"/>, Netconf <xref target="RFC6241"/> or a Controller)
that comprises PPR information which relates to sources that are
attached to R1.  It is also possible to have a PPR provisioned
locally by the operator for non-TE needs (e.g., FRR or for chaining
certain services).</t>
      <t>The PPR is encoded as an ordered list of path elements from source to
a destination node in the network and is represented with a PPR-ID to
represent the path.  The path can represent both topological and non-
topological elements (for example, links, nodes, queues, priority and
processing actions) and specifies the actual path towards the egress
node.</t>
      <ul spacing="normal">
        <li>The shortest path towards R3 from R1 is through the following sequence
of nodes: R1-R2-R3 based on the provisioned IGP metrics.</li>
        <li>The central entity in this example, can define a PPRs from R1 to R3
and R1 to R6 that deviate from the shortest path based on other network
characteristic requirements as requested by an application or service.
For example, the network characteristics or performance requirements
may include bandwidth, jitter, latency, throughput, error rate, etc.</li>
        <li>In a VPN setup, nodes R1, R3 and R6 are PE nodes and other nodes are P
nodes.  User traffic entering at the ingress PE nodes gets encapsulated
(e.g., MPLS, GRE, GTP, IP-IN-IP, GUE) and will be delivered to the egress PE.</li>
      </ul>
      <t>Consider two paths in the above network:</t>
      <ul spacing="normal">
        <li>PATH-1: A first PPR may be identified by PPR-ID = r3' with the
path description R1-R2-L26-R6-R3 for a Prefix advertised by R3.
This is an example of a strict path with a combination of links and nodes.</li>
        <li>PATH-2: A second PPR may be identified by PPR-ID = r6' with the path
description R1-R5-R6.  This is an example of a loose path. Though this
example shows PPRs with node identifiers it is possible to have a PPR
with a combination of Non-Topological elements along the path.</li>
      </ul>
      <t>The first topological element relative to the beginning of PPR Path
descriptor contains the information about the first node in the path
that the packet must pass through (e.g. equivalent to the top label
in SR-MPLS and the first SID in an SRv6 SRH).  The last topological
sub-object or PDE contains information about the last node (e.g. in
SR-MPLS it is equivalent to the bottom SR label).</t>
      <t>Each IGP node receiving a complete path description, determines
whether the node is on the advertised PPR path.  This is called
the PPR on-path check.  It then determines whether it is included
more than once on that path.  This PPR validation prevents the
formation of a routing loop.  If the path is looped, no further
processing of the PPR is undertaken.  (Note that even if it is
invalid, the PPR descriptor must still be flooded to preserve the
consistency of the underlying routing protocol).  If the validation
succeeds, the receiving IGP node installs a Forwarding Information
dataBase (FIB) entry for the PPR-ID with the NextHop (NH) required
to take the packet to the next topological path element in the path
description. Processing of PPRs may be done at the end of the
IGP SPF computation.</t>
      <t>Consider PPR path PATH-1 in <xref target="FIG-IGPN"/>.  When node R5 receives the PPR
(PATH-1) information it does not install a FIB entry for PATH-1
because this PPR does not include node R5 in the path description/
ordered path list.</t>
      <t>However, node R5 determines that the second PPR (PATH-2), does
include the node R5 in its path description (the on-path check
passes).  Therefore, node R5 updates its FIB to include an entry for
the destination address that R6 indicates (PPR-ID) along with path
description.  This allows the forwarding of data packets with
the PPR-ID (r6') to the next element along the path, and hence
towards node R6.</t>
      <t>To summarize the control plane processing, the receiving IGP node
determines if it is on the path by checking the node's topological
elements in the path list.  If it is, it adds/adjusts the PPR-ID's
shortest path NH towards the next topological path element in the
PPR's path list.  This process continues at every IGP node as
specified in the path description TLV.</t>
      <section anchor="SEC-PPRDP">
        <name>PPR Data Plane aspects</name>
        <t>Data plane type for PPR-ID is selected by the entity (e.g., a
controller, locally provisioned by operator), which selects a
particular PPR in the network.</t>
        <section anchor="SEC-PPNIP">
          <name>PPR Native IP Data Planes</name>
          <t>In an IPv4 network, source routing and packet steering with PPR can
be done by selecting the IPv4 data plane type (PPR-IPv4), in PPR Path
description with a corresponding IPv4 address/prefix as PPR-ID while
signaling the path description in the control plane <xref target="SEC-PPRCP"/>.
Forwarding is done by setting the destination IP address of the
packet as PPR-ID at the ingress node of the network.  In this case
this is an IPv4 address in the tunneled/encapsulated user packet.
There is no data plane change or upgrade needed to support this
functionality.</t>
          <t>Similarly, for an IPv6 network source routing and packet steering can
be done in IPv6 data plane type (PPR-IPv6), along the path as
described in PPR Path description with a corresponding IPv6 address/
prefix as PPR-ID in the control plane <xref target="SEC-PPRCP"/>.  Whatever
specified above for IPv4 applies here too, except that destination IP
address of the encapsulated data packet at the edge node is an IPv6
Address (PPR-ID).  This doesn't require any IPv6 extension headers
(EH).</t>
          <t>For a loose path in an IPv4 or IPv6 network (Native IPv4 or IPv6 data
planes respectively) the packet has to be encapsulated using the
capabilities (either dynamically signaled through
<xref target="I-D.ietf-isis-encapsulation-cap"/> or statically provisioned on the
nodes) of the next loose PDE in the path description.</t>
          <t>Consider the network fragment shown in Figure 3 which further
illustrates loose routing, and consider PATH-3.  Node R2 can reach R5
ECMP through R2-&gt;R3-&gt;R4, and R2-&gt;R6-&gt;R4, both at cost 2.  The path
R2-&gt;R7-&gt;R8-&gt;R4 is longer (cost 3) and is not a path that R2 would
choose to use it to reach R4.  Node R2 (start of the loose segment) is
programmed to encapsulate a data packet towards the next loose
topological PPR-PDE in the path, which is R4.  The NH computed at R1
(for PPR-ID r5') would be the shortest path towards R5 i.e., the
interfaces towards R2.  R2 has an ECMP towards R3 and R6 to reach R4
(next PDE in the loose segment), as packet would be encapsulated at
R2 for R4 as the destination.  R7 and R8 are not involved in this PPR
path and so do not need a FIB entry for PPR-ID r5' (the on-path check
for PATH-3 fails at these nodes).</t>
          <figure anchor="FIG-NLP">
            <name>Network with Loose Path</name>
            <artwork><![CDATA[
       +---R7-----R8--+
       |              |
       |              |     r5'
R1-----R2-----R3------R4-----R5
       |              |     r5''
       |              |
       +------R6------+

       All costs are 1
       PATH-3: R1-R2-R4-R5 : PPR-ID=r5'
       PATH-4: R1-R2-R3-R4-R5 : PPR-ID=r5''
]]></artwork>
          </figure>
          <t>In a strict path, for example, PATH-4 in <xref target="FIG-NLP"/>, PPR-ID is
programmed on the data plane at each node of the path, with NH set to
the shortest path towards the next topological PPR-PDE.  In this case,
no further encapsulation of the data packet is required.</t>
        </section>
        <section anchor="SEC-SRMPLSPPR">
          <name>SR-MPLS with PPR</name>
          <t>PPR is fully backward compatible with the SR data plane.  As control
plane PDEs can be extensible and particular data plane identifiers
can be expressed to describe the path, in SR case PDEs can contain
the SR SIDs.</t>
          <t>In SR-MPLS, a data packet contains the stack of labels (path steering
instructions) which guides the packet traversal in the network.  For
SR-MPLS data plane, the complete set of label stack is represented
with a unique SR SID/Label, PPR-ID, to represent the path.  The PPR-
ID gets programmed on the data plane of each node, with the
appropriate NH computed as specified in <xref target="SEC-PPR"/>.  PPR-ID here is a
label/index from the SRGB (like another node SID or global ADJ-SID).
PPR path description in the control plane is a set of ordered SIDs
represented with PPR-PDEs.  Non-Topological segments described along
with the topological PDEs can also be programmed in the forwarding
plane to enable specific function/service, when the data packet hits
with corresponding PPR-ID.</t>
          <t>For SR-MPLS data plane, either 1 label or 2 labels need to be
provisioned on individual nodes on the path description.  In the
example network <xref target="FIG-IGPN"/>, for PATH-2 (a loose path), during control
plane processing, node R1 programs the bottom label as PPR-ID and the
top label as the next topological PPR-PDE in the path, which is a
node SID of R5.  In the control plane, the NH computed at R1 would be
the shortest path towards R5 i.e., the interfaces towards R2 and R4
(ECMP).  For strict paths, a single label (PPR-ID) is programmed on
the data plane along the path, with NH set to the shortest path
towards the next topological PPR-PDE in the path description.</t>
        </section>
        <section anchor="SEC-SRV6NPPPR">
          <name>SRv6, Network Programming and PPR</name>
          <t>One of the key benefits PPR offers for SRv6 data plane is an
optimized data plane as individual path steering SIDs in the data
packet is replaced with a path identifier (PPR-ID).  Thus potentially
avoids MTU, hardware incompatibilities and processing overhead.  Few
PPR and SRv6 inter working scenarios are listed below.</t>
          <t>In a simple encapsulation mode without SRH
<xref target="RFC8754"/>, an SRv6 SID can be used as
PPR-ID.  With this approach path steering can be brought in with PPR
and some of the network functions as defined in
<xref target="RFC8986"/> can be realized at the
egress node as PPR-ID in this case is a SRv6 SID.</t>
          <t>In SRv6 with SRH, one-way PPR-ID can be used, by setting it as the
destination IPv6 address and SL field in SRH is set to 0; here, SRH
can contain any other TLVs and non-topological SIDs as needed.
Another inter working case can be a multi area IGP deployment.  In
this case multiple PPR-IDs corresponding to each IGP area can be
encoded as SIDs in SRH for an end-to-end path steering with minimal
SIDs in SRH.</t>
        </section>
      </section>
      <section anchor="SEC-PPRCP">
        <name>PPR Control Plane aspects</name>
        <section anchor="ppr-id-and-data-plane-extensibility">
          <name>PPR-ID and Data Plane Extensibility</name>
          <t>The data plane identifier, PPR-ID, describes a path through the
network.  A data plane type and corresponding PPR-ID can be specified
with the advertised path description in the IGP.  The PPR-ID type
allows data plane extensibility for PPR, though it is currently
defined for IPv4, IPv6, SR-MPLS and SRv6 data planes.</t>
          <t>For native IP data planes, this is mapped to either IPv4 or IPv6
address/prefix.  For SR-MPLS, PPR-ID is mapped to an MPLS Label/SID
and for SRv6, this is mapped to an IPv6-SID.  This is further
detailed in <xref target="SEC-PPRDP"/> and <xref target="SEC-SRV6NPPPR"/>.</t>
        </section>
        <section anchor="SEC-PPRPDE">
          <name>PPR Path Description Elements (PDEs)</name>
          <t>The path identified by the PPR-ID is described as a set of Path
Description Elements (PDEs), each of which represents a segment of
the path.  Each node determines its location in the path as
described, and forwards to the next segment/hop or label of the path
description (see the Forwarding Procedure Example later in this
document).</t>
          <t>These PPR-PDEs like SR SIDs, can represent topological elements like
links/nodes, backup nodes, as well as non- topological elements such
as a service, function, or context on a node with additional control
information as needed.</t>
          <t>A preferred path can be described as a Strict-PPR or a Loose-PPR.  In
a Strict-PPR all nodes/links on the path are described with SR-SIDs
for SR data planes or IPv4/IPV6 addresses for native IP data planes.
In a Loose-PPR only some of the nodes/links from source to
destination are described.  More specifics and restrictions around
Strict/Loose PPRs are described in respective data planes in
<xref target="SEC-PPRDP"/> and <xref target="SEC-SRV6NPPPR"/>.  Each PDE is described as either an
MPLS label towards the NH in MPLS enabled networks, or as
an IP NH, in the case of either 'plain'/'native' IP or SRv6 enabled
networks.  A PPR path is related to a set of PDEs using the TLVs specified in
the respective IGPs.</t>
        </section>
        <section anchor="ecmp-considerations">
          <name>ECMP Considerations</name>
          <t>PPR inherently supports Equal Cost Multi Path (ECMP) for both strict
and loose paths.  If a path is described using nodes, it would have
ECMP NHs established for PPR-ID along the path.  In the network shown
in <xref target="FIG-IGPN"/>, for PATH-2, node R1 would establish ECMP NHs computed by
the IGP, towards R5 for the PPR-ID r6'.  However, one can avoid ECMP
on any segment of the path by pinning the path using link identifier
to the next segment as specified for PATH-1 in Figure 2.</t>
        </section>
        <section anchor="ppr-services-along-the-path">
          <name>PPR Services along the Path</name>
          <figure anchor="FIG-SPP">
            <name>Services along the Preferred Path</name>
            <artwork><![CDATA[
     +--------+
     | PPR-ID |
     +--------+-----------+--------+--------+---------+--------+
     |PDE-1   | Context-1 |PDE-2   |PDE-x   |Service-x|PDE-n   |
     +--------+-----------+--------+--------+---------+--------+
]]></artwork>
          </figure>
          <t>As shown in <xref target="FIG-SPP"/>, some of the services specific to a preferred
path, can be encoded as non-topological PDEs and can be part of the
path description.  These services are applied at the respective nodes
along the path.  In <xref target="FIG-SPP"/>, PDE-1,PDE-2, PDE-x, PDE-n are
topological PDEs of a data plane.  For SR-MPLS/SRv6 data planes these
are simply SIDs and for native IP data planes corresponding non-
topological addresses.  When the data packet with a PPR-ID is
delivered to node-1, the packet is delivered to Context-1.  Similarly
on node-x, Service-x is applied.  These services/functions need to be
pre-provisioned on the particular nodes and optionally can be
advertised in IGPs.</t>
          <t>The above gives the basic and light weight service chaining
capability with PPR without incurring any additional overhead on the
data packet.  However, this is limited to fixed services/functions
for a path and all data packets using the path will be applied with
these services.  Flow level exclusions using the same path or
differentiated services that need to be applied with in a flow cannot
be supported with this mechanism and one has to resort to data plane
mechanisms as defined in NSH/SFC <xref target="RFC8300"/>.</t>
        </section>
        <section anchor="SEC-PPRG">
          <name>PPR Graphs</name>
          <t>In a network of N nodes a total O(N^2) unidirectional paths are
necessary to establish any-to-any connectivity, and multiple (k) such
path sets may be desirable if multiple path policies are to be
supported (lowest latency, highest throughput etc.).</t>
          <t>In many solutions and topologies, N may be small enough and/or only a
small set of paths need to be preferred paths, for example for high
value traffic (DetNet, some of the defined 5G slices), and then
a point-to-point path structure specified in this document can
support these deployments.</t>
          <figure anchor="FIG-NGS">
            <name>Network with a Graph Structure: PPR TREE</name>
            <artwork><![CDATA[
               (PE)        (P)        (PE)
               R1---------R2----------R3 r3'
               | \         |\         |  r3''
               |  \        | \L26     |  Rg3'
               |   \       |  \       |
               |    \      |   \      |
               |   10\     |  10\     |
               |      \    |     \    |
               |       \   |      \   |
               |        \  |       \  |
               |         \ |   10   \ |
               R4---------R5---------R6
              (PE)        (P)         (PE)
               PATH-1 :  R1-R2-L26-R6-R3 : PPR-ID=r3'
               PATH-5 :  R4-R5-R2-L26-R6-R3 : PPR-ID=r3''
               GRAPH-1:    R1-R2-L26-R6-R3 : PPR-ID=Rg3'
                              |
                        R4-R5-+
]]></artwork>
          </figure>
          <t>However, to address the scale needed when a larger number of PPR
paths are required and for TE aware IPFRR <xref target="SEC-PLFA"/>, PPR TREE structure can be used.</t>
          <t>Consider the network fragment in <xref target="FIG-NGS"/>, where two PPR paths,
PATH-1 and PATH-5 are shown from different ingress PE nodes (R1, R4)
to the same egress PE node (R3).  In a simple PPR Tree structure,
these 2 paths can be combined to form a PPR Tree structure.  PPR Tree
is one type of a graph where multiple source nodes are rooted at one
particular destination node, with one or more branches.  <xref target="FIG-NGS"/>,
shows a PPR TREE (GRAPH-1), with 2 branches constructed with
different PDEs, has a common PDE (node R2) and
with a forwarding Identifier Rg3' (PPR-ID) at the destination node
R3.</t>
          <t>Each PPR Tree uses one label/SID and defines paths from any set of
nodes to one destination, this reduces the number of entries needed.
For example, it reduces the number of forwarding identifiers needed
in SR-MPLS data plane <xref target="SEC-SRMPLSPPR"/> with PPR, which are derived from
the SRGB at the egress node.  These paths are form a tree rooted at the
destination.  In other word, PPR Tree identifiers are destination
identifiers and PPR Trees are path engineered destination routes
(like IP routes) and its scaling simplifies to linear in N i.e.,
O(k*N).</t>
          <t>In a completely different usage paradigm, a PPR Graph can also have multiple forwarding identifiers (PPR-IDs). Based on 
the algorithm specified for the Graph, path computation can be done in a distributed fashion 
in the network to establish the forwarding over the graph. Various types of PPR Graphs, rules for construction and 
their usage details will be described in future revisions.</t>
        </section>
        <section anchor="ppr-multi-domain-scenarios">
          <name>PPR Multi-Domain Scenarios</name>
          <t>PPR can be extended to multi-domain, including multi-area scenarios
as shown in <xref target="FIG-MDN"/>.</t>
          <figure anchor="FIG-MDN">
            <name>Multi-Domain Network with PPR</name>
            <artwork><![CDATA[
         D1             D2
       ......         ......
      .       .r2'   .      .r4'
     R1........R2--R3........R4
      .       .      .      .
       ......         ......

         PATH-6 = R1-R2-R3-R4
]]></artwork>
          </figure>
          <t>Operation of PPR within the domain is as described in the preceding
sections of this document.  The key difference in operation in multi-
domain concerns the value of the PPR-ID in the packet.  There are
three approaches that can be taken:</t>
          <ol spacing="normal" type="1"><li>The PPR-ID is constant along the end-end-path.  This requires
coordination of the PPR-ID in each domain.  This has the
convenience of a uniform identity for the path.  However, whilst
an IPv6 network has a large PPR identity space, this is not the
case for MPLS and is less the case for IPv4.  The approach also
has the disadvantage that the entirety of the domains involved
need to be configured and provisioned with the common value.  In
the network shown in Figure 6 The PPR-ID for PATH-6 is r4'.</li>
            <li>The PPR-ID for each individual domain is the value that best
suits that domain, and the PPR-ID is swapped at the boundary of
the domains.  This allows a PPR-ID that best suits arch domain.
This is similar to the approach taken with multi-segment
pseudowire <xref target="RFC5659"/>.  This approach better suits the needs of
network layers with limited identity resources.  It also enables
the better coordination of PPR-IDs.  In this approach the PPR-ID
for PATH-6 would be r2' in domain D1 and r4' in domain D2.  These
two PPR-IDs would be distributed in their own domains and the
only inter-domain co-ordination required would be between R2 and
R3.</li>
            <li>A variant of (2) is that the PPR-IDs are domain specific, but a
segment routing approach is taken in which they encoded at
ingress (R1), and are popped at the inter-domain boarder.  This
requires that the domain ingress and egress routers support
segment routing data-plane capability.</li>
          </ol>
          <t>Although the example shown in <xref target="FIG-MDN"/> shows the case of two domains,
nothing limits the design to just two IGP areas.  This further
explained below.</t>
          <t>In controller based deployments, each IGP area can have separate
north bound and south bound communication end points with PCE/SDN
controller, in their respective domain.  It is expected that PPR
paths for each IGP level are computed and provisioned at the ingress
nodes of the corresponding area's area boarder router.  Separate path
advertisement in the respective IGP area should happen with the same
PPR-ID.  With this, only PPR-ID needs to be leaked to the other area,
as long as a path is available in the destination area for that PPR-
ID.  If the destination area is not provisioned with path
information, area boarder shall not leak the PPR-ID to the
destination area.</t>
        </section>
      </section>
      <section anchor="SEC-PPRMP">
        <name>PPR Management Plane Aspects</name>
        <section anchor="igp-metric-independent-pathsgraphs">
          <name>IGP Metric Independent Paths/Graphs</name>
          <t>PRR allows a considerable simplification in the design and management
of networks.  In a best effort network the setting of the IGP metrics
is a complex problem with competing constraints.  A set of metrics
the is optimal for traffic distribution under normal operation may
not be optimal under conditions of failure of one or more of the
network components.  Nor is that choice of metrics necessarily best
for operation under all IPFRR conditions.  When SR is introduced to
the network a further constraint on metrics is the need to limit the
size of the SID stack/list.  These problems further increase with the
introduction of demanding technologies such as network slicing and
deterministic networking.</t>
          <t>Some mitigation occurs with the use of FlexAlgo
<xref target="I-D.ietf-lsr-flex-algo"/> but fundamentally this is still an approach
that is critically dependent on the per-flex-algo provisioning of
different metrics on participating nodes, that operate in both the
normal and the failure case.</t>
          <t>PPR allows the network to simply introduce metric independent paths
on a strategic or tactical basis.  Being metric independent each PPR
path operates ships-in-the-night with respect to all other paths.
This means that the network management system can address network
tuning on a case by case basis only needing to worry about the
traffic matrix along the path rather than needing to deconvolve the
impact of tuning a metric on the whole traffic matrix.  In other
words, PPR is a direct method of tuning the traffic rather than an
the indirect method that metric tuning provides.</t>
          <t>An example that makes this clear is the maximally redundant tree
(MRT) approach to IPFRR.  MRT requires the tuning of metrics to tune
the paths, and a common algorithm for all nodes in the network.  An
equivalent solution can be introduced to the network by the insertion
of a pair of PPR graphs by the network management system.
Furthermore the topology of these graphs are independent of all other
graphs, allowing the tuning and migration of the repair paths in the
network management system.</t>
          <t>Thus PPR allows the operator to focus on the desired traffic path of
specific groups of packets independent of the desired path of the
packets in all other paths.</t>
        </section>
        <section anchor="granular-oam">
          <name>Granular OAM</name>
          <t>For some of the deployments as described in <xref target="SEC-AKUC"/>, the ability to
collect certain statistics about PPR path usage, including how much
traffic a PPR path carries and at what times from any node in the
network is a critical requirement.  Such statistics can be useful to
account for the degree of usage of a path and provide additional
operational insights, including usage patterns and trending
information.</t>
          <t>Traffic for certain PPRs may have more stringent requirement w.r.t
accounting for critical SLAs (e.g. 5G non-eMBB slice) and should
account for any link/node failures along the path.  Optional per path
attributes like Packet Traffic Accounting" and "Traffic Statistics"
instructs all the respective nodes along the path to provision the
hardware and to account for the respective traffic statistics.
Traffic accounting should be applied based on the PPR-ID.  This
capability allows a more granular and dynamic measurement of traffic
statistics for only certain PPRs as needed.</t>
          <t>As routing happens on the abstracted path identifier in the packet,
no additional per packet instruction is needed for achieving the
above functionality regardless of the data plane used in the network
<xref target="SEC-PPRDP"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="SEC-PLFA">
      <name>Preferred Path Loop Free Alternatives (pLFA )</name>
      <t>PPR can be used as a method of providing IPFRR.
Preferred Path Loop-Free Alternate (pLFA)
allows the construction of arbitrary
engineered backup paths pLFA and inherits the low packet overhead of
PPR requiring a simple encapsulation and a single path identifier for
any path of any complexity.</t>
      <t>pLFA provides a superset of RSVP-TE repairs (complete with traffic
engineering capability) and Topology Independent Loop-Free Alternates
(TI-LFA) <xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/>.  However, unlike
the TI-LFA approaches PPR is applicable to a more complete set of
data planes (for example MPLS, both IPv4 and IPv6 and Ethernet) where
it can provide a rich set of IPFRR capabilities ranging from simple
best-effort repair calculated at the point of local repair (PLR) to
full traffic engineered paths.  For any repair path pLFA requires one
encapsulation and one PPR-ID, regardless of the complexity and
constraints of the path.</t>
      <t>For a basic understanding of pLFA consider the case of a link repair
shown in this example as shown in  <xref target="FIG-FIG7"/>, 
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 anchor="FIG-FIG7">
        <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 an encapsulation with a
destination address set as the PPR-ID for c' and then sending the
packet to E.  At C the packet is decapsulated and sent to D.  The
path B-&gt;E-&gt;F-&gt;G-&gt;C may be a traffic engineered path or it may be a
best effort path.  This may of course be the post convergence path
from B to C, as is used by TI-LFA However 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.).  Because pLFA only requires a single path
identifier regardless of the complexity of the path is not necessary
constrain the path to be a small number of loose source routed paths
to protect against MTU or maximum SID count considerations.</t>
      <t>pLFA supports the usual IPFRR features such as early release into
Q-space, node repair, and shared risk link group support, LANs, ECMP
and multi-homed prefixes.  However the ability to apply repair graphs
<xref target="SEC-PPRG"/> is unique to pLFA. The use of graphs in IPFRR repair
simplifies the construction of traffic engineered repair paths, and
allows for the construction of arbitrary maximally redundant tree
repair paths.</t>
      <t>Of importance in any IPFRR strategy in a loosely routed network,
including normal connectionless routing is the ability to support
loop-free convergence.  This problem is described in <xref target="RFC5715"/>.
<xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/> has proposed a mitigation
technique for failures (noted above) and pLFA is able to support
this.  However a network supporting high reliability traffic may find
mitigation insufficient.  Also disruption can take place on network
component inclusion (or repair/recovery) and TI-LFA is silent on
this.  A network using pLFA is compatible with all of the know loop-
free convergence and loop mitigation approaches described in
<xref target="RFC5715"/>.</t>
    </section>
    <section anchor="traffic-engineering-attributes">
      <name>Traffic Engineering Attributes</name>
      <t>In addition to determining the nodes to traverse, there may be other
aspects that need to be set up for a path.  Most notably, this
concerns the allocation and reservation of resources along the path
to help ensure the service levels, i.e. the Quality of Service that
is delivered across the path, will be acceptable for the traffic
routed across the path (critical in some deployments as listed in
<xref target="SEC-AKUC"/>).</t>
      <t>While SR allows packet steering on a specified path (for MPLS and
IPv6 with SRH), it does not have any notion of QoS or resources
reserved along the path.  The determination of which resources to
allocate and reserve on nodes across the path, like the determination
of the path itself, can in many cases be made by a controller.
Accordingly, PPR includes extensions that allow to manage those
reservations, in addition to the path itself.</t>
      <t>Key aspect of the solution concerns with specifying the resources to
be reserved along the preferred path, through path attributes TLVs.
Reservations are expressed in terms of required resources
(bandwidth), traffic characteristics (burst size), and service level
parameters (expected maximum latency at each hop) based on the
capabilities of each node and link along the path.  The second part
of the solution is providing mechanism to indicate the status of the
reservations requested i.e. if these have been honored by individual
node/links in the path.  This can be done by defining a new TLV/Sub-
TLV in respective IGPs.  Another aspect is additional node level TLVs
and extensions to IS-IS-TE <xref target="RFC8570"/> and OSPF-TE <xref target="RFC7471"/> to provide
accounting/usage statistics that have to be maintained at each node
per preferred path.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document does not request any allocations from IANA.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Advertisement of the additional information defined in this document
introduces no new security concerns in IGP protocols.  However, for
extensions related to SR-MPLS and SRH data planes, those particular
data plane security considerations does apply here.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  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="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC5440" target="https://www.rfc-editor.org/info/rfc5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author fullname="JP. Vasseur" initials="JP." role="editor" surname="Vasseur">
              <organization/>
            </author>
            <author fullname="JL. Le Roux" initials="JL." role="editor" surname="Le Roux">
              <organization/>
            </author>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs.  Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering.  PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5440"/>
          <seriesInfo name="DOI" value="10.17487/RFC5440"/>
        </reference>
        <reference anchor="I-D.ietf-isis-encapsulation-cap" target="https://www.ietf.org/archive/id/draft-ietf-isis-encapsulation-cap-01.txt">
          <front>
            <title>Advertising Tunnelling Capability in IS-IS</title>
            <author fullname="Xiaohu Xu" initials="X." surname="Xu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Robert Raszuk" initials="R." surname="Raszuk">
              <organization>Bloomberg LP</organization>
            </author>
            <author fullname="Uma Chunduri" initials="U." surname="Chunduri">
              <organization>Huawei</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
         </author>
            <author fullname="Luay Jalil" initials="L." surname="Jalil">
              <organization>Verizon</organization>
            </author>
            <date day="24" month="April" year="2017"/>
            <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-ietf-isis-encapsulation-cap-01"/>
        </reference>
        <reference anchor="I-D.ietf-lsr-flex-algo" target="https://www.ietf.org/archive/id/draft-ietf-lsr-flex-algo-26.txt">
          <front>
            <title>IGP Flexible Algorithm</title>
            <author fullname="Peter Psenak" initials="P." surname="Psenak">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Shraddha Hegde" initials="S." surname="Hegde">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems, Inc</organization>
            </author>
            <author fullname="Arkadiy Gulko" initials="A." surname="Gulko">
              <organization>Edward Jones</organization>
            </author>
            <date day="17" month="October" year="2022"/>
            <abstract>
              <t>   IGP protocols historically compute best paths over the network based
   on the IGP metric assigned to the links.  Many network deployments
   use RSVP-TE based or Segment Routing based Traffic Engineering to
   steer traffic over a path that is computed using different metrics or
   constraints than the shortest IGP path.  This document specifies a
   solution that allows IGPs themselves to compute constraint-based
   paths over the network.  This document also specifies a way of using
   Segment Routing (SR) Prefix-SIDs and SRv6 locators to steer packets
   along the constraint-based paths.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lsr-flex-algo-26"/>
        </reference>
        <reference anchor="I-D.ietf-rtgwg-segment-routing-ti-lfa" target="https://www.ietf.org/archive/id/draft-ietf-rtgwg-segment-routing-ti-lfa-08.txt">
          <front>
            <title>Topology Independent Fast Reroute using Segment Routing</title>
            <author fullname="Stephane Litkowski" initials="S." surname="Litkowski">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ahmed Bashandy" initials="A." surname="Bashandy">
              <organization>Individual</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Pierre Francois" initials="P." surname="Francois">
              <organization>INSA Lyon</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Bell Canada</organization>
            </author>
            <date day="21" month="January" year="2022"/>
            <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 two connected network using a link-state IGP.  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, 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-08"/>
        </reference>
        <reference anchor="I-D.ietf-teas-enhanced-vpn" target="https://www.ietf.org/archive/id/draft-ietf-teas-enhanced-vpn-11.txt">
          <front>
            <title>A Framework for Enhanced Virtual Private Network (VPN+)</title>
            <author fullname="Jie Dong" initials="J." surname="Dong">
              <organization>Huawei</organization>
            </author>
            <author fullname="Stewart Bryant" initials="S." surname="Bryant">
              <organization>University of Surrey</organization>
            </author>
            <author fullname="Zhenqiang Li" initials="Z." surname="Li">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Takuya Miyasaka" initials="T." surname="Miyasaka">
              <organization>KDDI Corporation</organization>
            </author>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung</organization>
            </author>
            <date day="19" month="September" year="2022"/>
            <abstract>
              <t>   This document describes the framework for Enhanced Virtual Private
   Network (VPN+).  The purpose of VPN+ is to support the needs of new
   applications (e.g. low latency, bounded jitter, etc.), by utilizing
   an approach that is based on the VPN and Traffic Engineering (TE)
   technologies, and adds characteristics that specific services require
   beyond those provided by existing VPNs.  Typically, VPN+ will be used
   to underpin network slicing, but could also be of use in its own
   right providing enhanced connectivity services between customer
   sites.  This document also provides an overview of relevant
   technologies in different network layers, and identifies some areas
   for potential new work.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-enhanced-vpn-11"/>
        </reference>
        <reference anchor="RFC5659" target="https://www.rfc-editor.org/info/rfc5659">
          <front>
            <title>An Architecture for Multi-Segment Pseudowire Emulation Edge-to-Edge</title>
            <author fullname="M. Bocci" initials="M." surname="Bocci">
              <organization/>
            </author>
            <author fullname="S. Bryant" initials="S." surname="Bryant">
              <organization/>
            </author>
            <date month="October" year="2009"/>
            <abstract>
              <t>This document describes an architecture for extending pseudowire emulation across multiple packet switched network (PSN) segments.  Scenarios are discussed where each segment of a given edge-to-edge emulated service spans a different provider's PSN, as are other scenarios where the  emulated service originates and terminates on the same provider's PSN, but may pass through several PSN tunnel segments in that PSN.  It presents an architectural framework for such multi-segment pseudowires, defines terminology, and specifies the various protocol elements and their functions.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5659"/>
          <seriesInfo name="DOI" value="10.17487/RFC5659"/>
        </reference>
        <reference anchor="RFC5715" target="https://www.rfc-editor.org/info/rfc5715">
          <front>
            <title>A Framework for Loop-Free Convergence</title>
            <author fullname="M. Shand" initials="M." surname="Shand">
              <organization/>
            </author>
            <author fullname="S. Bryant" initials="S." surname="Bryant">
              <organization/>
            </author>
            <date month="January" year="2010"/>
            <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 fullname="D. Katz" initials="D." surname="Katz">
              <organization/>
            </author>
            <author fullname="D. Ward" initials="D." surname="Ward">
              <organization/>
            </author>
            <date month="June" year="2010"/>
            <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="RFC6241" target="https://www.rfc-editor.org/info/rfc6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns">
              <organization/>
            </author>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund">
              <organization/>
            </author>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder">
              <organization/>
            </author>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman">
              <organization/>
            </author>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices.  It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages.  The NETCONF protocol operations are realized as remote procedure calls (RPCs).  This document obsoletes RFC 4741.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC7471" target="https://www.rfc-editor.org/info/rfc7471">
          <front>
            <title>OSPF Traffic Engineering (TE) Metric Extensions</title>
            <author fullname="S. Giacalone" initials="S." surname="Giacalone">
              <organization/>
            </author>
            <author fullname="D. Ward" initials="D." surname="Ward">
              <organization/>
            </author>
            <author fullname="J. Drake" initials="J." surname="Drake">
              <organization/>
            </author>
            <author fullname="A. Atlas" initials="A." surname="Atlas">
              <organization/>
            </author>
            <author fullname="S. Previdi" initials="S." surname="Previdi">
              <organization/>
            </author>
            <date month="March" year="2015"/>
            <abstract>
              <t>In certain networks, such as, but not limited to, financial information networks (e.g., stock market data providers), network performance information (e.g., link propagation delay) is becoming critical to data path selection.</t>
              <t>This document describes common extensions to RFC 3630 "Traffic                                           Engineering (TE) Extensions to OSPF Version 2" and RFC 5329 "Traffic                                     Engineering Extensions to OSPF Version 3" to enable network performance information to be distributed in a scalable fashion.  The information distributed using OSPF TE Metric Extensions can then be used to make path selection decisions based on network performance.</t>
              <t>Note that this document only covers the mechanisms by which network performance information is distributed.  The mechanisms for measuring network performance information or using that information, once distributed, are outside the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7471"/>
          <seriesInfo name="DOI" value="10.17487/RFC7471"/>
        </reference>
        <reference anchor="RFC8570" target="https://www.rfc-editor.org/info/rfc8570">
          <front>
            <title>IS-IS Traffic Engineering (TE) Metric Extensions</title>
            <author fullname="L. Ginsberg" initials="L." role="editor" surname="Ginsberg">
              <organization/>
            </author>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi">
              <organization/>
            </author>
            <author fullname="S. Giacalone" initials="S." surname="Giacalone">
              <organization/>
            </author>
            <author fullname="D. Ward" initials="D." surname="Ward">
              <organization/>
            </author>
            <author fullname="J. Drake" initials="J." surname="Drake">
              <organization/>
            </author>
            <author fullname="Q. Wu" initials="Q." surname="Wu">
              <organization/>
            </author>
            <date month="March" year="2019"/>
            <abstract>
              <t>In certain networks, such as, but not limited to, financial information networks (e.g., stock market data providers), network-performance criteria (e.g., latency) are becoming as critical to data-path selection as other metrics.</t>
              <t>This document describes extensions to IS-IS Traffic Engineering Extensions (RFC 5305).  These extensions provide a way to distribute and collect network-performance information in a scalable fashion. The information distributed using IS-IS TE Metric Extensions can then be used to make path-selection decisions based on network performance.</t>
              <t>Note that this document only covers the mechanisms with which network-performance information is distributed.  The mechanisms for measuring network performance or acting on that information, once distributed, are outside the scope of this document.</t>
              <t>This document obsoletes RFC 7810.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8570"/>
          <seriesInfo name="DOI" value="10.17487/RFC8570"/>
        </reference>
        <reference anchor="RFC8300" target="https://www.rfc-editor.org/info/rfc8300">
          <front>
            <title>Network Service Header (NSH)</title>
            <author fullname="P. Quinn" initials="P." role="editor" surname="Quinn">
              <organization/>
            </author>
            <author fullname="U. Elzur" initials="U." role="editor" surname="Elzur">
              <organization/>
            </author>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro">
              <organization/>
            </author>
            <date month="January" year="2018"/>
            <abstract>
              <t>This document describes a Network Service Header (NSH) imposed on packets or frames to realize Service Function Paths (SFPs).  The NSH also provides a mechanism for metadata exchange along the instantiated service paths.  The NSH is the Service Function Chaining (SFC) encapsulation required to support the SFC architecture (defined in RFC 7665).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8300"/>
          <seriesInfo name="DOI" value="10.17487/RFC8300"/>
        </reference>
        <reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils">
              <organization/>
            </author>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi">
              <organization/>
            </author>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg">
              <organization/>
            </author>
            <author fullname="B. Decraene" initials="B." surname="Decraene">
              <organization/>
            </author>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski">
              <organization/>
            </author>
            <author fullname="R. Shakir" initials="R." surname="Shakir">
              <organization/>
            </author>
            <date month="July" year="2018"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source routing paradigm.  A node steers a packet through an ordered list of instructions, called "segments".  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="RFC8660" target="https://www.rfc-editor.org/info/rfc8660">
          <front>
            <title>Segment Routing with the MPLS Data Plane</title>
            <author fullname="A. Bashandy" initials="A." role="editor" surname="Bashandy">
              <organization/>
            </author>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils">
              <organization/>
            </author>
            <author fullname="S. Previdi" initials="S." surname="Previdi">
              <organization/>
            </author>
            <author fullname="B. Decraene" initials="B." surname="Decraene">
              <organization/>
            </author>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski">
              <organization/>
            </author>
            <author fullname="R. Shakir" initials="R." surname="Shakir">
              <organization/>
            </author>
            <date month="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source-routing paradigm.  A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with an SR header.  In the MPLS data plane, the SR header is instantiated through a label stack. This document specifies the forwarding behavior to allow instantiating SR over the MPLS data plane (SR-MPLS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8660"/>
          <seriesInfo name="DOI" value="10.17487/RFC8660"/>
        </reference>
        <reference anchor="RFC8754" target="https://www.rfc-editor.org/info/rfc8754">
          <front>
            <title>IPv6 Segment Routing Header (SRH)</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils">
              <organization/>
            </author>
            <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes">
              <organization/>
            </author>
            <author fullname="S. Previdi" initials="S." surname="Previdi">
              <organization/>
            </author>
            <author fullname="J. Leddy" initials="J." surname="Leddy">
              <organization/>
            </author>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima">
              <organization/>
            </author>
            <author fullname="D. Voyer" initials="D." surname="Voyer">
              <organization/>
            </author>
            <date month="March" year="2020"/>
            <abstract>
              <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8754"/>
          <seriesInfo name="DOI" value="10.17487/RFC8754"/>
        </reference>
        <reference anchor="RFC8986" target="https://www.rfc-editor.org/info/rfc8986">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils">
              <organization/>
            </author>
            <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo">
              <organization/>
            </author>
            <author fullname="J. Leddy" initials="J." surname="Leddy">
              <organization/>
            </author>
            <author fullname="D. Voyer" initials="D." surname="Voyer">
              <organization/>
            </author>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima">
              <organization/>
            </author>
            <author fullname="Z. Li" initials="Z." surname="Li">
              <organization/>
            </author>
            <date month="February" year="2021"/>
            <abstract>
              <t>The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t>Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t>This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7V96XPbWJLnd0Xof0C4P1jcIqXyWW53dMfIsmRrx5bVkqp6
N3Z2NyASlDAmAQ4AWtZ21f+++cvrJUDK5dqjZqqLIoF35MuX9zGZTHZ3pvWs
rG5eZ+tuPnm1u7O705XdonidnTfFvGiaYpad591tdlGvO3ouO2nyZXFXN593
d/Lr66b4Qk+eX8SvZ/W0oj9eZ7Mmn3eT6e26mq2bctJ0N3c3k5UNO1nRsJNG
hp38+Gx3545WcXH17h/vMlpV3hU3dXP/Omu7GVZF89Aj7fp6WbZtWVfd/Yqm
OD2+OsGvbZdXs/+ZL+qKvrwv2t2dVfk6+29dPR1nbd10NGlLn+6X8mFaL5dF
1bX/He/m6+62bl7v7mTZBP/D/5RV+zq73M/eNPd51fnXsrHLrrjLm274Y1MD
bsWs7OrGv6wb2tXPVfmlaNqyu8/qeXa5pv3fZy/enR75Y8UyLxe02et/aWXw
ax57n1aKNW4s7ef97EgBO1jcz8t886eHl3ZadcUiO6qbVd3kHQF2uKT1Mp/u
l0U3/5cbfCEr0ke2LOyQFrYolsvBqg4XxVc6oqIZ/MprOFl366a4K8rh3Iv1
7K68+ZcpXtmnRwGKqm6WtNAvBZ/YxcnR0ydP/myfXz356flrPFVW8+FzL54/
/5E/n07e8oYmZVu2k6Ka5qt2veDNT+hz/5lF20zmtPhJvrip+z8JQrfFDXDJ
MbkrJ4t53n+yK3JMdJtXU0L8L6vK1/Tyha/9xU9PXvjnV69+tM8vnz5/Yp9/
ev6Tf3714id/5tWzH9Pn5z8+9c8vX6bvf3rx3D//+dVLhtPuzmQyyfLrtmvy
aYe/j/JVPgWmzugQqhndliu6x/Nymh1XN2VVFA3IwN7V8Sijn+mprmiWZVW2
dKh5U9B1WxbA8s+E4k3xH+uyKfiuZXQg2Ze8Ket1m02LxYJA3owJJ28KepFG
KgllaRllvqBBV4v6nl/bz7Kr26It4ndZu8qrbN7Uy4yWeL+7swZmLe6xsFne
5Rn9XGRdMb2t6kV9UxYtDT4lZMIDFSNFdnr+5fk4/PGSFkHk4ya7K4nafTz/
cMnbu5TTdfK3d3kx2geYrm7LNiNSt+afV039pZzRPDktSykhb/gBKrpHNBPj
gHSWeGtZEBGaAW4yFB4Cgcyu85Zent3TNaIjUCTjofOsWi+vC7rPeCuffi66
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
zYO9JYRdC/hE0AfXZxj9b4oUeCNEuQAA

-->

</rfc>
