<?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.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-pce-multipath-14" category="std" consensus="true" submissionType="IETF" updates="8231" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="PCEP Extensions for Multipath">Path Computation Element Communication Protocol (PCEP) Extensions for Signaling Multipath Information</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-pce-multipath-14"/>
    <author initials="M." surname="Koldychev" fullname="Mike Koldychev">
      <organization>Ciena Corporation</organization>
      <address>
        <email>mkoldych@ciena.com</email>
      </address>
    </author>
    <author initials="S." surname="Sivabalan" fullname="Siva Sivabalan">
      <organization>Ciena Corporation</organization>
      <address>
        <email>ssivabal@ciena.com</email>
      </address>
    </author>
    <author initials="T." surname="Saad" fullname="Tarek Saad">
      <organization>Cisco Systems</organization>
      <address>
        <email>tsaad@cisco.com</email>
      </address>
    </author>
    <author initials="V." surname="Beeram" fullname="Vishnu Pavan Beeram">
      <organization>Juniper Networks, Inc.</organization>
      <address>
        <email>vbeeram@juniper.net</email>
      </address>
    </author>
    <author initials="H." surname="Bidgoli" fullname="Hooman Bidgoli">
      <organization>Nokia</organization>
      <address>
        <email>hooman.bidgoli@nokia.com</email>
      </address>
    </author>
    <author initials="B." surname="Yadav" fullname="Bhupendra Yadav">
      <organization>Ciena</organization>
      <address>
        <email>byadav@ciena.com</email>
      </address>
    </author>
    <author initials="S." surname="Peng" fullname="Shuping Peng">
      <organization>Huawei Technologies</organization>
      <address>
        <email>pengshuping@huawei.com</email>
      </address>
    </author>
    <author initials="G." surname="Mishra" fullname="Gyan Mishra">
      <organization>Verizon Inc.</organization>
      <address>
        <email>gyan.s.mishra@verizon.com</email>
      </address>
    </author>
    <author initials="S." surname="Sidor" fullname="Samuel Sidor">
      <organization>Cisco Systems.</organization>
      <address>
        <email>ssidor@cisco.com</email>
      </address>
    </author>
    <date year="2025" month="September" day="5"/>
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
      <?line 67?>

<t>Certain traffic engineering path computation problems require solutions that
consist of multiple traffic paths, that together form a solution.
Returning just one single traffic path does not provide a valid solution.
This document defines mechanisms to encode multiple paths for a single set of
objectives and constraints.
This allows encoding of multiple Segment Lists per
Candidate Path within a Segment Routing Policy.
The new Path Computation Element Communication Protocol (PCEP) mechanisms are meant to be generic,
where possible, to allow for future re-use outside of SR Policy.
The new PCEP mechanisms are applicable to both stateless and stateful PCEP. Additionally,
this document updates RFC 8231 to allow encoding of multiple Segment Lists in PCEP.</t>
    </abstract>
  </front>
  <middle>
    <?line 81?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Segment Routing Policy for Traffic Engineering
<xref target="RFC9256"/> details the concepts of SR
Policy and approaches to steering traffic into an SR Policy.  In
particular, it describes the SR candidate-path as a collection of one
or more Segment-Lists.  The current PCEP standards only allow for
signaling of one Segment-List per Candidate-Path.  PCEP extension to
support Segment Routing Policy Candidate Paths
<xref target="I-D.ietf-pce-segment-routing-policy-cp"/> specifically avoids
defining how to signal multiple Segment-Lists.</t>
      <t>This document defines the required extensions that allow the signaling
of multipath information via PCEP. Although these extensions are
motivated by the SR Policy use case, they are also applicable
to other data plane types.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, 
they appear in all capitals, as shown here.</t>
      <section anchor="terms-and-abbreviations">
        <name>Terms and Abbreviations</name>
        <t>The following terms are used in this document:</t>
        <t>ECMP:</t>
        <ul empty="true">
          <li>
            <t>Equal Cost Multi Path, equally distributing traffic among multiple paths/links, where each path/link gets the same share of traffic as others.</t>
          </li>
        </ul>
        <t>W-ECMP:</t>
        <ul empty="true">
          <li>
            <t>Weighted ECMP, un-equally distributing traffic among multiple paths/links, where some paths/links get more traffic than others.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="motivation">
      <name>Motivation</name>
      <t>This extension is motivated by the use-cases described below.</t>
      <section anchor="signaling-multiple-segment-lists-of-an-sr-candidate-path">
        <name>Signaling Multiple Segment-Lists of an SR Candidate-Path</name>
        <t>The Candidate-Path of an SR Policy is the unit of signaling in PCEP, see
<xref target="I-D.ietf-pce-segment-routing-policy-cp"/>.  Each Candidate-Path can
contain multiple Segment-Lists and each Segment-List is encoded by
one ERO.  However, each PCEP LSP can contain only a
single ERO, which prevents us from encoding multiple Segment-Lists 
within the same SR Candidate-Path.</t>
      </section>
      <section anchor="splitting-of-requested-bandwidth">
        <name>Splitting of Requested Bandwidth</name>
        <t>A PCC may request a path with 80 Gbps of bandwidth, but all links in the
network have only 60 Gbps capacity.  The PCE can return two paths, that can
together carry 80 Gbps. The PCC can then equally or unequally split the incoming
80 Gbps of traffic among the two paths. <xref target="WEIGHT-TLV"/> introduces a
new TLV that carries the path weight that facilitates control of load-balancing
of traffic among the multiple paths.</t>
      </section>
      <section anchor="reverse-path-information">
        <name>Reverse Path Information</name>
        <t>Path Computation Element Communication Protocol (PCEP) Extensions for Associated 
Bidirectional Label Switched Paths (LSPs) <xref target="RFC9059"/> defines a mechanism in PCEP
to associate two opposite direction SR Policy Candidate Paths. 
However, within each Candidate Path there can be multiple Segment-Lists,
and <xref target="RFC9059"/> does not define a mechanism to specify Segment-List to Segment-List
mapping between the forward and reverse Candidate Paths.
Certain applications such as Circuit Style SR Policy <xref target="I-D.ietf-spring-cs-sr-policy"/>,
require the knowledge of reverse path(s) per Segment-List, not just per Candidate path.
For example, when the headend knows the reverse Segment-List for each forward Segment-List, 
then PM/BFD can run a separate session on every Segment-List, 
by imposing a double stack (forward stack followed by reverse stack) onto the packet.
If the reverse Segment-List is co-routed with the forward Segment-List, then 
the PM/BFD session would traverse the same links in the forward and reverse directions,
thus allowing to detect link/node failures in both directions.</t>
      </section>
    </section>
    <section anchor="protocol-extensions">
      <name>Protocol Extensions</name>
      <section anchor="path-attributes-object">
        <name>Path Attributes Object</name>
        <t>We define the PATH-ATTRIB object that is used to carry per-path
information and to act as a separator between several ERO/RRO objects
in the &lt;intended-path&gt;/&lt;actual-path&gt; RBNF element.
The PATH-ATTRIB object always precedes the ERO/RRO that it applies to.  If
multiple ERO/RRO objects are present, then each ERO/RRO object MUST be
preceded by an PATH-ATTRIB object that describes it.</t>
        <t>The PATH-ATTRIB Object-Class value is (45).</t>
        <t>The PATH-ATTRIB Object-Type value is 1.</t>
        <figure anchor="fig-path-attrib">
          <name>PATH-ATTRIB object format</name>
          <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Flags                         |R|  O  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        Path ID                                |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ~                     Optional TLVs                             ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Flags (32 bits):</t>
        <ul spacing="normal">
          <li>
            <t>O (Operational - 3 bits): operational state of the path, same 
values as the identically named field in the LSP object <xref target="RFC8231"/>.</t>
          </li>
          <li>
            <t>R (Reverse - 1 bit): Indicates this path is reverse, i.e., it
originates on the LSP destination and terminates on the
LSP source (usually the PCC headend itself).
Paths with this flag set serve only informational
purpose to the PCC.</t>
          </li>
          <li>
            <t>Unassigned bits MUST be set to '0' on transmission and MUST be
ignored on receipt.</t>
          </li>
        </ul>
        <t>Path ID (32 bits): 4-octet identifier that identifies a path (encoded
in the ERO/RRO) within the set of multiple paths under the PCEP LSP.
See <xref target="PATH-ID"/> for details.</t>
      </section>
      <section anchor="METRIC">
        <name>Metric</name>
        <t>The PCEP METRIC object can continue to be used at the LSP level.
The metric value encoded into the LSP level METRIC object SHOULD be
the maximum value of all the per PATH metrics. Per-path metrics are
outside the scope of this document and would require further extensions.</t>
      </section>
      <section anchor="WEIGHT-TLV">
        <name>Multipath Weight TLV</name>
        <t>New MULTIPATH-WEIGHT TLV is optional in the PATH-ATTRIB object.</t>
        <figure anchor="fig-multipath-weight">
          <name>MULTIPATH-WEIGHT TLV format</name>
          <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |             Type              |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                             Weight                            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Type: (61) for "MULTIPATH-WEIGHT" TLV.</t>
        <t>Length: 4.</t>
        <t>Weight (32 bits): weight of this path within the multipath, if W-ECMP
is desired. The fraction of flows a specific ERO/RRO carries is derived
from the ratio of its weight to the sum of all other path weights.</t>
        <t>When the MULTIPATH-WEIGHT TLV is absent from the PATH-ATTRIB object,
or the PATH-ATTRIB object is absent from the
&lt;intended-path&gt;/&lt;actual-path&gt;, then the Weight of the corresponding
path is taken to be "1".</t>
      </section>
      <section anchor="BACKUP-TLV">
        <name>Multipath Backup TLV</name>
        <t>New MULTIPATH-BACKUP TLV is optional in the PATH-ATTRIB object.</t>
        <t>This TLV is used to specify protecting standby path(s),
for each ECMP path within a PCEP LSP.
This is similar to path protection, but works at the ECMP path level
instead of at the PCEP LSP level.</t>
        <t>This functionality is not part of the SR Policy Architecture <xref target="RFC9256"/>,
but is something optional that MAY be implemented for certain 
specialized use cases.
One such use case is the P2MP SR Policy <xref target="I-D.draft-ietf-pce-sr-p2mp-policy"/>.</t>
        <figure anchor="fig-multipath-backup">
          <name>MULTIPATH-BACKUP TLV format</name>
          <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |             Type              |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |       Backup Path Count       |             Flags           |B|
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Backup Path ID 1                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Backup Path ID 2                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                              ...                              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Backup Path ID n                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
        </figure>
        <t>Type: (62) for "MULTIPATH-BACKUP" TLV</t>
        <t>Length: 4 + (N * 4) (where N is the Backup Path Count)</t>
        <t>Backup Path Count (16 bits): Number of backup path(s).</t>
        <t>Flags (16 bits):</t>
        <ul spacing="normal">
          <li>
            <t>B: If set, indicates a pure backup path. This is a path that only
carries rerouted traffic after the protected path fails. If this flag
is not set, or if the MULTIPATH-BACKUP TLV is absent,
then the path is assumed to be primary that
carries normal traffic.</t>
          </li>
          <li>
            <t>Unassigned bits MUST be set to '0' on transmission and MUST be
ignored on receipt.</t>
          </li>
        </ul>
        <t>Backup Path ID(s): a series of 4-octet identifier(s) that identify the
backup path(s) in the set that protect this primary path.</t>
      </section>
      <section anchor="OPPDIR-PATH-TLV">
        <name>Multipath Opposite Direction Path TLV</name>
        <t>New MULTIPATH-OPPDIR-PATH TLV is optional in the PATH-ATTRIB object.
Multiple instances of the TLV are allowed in the same PATH-ATTRIB object.
This TLV encodes a many-to-many mapping between forward and reverse
paths.</t>
        <t>Many-to-many mapping means that a single forward path MAY map
to multiple reverse paths and conversely that a single reverse
path MAY map to multiple forward paths.
Many-to-many mapping can happen for an SR Policy,
when a Segment-List contains Node Segment(s)
which traverse parallel links at the midpoint.
The reverse of this Segment-List may not be able to be expressed as a single
Reverse Segment-List, but need to return multiple Reverse Segment-Lists
to cover all the parallel links at the midpoint.</t>
        <figure anchor="fig-multipath-oppdir">
          <name>MULTIPATH-OPPDIR-PATH TLV format</name>
          <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |             Type              |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |           Reserved            |             Flags         |L|N|
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                 Opposite Direction Path ID                    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
        </figure>
        <t>Type: (63) for "MULTIPATH-OPPDIR-PATH" TLV</t>
        <t>Length: 16.</t>
        <t>Reserved: This field MUST be set to zero on transmission and MUST be
ignored on receipt.</t>
        <t>Flags (16 bits):</t>
        <ul spacing="normal">
          <li>
            <t>N (Node co-routed): If set, indicates this path is
node co-routed with
its opposite direction path, specified in this TLV.
Two opposite direction paths are node co-routed if they
traverse the same nodes,
but MAY traverse different links.</t>
          </li>
          <li>
            <t>L (Link co-routed): If set, indicates this path is
link co-routed with
its opposite directions path, specified in this TLV.
Two opposite direction paths are link co-routed if they
traverse the same links (but in opposite directions).</t>
          </li>
          <li>
            <t>Unassigned bits MUST be set to '0' on transmission and MUST be
ignored on receipt.</t>
          </li>
        </ul>
        <t>Opposite Direction Path ID (32 bits): Identifies a path that
goes in the opposite direction to this path.
If no such path exists, then this field MUST be set to 0x0,
which is reserved to indicate the absence of a Path ID.</t>
        <t>Multiple instances of this TLV
present in the same PATH-ATTRIB object indicate that there are multiple
opposite-direction paths corresponding to the given path. This allows for
many-to-many relationship among the paths of two opposite direction LSPs.</t>
        <t>Whenever path A references another path B as being the
opposite-direction path, then path B MUST also reference path A as its
own opposite-direction path.
Furthermore, their values of the R-flag (Reverse) in the PATH-ATTRIB
object MUST have opposite values.</t>
        <t>See <xref target="OPPDIREX"/> for an example of usage.</t>
      </section>
      <section anchor="CCP">
        <name>Composite Candidate Path</name>
        <t>SR Policy Architecture <xref target="RFC9256"/> defines the concept of a
Composite Candidate Path. 
A regular SR Policy Candidate Path outputs traffic to a set of Segment-Lists, 
while an SR Policy Composite Candidate Path outputs traffic recursively to 
a set of SR Policies on the same headend.
In PCEP, the Composite Candidate Path still consists of PATH-ATTRIB objects,
but ERO is replaced by Color of the recursively used SR Policy.</t>
        <t>To signal the Composite Candidate Path, we make use of the COLOR TLV, defined in
<xref target="I-D.draft-ietf-pce-pcep-color"/>. For a Composite Candidate Path, the COLOR TLV
is included in the PATH-ATTRIB Object, thus allowing each Composite Candidate Path
to do ECMP/W-ECMP among SR Policies identified by its constituent Colors.
Only one COLOR TLV SHOULD be included into the PATH-ATTRIB object. If multiple
COLOR TLVs are contained in the PATH-ATTRIB object, only the first one MUST be
processed and the others MUST be ignored.</t>
        <t>An ERO object MUST be included as per the existing RBNF, 
this ERO SHOULD contain no sub-objects.
If the head-end receives a non-empty ERO, the contents SHOULD be ignored.</t>
        <t>See <xref target="CCPEX"/> for an example of the encoding.</t>
        <section anchor="PFP">
          <name>Per-Flow Candidate Path</name>
          <t>Per-Flow Candidate Path builds on top of the concept of the Composite Candidate Path.
Each Path in a Per-Flow Candidate Path is assigned a 3-bit forward class value, 
which allows QoS classified traffic to be steered depending on the forward class.</t>
          <t>New MULTIPATH-FORWARD-CLASS TLV is optional in the PATH-ATTRIB object.</t>
          <figure anchor="fig-multipath-forward-class">
            <name>MULTIPATH-FORWARD-CLASS TLV format</name>
            <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |             Type              |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          Reserved                       | FC  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>Type: (TBD1) for "MULTIPATH-FORWARD-CLASS" TLV.</t>
          <t>Length: 4.</t>
          <t>Reserved: This field MUST be set to zero on transmission and MUST be
ignored on receipt.</t>
          <t>FC (3 bits): Forward class value that is given by the QoS classifier to
traffic entering the given Candidate Path. Different classes of traffic
that enter the given Candidate Path can be differentially steered into
different Colors.</t>
        </section>
      </section>
    </section>
    <section anchor="OP">
      <name>Operation</name>
      <section anchor="capability-negotiation">
        <name>Capability Negotiation</name>
        <section anchor="multipath-capability-tlv">
          <name>Multipath Capability TLV</name>
          <t>New MULTIPATH-CAP TLV is defined. 
This TLV MAY be present in the OPEN object during PCEP session establishment.</t>
          <figure anchor="fig-multipath-cap">
            <name>MULTIPATH-CAP TLV format</name>
            <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |             Type              |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     Number of Multipaths      |            Flags    |C|F|O|B|W|
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>Type: (60) for "MULTIPATH-CAP" TLV.</t>
          <t>Length: 4.</t>
          <t>Number of Multipaths (16 bits): From PCC, it tells how many multipaths the PCC
can install in forwarding. 
From PCE, it tells how many multipaths the PCE can compute.
The value 255 indicates unlimited number.
The value 0 is reserved.</t>
          <t>Flags (16 bits):</t>
          <ul spacing="normal">
            <li>
              <t>W-flag: whether MULTIPATH-WEIGHT TLV is supported.</t>
            </li>
            <li>
              <t>B-flag: whether MULTIPATH-BACKUP TLV is supported.</t>
            </li>
            <li>
              <t>O-flag: whether MULTIPATH-OPPDIR-PATH TLV is supported and requested. 
If this flag is set, the PCE SHOULD tell the PCC the reverse path information, if it is able to.</t>
            </li>
            <li>
              <t>F-flag: whether MULTIPATH-FORWARD-CLASS TLV is supported.</t>
            </li>
            <li>
              <t>C-flag: whether Composite Candidate Path (<xref target="CCP"/>) is supported.</t>
            </li>
            <li>
              <t>Unassigned bits MUST be set to '0' on transmission and MUST be ignored on receipt.</t>
            </li>
          </ul>
          <t>Note that F-flag and C-flag can be set independently,
i.e., F-flag can be set, but C-flag not set, etc.</t>
          <t>When PCE computes the LSP path, it MUST NOT return more forward 
multipaths than the corresponding value of "Number of Multipaths"
from the MULTIPATH-CAP TLV.  If this TLV is absent (from both OPEN
and LSP objects), then the "Number of Multipaths" is assumed to be 1.</t>
          <t>From the PCC, the MULTIPATH-CAP TLV MAY also be present in the LSP object for each individual LSP, to specify per-LSP values.
The PCC MUST NOT include this TLV in the LSP object if the TLV was not
present in the OPEN objects of both PCEP peers.
TLV values in the LSP object override the session default values 
in the OPEN object. Furthermore, the PATH-ATTRIB object and its associated TLVs MUST NOT be included
in PCEP messages if the MULTIPATH-CAP TLV was not present in the OPEN objects
exchanged by both PCEP peers during session establishment.</t>
          <t>For example, the PCC includes this TLV in the OPEN object at session establishment,
setting "Number of Multipaths" to 4 and "O-flag" to 0.
The PCC also includes this TLV in the LSP object for a particular LSP,
setting "Number of Multipaths" to 16 and "O-flag" to 1.
This indicates that the PCC only wants to receive the reverse path information for that
particular LSP and that this LSP can have up to 16 multipaths,
while other LSPs can only have up to 4 multipaths.</t>
        </section>
      </section>
      <section anchor="PATH-ID">
        <name>Path ID</name>
        <t>The Path ID uniquely identifies a Path within the context of an LSP.
Note that when the LSP is an SR Policy Candidate Path, the 
Paths within that LSP are the Segment-Lists.</t>
        <t>Value 0x0 indicates unallocated Path ID.
The value of 0x0 MAY be used when this Path is not being referenced 
and the allocation of a Path ID is not necessary.</t>
        <t>Path IDs are allocated by the PCEP peer that owns the LSP.
If the LSP is delegated to the PCE, then the PCE allocates the Path IDs
and sends them in the PCReply/PCUpd/PCInit messages.
If the LSP is locally computed on the PCC, then the PCC allocates the
Path IDs and sends them in the PCReq/PCRpt messages.</t>
        <t>If a PCEP speaker detects that there are two Paths with the same Path ID,
then the PCEP speaker SHOULD send PCError message with
Error-Type = 1 ("Reception of an invalid object") and
Error-Value = 38 ("Conflicting Path ID").</t>
      </section>
      <section anchor="signaling-multiple-paths-for-loadbalancing">
        <name>Signaling Multiple Paths for Loadbalancing</name>
        <t>The PATH-ATTRIB object can be used to signal multiple path(s) and indicate
(un)equal loadbalancing amongst the set of multipaths. In this case, the
PATH-ATTRIB is populated for each ERO as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>The PCE MAY assign a unique Path ID to each ERO path and populate
it inside the PATH-ATTRIB object. The Path ID is unique within the
context of a PLSP (when non-zero).</t>
          </li>
          <li>
            <t>The MULTIPATH-WEIGHT TLV MAY be carried inside the PATH-ATTRIB object. A
weight is populated to reflect the relative loadshare that is to be
carried by the path. If the MULTIPATH-WEIGHT is not carried inside a
PATH-ATTRIB object, the default weight 1 MUST be assumed when computing
the loadshare.</t>
          </li>
          <li>
            <t>The fraction of flows carried by a specific primary path is derived
from the ratio of its weight to the sum of all other multipath weights.</t>
          </li>
        </ol>
      </section>
      <section anchor="signaling-multiple-paths-for-protection">
        <name>Signaling Multiple Paths for Protection</name>
        <t>The PATH-ATTRIB object can be used to describe a set of backup path(s) protecting
a primary path within a PCEP LSP. In this case, the PATH-ATTRIB is populated for each ERO as
follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>The PCE assigns a unique Path ID to each ERO path and populates
it inside the PATH-ATTRIB object. The Path ID is unique within the
context of a PLSP.</t>
          </li>
          <li>
            <t>The MULTIPATH-BACKUP TLV MAY be added inside the PATH-ATTRIB object for each
ERO that is protected. The backup path ID(s) are populated in the
MULTIPATH-BACKUP TLV to reflect the set of backup path(s) protecting the
primary path. The Length field and Backup Path Number in the MULTIPATH-BACKUP
are updated according to the number of backup path ID(s) included.</t>
          </li>
          <li>
            <t>The MULTIPATH-BACKUP TLV MAY be added inside the PATH-ATTRIB object for each
ERO that is unprotected. In this case, MULTIPATH-BACKUP does not carry
any backup path IDs in the TLV. If the path acts as a pure backup i.e.
the path only carries rerouted traffic after the protected path(s) fail then
the B flag MUST be set.</t>
          </li>
        </ol>
        <t>Note that primary paths which do not include the MULTIPATH-BACKUP TLV are assumed
to be protected by all the backup paths. I.e., omitting the TLV is equivalent to
including the TLV with all the backup path IDs filled in.</t>
        <t>Note that a given PCC may not support certain backup combinations,
such as a backup path that is itself protected by another backup path, etc.
If a PCC is not able to implement a requested backup scenario,
the PCC SHOULD send a PCError message with
Error-Type = 19 ("Invalid Operation") and
Error-Value = 20 ("Not supported path backup").</t>
      </section>
    </section>
    <section anchor="RBNF">
      <name>PCEP Message Extensions</name>
      <t>The RBNF of PCReq, PCRep, PCRpt, PCUpd and PCInit messages currently use a combination
of &lt;intended-path&gt; and/or &lt;actual-path&gt;.
As specified in Section 6.1 of <xref target="RFC8231"/>, &lt;intended-path&gt; is represented by the
ERO object and &lt;actual-path&gt; is represented by the RRO object:</t>
      <artwork><![CDATA[
   <intended-path> ::= <ERO>

   <actual-path> ::= <RRO>
]]></artwork>
      <t>This document updates <xref target="RFC8231"/> to allow multiple ERO/RRO objects to be
present in the &lt;intended-path&gt;/&lt;actual-path&gt;:</t>
      <artwork><![CDATA[
   <intended-path> ::= (<ERO>|
                       (<PATH-ATTRIB><ERO>)
                       [<intended-path>])
              

   <actual-path> ::= (<RRO>|
                      (<PATH-ATTRIB><RRO>)
                      [<actual-path>])
]]></artwork>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="sr-policy-candidate-path-with-multiple-segment-lists">
        <name>SR Policy Candidate-Path with Multiple Segment-Lists</name>
        <t>Consider the following sample SR Policy, taken from<br/>
          <xref target="RFC9256"/>.</t>
        <artwork><![CDATA[
SR policy POL1 <headend, color, endpoint>
    Candidate-path CP1 <protocol-origin = 20, originator =
                        100:1.1.1.1, discriminator = 1>
        Preference 200
        Weight W1, SID-List1 <SID11...SID1i>
        Weight W2, SID-List2 <SID21...SID2j>
    Candidate-path CP2 <protocol-origin = 20, originator =
                        100:2.2.2.2, discriminator = 2>
        Preference 100
        Weight W3, SID-List3 <SID31...SID3i>
        Weight W4, SID-List4 <SID41...SID4j>
]]></artwork>
        <t>As specified in <xref target="I-D.ietf-pce-segment-routing-policy-cp"/>, CP1 and CP2 
are signaled as separate state-report elements and each has 
a unique PLSP-ID, assigned by the PCC. 
Let us assign PLSP-ID 100 to CP1 and PLSP-ID 200 to CP2.</t>
        <t>The state-report for CP1 can be encoded as:</t>
        <artwork><![CDATA[
<state-report> =
    <LSP PLSP_ID=100>
    <ASSOCIATION>
    <END-POINT>
    <PATH-ATTRIB Path_ID=1 <WEIGHT-TLV Weight=W1>>
    <ERO SID-List1>
    <PATH-ATTRIB Path_ID=2 <WEIGHT-TLV Weight=W2>>
    <ERO SID-List2>
]]></artwork>
        <t>The state-report for CP2 can be encoded as:</t>
        <artwork><![CDATA[
<state-report> =
    <LSP PLSP_ID=200>
    <ASSOCIATION>
    <END-POINT>
    <PATH-ATTRIB Path_ID=1 <WEIGHT-TLV Weight=W3>>
    <ERO SID-List3>
    <PATH-ATTRIB Path_ID=2 <WEIGHT-TLV Weight=W4>>
    <ERO SID-List4>
]]></artwork>
        <t>The above sample state-report elements only 
specify the minimum mandatory objects, 
of course other objects like SRP, LSPA, METRIC, etc., are allowed to be 
inserted.</t>
        <t>Note that the syntax</t>
        <artwork><![CDATA[
<PATH-ATTRIB Path_ID=1 <WEIGHT-TLV Weight=W1>>
]]></artwork>
        <t>, simply means that this is PATH-ATTRIB object 
with Path ID field set to "1" and 
with a MULTIPATH-WEIGHT TLV carrying weight of "W1".</t>
      </section>
      <section anchor="two-primary-paths-protected-by-one-backup-path">
        <name>Two Primary Paths Protected by One Backup Path</name>
        <t>Suppose there are 3 paths: A, B, C.
Where A,B are primary and C is to be used only when A or B fail.
Suppose the Path IDs for A, B, C are respectively 1, 2, 3.
This would be encoded in a state-report as:</t>
        <artwork><![CDATA[
<state-report> =
    <LSP>
    <ASSOCIATION>
    <END-POINT>
    <PATH-ATTRIB Path_ID=1 <BACKUP-TLV B=0, Backup_Paths=[3]>>
    <ERO A>
    <PATH-ATTRIB Path_ID=2 <BACKUP-TLV B=0, Backup_Paths=[3]>>
    <ERO B>
    <PATH-ATTRIB Path_ID=3 <BACKUP-TLV B=1, Backup_Paths=[]>>
    <ERO C>
]]></artwork>
        <t>Note that the syntax</t>
        <artwork><![CDATA[
<PATH-ATTRIB Path_ID=1 <BACKUP-TLV B=0, Backup_Paths=[3]>>
]]></artwork>
        <t>, simply means that this is PATH-ATTRIB object 
with Path ID field set to "1" and 
with a MULTIPATH-BACKUP TLV that has B-flag cleared and contains
a single backup path with Backup Path ID of 3.</t>
      </section>
      <section anchor="CCPEX">
        <name>Composite Candidate Path</name>
        <t>Consider the following Composite Candidate Path, taken from<br/>
          <xref target="RFC9256"/>.</t>
        <artwork><![CDATA[
SR policy POL100 <headend = H1, color = 100, endpoint = E1>
    Candidate-path CP1 <protocol-origin = 20, originator =
                        100:1.1.1.1, discriminator = 1>
        Preference 200
        Weight W1, SR policy <color = 1>
        Weight W2, SR policy <color = 2>
]]></artwork>
        <t>This is signaled in PCEP as:</t>
        <artwork><![CDATA[
    <LSP PLSP_ID=100>
        <ASSOCIATION>
        <END-POINT>
        <PATH-ATTRIB Path_ID=1
            <WEIGHT-TLV Weight=W1>
            <COLOR-TLV Color=1>>
        <ERO (empty)>
        <PATH-ATTRIB Path_ID=2
            <WEIGHT-TLV Weight=W2>
            <COLOR-TLV Color=2>>
        <ERO (empty)>
]]></artwork>
      </section>
      <section anchor="OPPDIREX">
        <name>Opposite Direction Tunnels</name>
        <t>Consider the two opposite-direction SR Policies between
end-points H1 and E1.</t>
        <artwork><![CDATA[
SR policy POL1 <headend = H1, color, endpoint = E1>
    Candidate-path CP1
        Preference 200
        Bidirectional Association = A1
        SID-List = <H1,M1,M2,E1>
        SID-List = <H1,M3,M4,E1>
    Candidate-path CP2
        Preference 100
        Bidirectional Association = A2
        SID-List = <H1,M5,M6,E1>
        SID-List = <H1,M7,M8,E1>

SR policy POL2 <headend = E1, color, endpoint = H1>
    Candidate-path CP1
        Preference 200
        Bidirectional Association = A1
        SID-List = <E1,M2,M1,H1>
        SID-List = <E1,M4,M3,H1>
    Candidate-path CP2
        Preference 100
        Bidirectional Association = A2
        SID-List = <E1,M6,M5,H1>
]]></artwork>
        <t>The state-report for POL1, CP1 can be encoded as:</t>
        <artwork><![CDATA[
<state-report> =
    <LSP PLSP_ID=100>
    <BIDIRECTIONAL ASSOCIATION = A1>
    <PATH-ATTRIB PathID=1 R-flag=0
        <OPPDIR-PATH-TLV OppositePathID=3>>
    <ERO <H1,M1,M2,E1>>
    <PATH-ATTRIB PathID=2 R-flag=0
        <OPPDIR-PATH-TLV OppositePathID=4>>
    <ERO <H1,M3,M4,E1>>
    <PATH-ATTRIB PathID=3 R-flag=1
        <OPPDIR-PATH-TLV OppositePathID=1>>
    <ERO <E1,M2,M1,H1>>
    <PATH-ATTRIB PathID=4 R-flag=1
        <OPPDIR-PATH-TLV OppositePathID=2>>
    <ERO <E1,M4,M3,H1>>
]]></artwork>
        <t>The state-report for POL1, CP2 can be encoded as:</t>
        <artwork><![CDATA[
<state-report> =
    <LSP PLSP_ID=200>
    <BIDIRECTIONAL ASSOCIATION = A2>
    <PATH-ATTRIB PathID=1 R-flag=0
        <OPPDIR-PATH-TLV OppositePathID=3>>
    <ERO <H1,M5,N6,E1>>
    <PATH-ATTRIB PathID=2 R-flag=0
        <OPPDIR-PATH-TLV OppositePathID=0>>
    <ERO <H1,M7,M8,E1>>
    <PATH-ATTRIB PathID=3 R-flag=1
        <OPPDIR-PATH-TLV OppositePathID=1>>
    <ERO <E1,M6,M5,H1>>
]]></artwork>
        <t>The state-report for POL2, CP1 can be encoded as:</t>
        <artwork><![CDATA[
<state-report> =
    <LSP PLSP_ID=100>
    <BIDIRECTIONAL ASSOCIATION = A1>
    <PATH-ATTRIB PathID=1 R-flag=0
        <OPPDIR-PATH-TLV OppositePathID=3>>
    <ERO <E1,M2,M1,H1>>
    <PATH-ATTRIB PathID=2 R-flag=0
        <OPPDIR-PATH-TLV OppositePathID=4>>
    <ERO <E1,M4,M3,H1>>
    <PATH-ATTRIB PathID=3 R-flag=1
        <OPPDIR-PATH-TLV OppositePathID=1>>
    <ERO <H1,M1,M2,E1>>
    <PATH-ATTRIB PathID=4 R-flag=1
        <OPPDIR-PATH-TLV OppositePathID=2>>
    <ERO <H1,M3,M4,E1>>
]]></artwork>
        <t>The state-report for POL2, CP2 can be encoded as:</t>
        <artwork><![CDATA[
<state-report> =
    <LSP PLSP_ID=200>
    <BIDIRECTIONAL ASSOCIATION = A2>
    <PATH-ATTRIB PathID=1 R-flag=0
        <OPPDIR-PATH-TLV OppositePathID=3>>
    <ERO <E1,M6,M5,H1>>
    <PATH-ATTRIB PathID=2 R-flag=1
        <OPPDIR-PATH-TLV OppositePathID=0>>
    <ERO <H1,M7,M8,E1>>
    <PATH-ATTRIB PathID=3 R-flag=1
        <OPPDIR-PATH-TLV OppositePathID=1>>
    <ERO <H1,M5,N6,E1>>
]]></artwork>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>Note to the RFC Editor - remove this section before publication, as
well as remove the reference to <xref target="RFC7942"/>.</t>
      <t>This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in <xref target="RFC7942"/>.
The description of implementations in this section
is intended to assist the IETF in its decision processes in progressing
drafts to RFCs. Please note that the listing of any individual
implementation here does not imply endorsement by the IETF. Furthermore,
no effort has been spent to verify the information presented here that
was supplied by IETF contributors. This is not intended as, and must not
be construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may
exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and
working groups to assign due consideration to documents that have the
benefit of running code, which may serve as evidence of valuable
experimentation and feedback that have made the implemented protocols
more mature. It is up to the individual working groups to use this
information as they see fit".</t>
      <section anchor="cisco-systems">
        <name>Cisco Systems</name>
        <artwork><![CDATA[
Organization: Cisco Systems
Implementation: IOS-XR PCC and PCE
Description: Circuit-Style SR Policies
Maturity Level: Supported feature
Coverage: Multiple Segment-Lists and reverse paths in SR Policy
Contact: mkoldych@cisco.com
]]></artwork>
      </section>
      <section anchor="ciena-corp">
        <name>Ciena Corp</name>
        <artwork><![CDATA[
Organization: Ciena Corp
Implementation: Head-end and controller
Maturity Level: Proof of concept
Coverage: Full
Contact: byadav@ciena.com
]]></artwork>
      </section>
      <section anchor="huawei-technologies">
        <name>Huawei Technologies</name>
        <artwork><![CDATA[
Organization: Huawei Technologies Co.,Ltd.
Implementation: Huawei's Router and Controller
Maturity Level: Proof of concept
Coverage: Partial
Contact: tanren@huawei.com 
]]></artwork>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="pcep-object">
        <name>PCEP Object</name>
        <t>IANA is requested to confirm the following allocation in the "PCEP Objects"
   within the "Path Computation Element Protocol (PCEP) Numbers" registry
   group:</t>
        <artwork><![CDATA[
 +--------------+-------------+-------------------+-----------------+
 | Object-Class | Name        | Object-Type       | Reference       |
 | Value        |             | Value             |                 |
 +--------------+-------------+-------------------+-----------------+
 | 45           | PATH-ATTRIB | 1                 | This document   |
 +--------------+-------------+-------------------+-----------------+
]]></artwork>
      </section>
      <section anchor="pcep-tlv">
        <name>PCEP TLV</name>
        <t>IANA is requested to confirm the following allocations within the
   "PCEP TLV Type Indicators" within the "Path Computation Element Protocol
   (PCEP) Numbers" registry group:</t>
        <artwork><![CDATA[
 +------------+-----------------------------------+-----------------+
 | TLV Type   | TLV Name                          | Reference       |
 | Value      |                                   |                 |
 +------------+-----------------------------------+-----------------+
 | 60         | MULTIPATH-CAP                     | This document   |
 +------------+-----------------------------------+-----------------+
 | 61         | MULTIPATH-WEIGHT                  | This document   |
 +------------+-----------------------------------+-----------------+
 | 62         | MULTIPATH-BACKUP                  | This document   |
 +------------+-----------------------------------+-----------------+
 | 63         | MULTIPATH-OPPDIR-PATH             | This document   |
 +------------+-----------------------------------+-----------------+
]]></artwork>
        <t>IANA is requested to make new allocations within the
   "PCEP TLV Type Indicators" within the "Path Computation Element Protocol
   (PCEP) Numbers" registry group:</t>
        <artwork><![CDATA[
 +------------+-----------------------------------+-----------------+
 | TLV Type   | TLV Name                          | Reference       |
 | Value      |                                   |                 |
 +------------+-----------------------------------+-----------------+
 | TBD1       | MULTIPATH-FORWARD-CLASS           | This document   |
 +------------+-----------------------------------+-----------------+
]]></artwork>
      </section>
      <section anchor="pcep-error-object">
        <name>PCEP-Error Object</name>
        <t>IANA is requested to confirm the following allocations within the
   "PCEP-ERROR Object Error Types and Values" within the "Path
   Computation Element Protocol (PCEP) Numbers" registry group:</t>
        <artwork><![CDATA[
 +------------+-----------------------------------+-----------------+
 | Error-Type | Error-Value                       | Reference       |
 +------------+-----------------------------------+-----------------+
 | 10         | 38 - Conflicting Path ID          | This document   |
 +------------+-----------------------------------+-----------------+
 | 19         | 20 - Not supported path backup    | This document   |
 +------------+-----------------------------------+-----------------+
 | 19         | 21 - Non-empty path               | This document   |
 +------------+-----------------------------------+-----------------+
]]></artwork>
      </section>
      <section anchor="flags-in-the-multipath-capability-tlv">
        <name>Flags in the Multipath Capability TLV</name>
        <t>IANA is requested to create a new sub-registry to manage the Flag
field of the MULTIPATH-CAP TLV, called "Flags in MULTIPATH-CAP
TLV" within the "Path Computation Element Protocol (PCEP) Numbers"
registry group.
New values are to be assigned by "IETF review" <xref target="RFC8126"/></t>
        <artwork><![CDATA[
 +------------+-----------------------------------+-----------------+
 | Bit        | Description                       | Reference       |
 +------------+-----------------------------------+-----------------+
 | 0-12       | Unassigned                        | This document   |
 +------------+-----------------------------------+-----------------+
 | 13         | 0-flag: support for processing    | This document   |
 |            | MULTIPATH-OPPDIR-PATH TLV         |                 |
 +------------+-----------------------------------+-----------------+
 | 14         | B-flag: support for processing    | This document   |
 |            | MULTIPATH-BACKUP TLV              |                 |
 +------------+-----------------------------------+-----------------+
 | 15         | W-flag: support for processing    | This document   |
 |            | MULTIPATH-WEIGHT TLV              |                 |
 +------------+-----------------------------------+-----------------+
]]></artwork>
      </section>
      <section anchor="flags-in-the-path-attribute-object">
        <name>Flags in the Path Attribute Object</name>
        <t>IANA is requested to create a new sub-registry to manage the Flag
field of the PATH-ATTRIBUTE object,
called "Flags in PATH-ATTRIBUTE Object" within the "Path Computation
Element Protocol (PCEP) Numbers" registry group.
New values are to be assigned by "IETF review" <xref target="RFC8126"/></t>
        <artwork><![CDATA[
 +------------+-----------------------------------+-----------------+
 | Bit        | Description                       | Reference       |
 +------------+-----------------------------------+-----------------+
 | 0-12       | Unassigned                        | This document   |
 +------------+-----------------------------------+-----------------+
 | 13-15      | O-flag: Operational state         | This document   |
 +------------+-----------------------------------+-----------------+
]]></artwork>
      </section>
      <section anchor="flags-in-the-multipath-backup-tlv">
        <name>Flags in the Multipath Backup TLV</name>
        <t>IANA is requested to create a new sub-registry to manage the Flag
field of the MULTIPATH-BACKUP TLV,
called "Flags in MULTIPATH-BACKUP TLV" within the "Path Computation
Element Protocol (PCEP) Numbers" registry group.
New values are to be assigned by "IETF review" <xref target="RFC8126"/></t>
        <artwork><![CDATA[
 +------------+-----------------------------------+-----------------+
 | Bit        | Description                       | Reference       |
 +------------+-----------------------------------+-----------------+
 | 0-14       | Unassigned                        | This document   |
 +------------+-----------------------------------+-----------------+
 | 15         | B-flag: Pure backup               | This document   |
 +------------+-----------------------------------+-----------------+
]]></artwork>
      </section>
      <section anchor="flags-in-the-multipath-opposite-direction-path-tlv">
        <name>Flags in the Multipath Opposite Direction Path TLV</name>
        <t>IANA is requested to create a new sub-registry to manage the flag
fields of the MULTIPATH-OPPDIR-PATH TLV,
called "Flags in the MULTIPATH-OPPDIR-PATH TLV" within the "Path
Computation Element Protocol (PCEP) Numbers" registry group.
New values are to be assigned by "IETF review" <xref target="RFC8126"/></t>
        <artwork><![CDATA[
 +------------+-----------------------------------+-----------------+
 | Bit        | Description                       | Reference       |
 +------------+-----------------------------------+-----------------+
 | 0-12       | Unassigned                        | This document   |
 +------------+-----------------------------------+-----------------+
 | 14         | L-flag: Link co-routed            | This document   |
 +------------+-----------------------------------+-----------------+
 | 15         | N-flag: Node co-routed            | This document   |
 +------------+-----------------------------------+-----------------+
]]></artwork>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations described in <xref target="RFC5440"/>, <xref target="RFC8231"/>,
<xref target="RFC8281"/>, <xref target="RFC8664"/>, <xref target="RFC9256"/>,
<xref target="I-D.ietf-pce-segment-routing-policy-cp"/> and
<xref target="I-D.draft-ietf-pce-pcep-color"/> are applicable to this specification.</t>
      <t>As per <xref target="RFC8231"/>, it is RECOMMENDED that these PCEP extensions can only
be activated on authenticated and encrypted sessions across PCEs and PCCs
belonging to the same administrative authority, using Transport Layer
Security (TLS) <xref target="RFC8253"/> as per the recommendations and best current
practices in <xref target="RFC9325"/>.</t>
    </section>
    <section anchor="acknowledgement">
      <name>Acknowledgement</name>
      <t>Thanks to Dhruv Dhody for ideas and discussion.
   Thanks to Yuan Yaping for review comments.</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <artwork><![CDATA[
   Zafar Ali
   Cisco Systems
   Email: zali@cisco.com

   Andrew Stone
   Nokia
   Email: andrew.stone@nokia.com

   Chen Ran
   ZTE
   Email: chen.ran@zte.com.cn
]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <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="RFC9256">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.</t>
              <t>This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
        <reference anchor="I-D.ietf-pce-segment-routing-policy-cp">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing (SR) Policy Candidate Paths</title>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Samuel Sidor" initials="S." surname="Sidor">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Colby Barth" initials="C." surname="Barth">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Shuping Peng" initials="S." surname="Peng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
              <organization>Nokia</organization>
            </author>
            <date day="4" month="April" year="2025"/>
            <abstract>
              <t>   A Segment Routing (SR) Policy is an ordered list of instructions,
   called "segments" that represent a source-routed policy.  Packet
   flows are steered into an SR Policy on a node where it is
   instantiated.  An SR Policy is made of one or more candidate paths.

   This document specifies the Path Computation Element Communication
   Protocol (PCEP) extension to signal candidate paths of an SR Policy.
   Additionally, this document updates RFC 8231 to allow delegation and
   setup of an SR Label Switched Path (LSP), without using the path
   computation request and reply messages.  This document is applicable
   to both Segment Routing over MPLS (SR-MPLS) and Segment Routing over
   IPv6 (SRv6).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-segment-routing-policy-cp-27"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <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>
        <reference anchor="RFC8231">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions. This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8231"/>
          <seriesInfo name="DOI" value="10.17487/RFC8231"/>
        </reference>
        <reference anchor="I-D.draft-ietf-pce-pcep-color">
          <front>
            <title>Path Computation Element Protocol (PCEP) Extension for Color</title>
            <author fullname="Balaji Rajagopalan" initials="B." surname="Rajagopalan">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Shaofu Peng" initials="S." surname="Peng">
              <organization>ZTE Corporation</organization>
            </author>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Verizon Communications Inc.</organization>
            </author>
            <date day="26" month="February" year="2025"/>
            <abstract>
              <t>   Color is a 32-bit numerical (unsigned integer) attribute used to
   associate a Traffic Engineering (TE) tunnel or policy with an intent
   or objective.  For example, a TE Tunnel constructed to deliver low
   latency services and whose path is optimized for delay can be tagged
   with a color that represents "low latency."  This document specifies
   extensions to the Path Computation Element Protocol (PCEP) to carry
   the color attribute.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-color-12"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author fullname="JP. Vasseur" initials="JP." role="editor" surname="Vasseur"/>
            <author fullname="JL. Le Roux" initials="JL." role="editor" surname="Le Roux"/>
            <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="RFC8281">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>The extensions for stateful PCE provide active control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE. This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8281"/>
          <seriesInfo name="DOI" value="10.17487/RFC8281"/>
        </reference>
        <reference anchor="RFC8664">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing</title>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="J. Hardwick" initials="J." surname="Hardwick"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) enables any head-end node to select any path without relying on a hop-by-hop signaling technique (e.g., LDP or RSVP-TE). It depends only on "segments" that are advertised by link-state Interior Gateway Protocols (IGPs). An SR path can be derived from a variety of mechanisms, including an IGP Shortest Path Tree (SPT), an explicit configuration, or a Path Computation Element (PCE). This document specifies extensions to the Path Computation Element Communication Protocol (PCEP) that allow a stateful PCE to compute and initiate Traffic-Engineering (TE) paths, as well as a Path Computation Client (PCC) to request a path subject to certain constraints and optimization criteria in SR networks.</t>
              <t>This document updates RFC 8408.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8664"/>
          <seriesInfo name="DOI" value="10.17487/RFC8664"/>
        </reference>
        <reference anchor="RFC8253">
          <front>
            <title>PCEPS: Usage of TLS to Provide a Secure Transport for the Path Computation Element Communication Protocol (PCEP)</title>
            <author fullname="D. Lopez" initials="D." surname="Lopez"/>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="D. Dhody" initials="D." surname="Dhody"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) defines the mechanisms for the communication between a Path Computation Client (PCC) and a Path Computation Element (PCE), or among PCEs. This document describes PCEPS -- the usage of Transport Layer Security (TLS) to provide a secure transport for PCEP. The additional security mechanisms are provided by the transport protocol supporting PCEP; therefore, they do not affect the flexibility and extensibility of PCEP.</t>
              <t>This document updates RFC 5440 in regards to the PCEP initialization phase procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8253"/>
          <seriesInfo name="DOI" value="10.17487/RFC8253"/>
        </reference>
        <reference anchor="RFC9325">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="November" year="2022"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
              <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="9325"/>
          <seriesInfo name="DOI" value="10.17487/RFC9325"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9059">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Associated Bidirectional Label Switched Paths (LSPs)</title>
            <author fullname="R. Gandhi" initials="R." role="editor" surname="Gandhi"/>
            <author fullname="C. Barth" initials="C." surname="Barth"/>
            <author fullname="B. Wen" initials="B." surname="Wen"/>
            <date month="June" year="2021"/>
            <abstract>
              <t>This document defines Path Computation Element Communication Protocol (PCEP) extensions for grouping two unidirectional MPLS-TE Label Switched Paths (LSPs), one in each direction in the network, into an associated bidirectional LSP. These PCEP extensions can be applied either using a stateful PCE for both PCE-initiated and PCC-initiated LSPs or using a stateless PCE. The PCEP procedures defined are applicable to the LSPs using RSVP-TE for signaling.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9059"/>
          <seriesInfo name="DOI" value="10.17487/RFC9059"/>
        </reference>
        <reference anchor="I-D.ietf-spring-cs-sr-policy">
          <front>
            <title>Circuit Style Segment Routing Policy</title>
            <author fullname="Christian Schmutzer" initials="C." surname="Schmutzer">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Zafar Ali" initials="Z." surname="Ali">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Praveen Maheshwari" initials="P." surname="Maheshwari">
              <organization>Airtel India</organization>
            </author>
            <author fullname="Reza Rokui" initials="R." surname="Rokui">
              <organization>Ciena</organization>
            </author>
            <author fullname="Andrew Stone" initials="A." surname="Stone">
              <organization>Nokia</organization>
            </author>
            <date day="24" month="June" year="2025"/>
            <abstract>
              <t>   This document describes how Segment Routing (SR) policies can be used
   to satisfy the requirements for bandwidth, end-to-end recovery and
   persistent paths within a SR network.  The association of two co-
   routed unidirectional SR Policies satisfying these requirements is
   called "circuit-style" SR Policy (CS-SR Policy).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-cs-sr-policy-10"/>
        </reference>
        <reference anchor="I-D.draft-ietf-pce-sr-p2mp-policy">
          <front>
            <title>PCEP extensions for P2MP SR Policy</title>
            <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
              <organization>Nokia</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Anuj Budhiraja" initials="A." surname="Budhiraja">
              <organization>Cisco System</organization>
            </author>
            <author fullname="Rishabh Parekh (editor)" initials="R." surname="Parekh">
              <organization>Arrcus</organization>
            </author>
            <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
              <organization>Ciena</organization>
            </author>
            <date day="19" month="February" year="2025"/>
            <abstract>
              <t>   Segment Routing (SR) Point-to-Multipoint (P2MP) Policies are a set of
   policies that enable architecture for P2MP service delivery.  This
   document specifies extensions to the Path Computation Element
   Communication Protocol (PCEP) that allow a stateful PCE to compute
   and initiate P2MP paths from a Root to a set of Leaf nodes.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-sr-p2mp-policy-11"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
TJncL/euHkypE46xN+zANjsQ4ZFmvADZZlKvTVUrBoq5zDplzwDca3OXw4ht
ELI+YedZCFnmwqvKzCAkVXEdZhK+E06RZR3ZOqOmiLor5jCnnicppJoZyRVu
6gxZYJ3kBAaiMTzEp84YCeAxG/0ZkTKcDTi9C7RdM7eUWpSQSPplFnLmnZYD
TxDzuGt8KY0JLZHhZ5chU4u44bPUw6pxISCL/KqA65mxms4XcBxjMwnYfesL
GFOUEMdiIzD3GSrqaqE32Nxqq11xFuKUsbj5h6UaFp7iV1WyFFdSueUsdzHp
mS2YuD+HmjLt4kCykntZVHjgaWJpsfVijjpPqvuyJJaLtPEk82P6QIZMn4Aj
WznQCQwIB3rT6V38Z3Fi5hvZgv60yCvmqZxt4lRbruO36C0D3ghYhZ/v2n93
vFLSLcEj0TuOZeM2uLnAYvAG1WosBsYMSpdu0XWCMIIPzq6biBE15XvLyo0T
U+Hgx9yNPHL2o0z1tWntZS50u4RdbXRbWYr1EMlDPyzKvPHOiZSTR91kdYxM
uJKMmpL1/eA0dcQiZqqTEeWOuccxJycCU4mluJSQyjVS05iWW7jYLXtB5igL
aDr1nrhgTW5tPquDJtT7FJCJ53KblHHR8Uasf+YB2EKabtREjxbnd9uQbdYw
KiF/FoQh0URlhZ6cWJirqSjYIzckmnIuGQsUzETK3NE9MjfmeKW5DAlxMXtl
xZLp47Q3QSUxRYdGRZoEY1thBq9t0NAMkPo68pIg7sjtLtDdtTi9e9mcX4Pt
eChGpj1pabYzB5vQ9qRAkKmCYHDWNuQyFykplzmdi59+foYn9tYZpOtQMMcE
7fMOOwv01yLDv8BlIFFTcRvMZZmcVkJ3bdptoUuuajWaOMpXgIVKqSZAu5uW
EwzPJS3qRa+PgLn3J3QaxuX0F46TWBMIkFakMSD81VtgGnup4jKWHfe4qDzn
G7Wz81q9ggneiDB0x5a3Y3pLA1Rv0jTXuboLK650bb1DRgy+SkTozlrYOxey
Tiv5aCRS7c/6K0duv6HGG62N/1qZ4e+1pq0oWyectcJRAWO8DIy/lkZHGGQj
iDFGHPQydxs1hCu6NgbScvkh3Sgdk2ZLJIfCJB6lnHpSVExIdTEZqap8Z25x
JgnNuZxUnZ0e9dUryRnrKEqaAvkUcWHBG15yASmfrp5Bl4Xc3tTl60FIUmDp
E98VApz3unXXVH9zc6ffo/86eG0l2Ktz00v13xQdz4rcxsHmZvFcyqzfQffz
w31CEoAE/+z3e70e/h28qbceFK0H1HogrQc/ti108PkLHfTov/pCB80L7Tct
dKsAfYtA3xLQt5oWul203qbW29J6+8dCSlTl4APuvuwQCdBhC2CIvtoggQFO
2iquUcPrbbog+VCzyiVYzv2XV15KGY3GBwDzu3u43ymykWw8a4hBjSMwZ3OT
q2RaI75QWBmIzOOBeTzgeAgqnxI4aAtiJ3GfzB0mXlqIsFduhzdmo1+h347T
/ONw/zXMLhvwavf8/HR4uIs36JpHo5P97tnp4cmFeeDapMj1NIR6VVwwInv4
+l3/jR0Ek9wMlS8baNA40KBxoIGrLhoxM/hMzAweCzNbjQvaejhmthsH2i5j
xpvE19qI2WZ6JgNdyv+53lEBl9PNNnO81hvY/dYm0iqyV/w4p5IzMg2Nyg3x
eyLn47MOet67Hbk7h63FTqm+kC1ruiJB2+Pawr4l3+82yrwPxYY9kPIEAx28
w2EBy3OKCTOppW3wr/jyWOt4s+soZ7xr/TViUGnjNQe3yKFCxVbcVrL2rrgj
A0tAzsQ/4TDJmWts400LjpdKGZtotnLphwR2t9jt2FGA4j0QZT063IUXu509
uTqPJyABZ4NfHGCxl1arXazz3SMfq1eaxkbI+dJTnoQGxqNe/tYBDAK6C5TC
ljkM4juKJu5lShjBcQnufgz4BZiuuHFE7b0GZcco/Qch/PVft/5e4pvdOxjv
QYPtLRtsqzJYvzpYeaxhQca/ijXuA/iTsokb6MEZUH3uSRZDqL1E8kxMdSzV
CnClruus0rCVGwqAy7YMiy0vvRj95dMSa3RJkv2DrVLQ38YuBWPpbV+MU7QQ
NzcLExV+j4xW/Je2U+3iXtl1tNio9ZYlbW3u1hF7y5zyu9JhiZnSIhsa5UO7
jCjjrFmLVNpQoQE1oVzP19bAsQy7Trn4G3dNPrh78sFdkw+WTC6IBlZoqNK7
yKNIh6m9Z6CJH9y6sG795mkM40ld/+oKkHGX6DgFEif2HfXv9NNcfrgvJ9xN
rOUbuc1l3Qj5a7Xr9DeGEjx+BWAcw/8GnZG739UWW53j7U47bING2Pr3hm3Q
PvPzzvGL5bD9uXP8kltU0D1w0T1qRPfbp0b3iHANGH/btiRssY0Yb4ftkdCN
M79AjNPMy3wLpOXOl/W99g6RF4f89RLliDdCZptRQXqeyxxfO6t/VblCxMoB
6VN2QEo8sGSmwa+Yabs+k+GlJTNtmZn695+p7G6WCG3JTNu/YqZBfSZDsPek
my/omS6lm8Hj083zzsmLR6CbzfpMRs49Pt0YIXD3bg7+D0mBe3LMF5ACFY55
xN28p2T7AlKgItnuQzf/R6RAhWPupJsH4Pg3kwIVyWYMaqUOzckmGxPn8Hee
GvecswLwq4OjaYA+Vlcleh5fS0Z3Kmb0RM8wr36RT8yHTDqUbHKD1RJeWvTR
zs0IMDj7nH/+ensgPueFOypYO/T9tUxILqfkb/zKSFScx8pnU7jwlkqd+QMW
piKdwtVBWnwRj29H56hDFswpURQQZ76ZhI2xTD/TSaSz7j5WsfO30WCQicfx
JkwRSGLo5YWq9Km1yoIuKGkK39tUwirg5jqV1OQUURIyH6Ap/nhOINl5+Ell
bI+pTVNYTSofKqXabhoJflziJViUR0QF+BQoA5Dwuu5Q4z2nUSnuEgZ25Zgq
UST7AyBlwqBwnE2y4NAKQBknKZ+Ly7kAAllOnMd7dpSezVBYXNGtGvgRjwXn
Dyj8gKwEaN3s6eJclublRGpMiccj71Dywwgh9KUl/CYJ1ioq44pzZoSg0Ut5
B+f4YRsqMJho+ahpbiK3HTzB9jIvjBkZ114Q0uF/jdLIoQyS1ZWZ9vB6C5h1
jE5JIpm/0+tA0r4KVHNQuTrU3LvFFH7YAq68d7NxXErqqDWikRu8FYLPiPHj
evqG5sT8gBv5CDd9lzs1dHMZqWnOK0VH2DM30Zhz6NTErJg3ES0RsA1FeBNw
qukmOJDj5sNlmJfBN//DRmj8Fq1cMoMZ1/yhRf1hARtaUA2ifab1FKNdzmxz
TzJW3Jt7De+m+LlHvE2G0NtTh5wLtDDiyKlIqa87T7XwcOmrMiRFEHq8ICGz
sevKN7JFLp4u+452WV7uqMPT8+5fxpwOzenFqyv7Bc/vmC85dctfcqIPOR/j
CrEi9ggvT95R5zafQ2gLoxj4tZtL/LR5+5fryhcEBk4CPoVBMs/PSp82t99Q
LuIqxdfJW9FQNKji4K25yMHEOhP87mpSX+BZEuMnU2fmwgR3fQd5GDrg1r+l
XQDb+FXsRqgbWsIaep2jjG5jqa6DWv8hpW+x4lV/eNrwK5dzhlUfnruizItA
8zmf6VYlPbx7squGLqua9AQKJZrPLSlpGaROHhLdTRjNgmReCf46BQySLbLm
jIblazCeU+mxRlHlpq/KVb8jx8mG6Rrey4MfueSMO+JDJ+b5p27pz5+W/Gp7
hpXFH8vfMfqoTjDrX/58LH21yDwbWztDntAwnEFlG7l/Ki8bWphhvtiitp+X
5nINv48NxegfVTmL6EtCU/AW0QdV6P9aUkurOb1rZkyuTpfP3MRIPQ+iPRqs
jf6W014TIu67TRZwJT9c6qv/uQft3XFh9n1p73MW9WLTmalcfdgMzZ2091nQ
9BuhkUPoJ4dm0AiNnPU9OTRbjdC4te1PBY1ICdUiGOiCMPxe6u+ywG7G/wZZ
gHfsNFBY+TqCJ6Uw0UNdTpv+XNunmQi7o/H4dCyDK54Jt5ZNatqhBqKk/r/K
QHo8onQSyc2Pui1zF1F+MWj6rmbZeqm6qqEk8mmoCaH52plpsAnQtCbOPzk0
fYLG3HdHkFR36ik4jS9yMWVDSy5sama+RGNKiUeCH6/5s/ROGiHC2gMc+IC+
ycB5NXHLpQcdhZXHMO6ahanUhi56eKCiqPIjfh7ZZcgeX0Rlvu2YmPvk3YTX
NYo0ccxlTb4h/bI/ePHp0yNw816QFfvvRBJ+G27e7PYHdibnyphWaB6Xf1xb
aFMuwjFlQngSIeFQlDSt0HwsA9x+XVDRprbML7qobWemvS+9KCdDrbJTj7uo
585M7770opzs1CdbVIvAJAFkv4vtfBb7S0tLJzzw3cWo+HJeTWRWGjJEy6Xm
6soDzZjfpeZSaP7VpGbXsONHe1vaae2Tx08BzZ1WR/GZxce1OAqx2MRCTe1+
56An5qBtO9Nvz0GuNjMq+sypEn86aO7koCWf4vpslpoVLJXWeapiPzUx1tIO
Td72Z7jav3PYUmj+xXSUawQfCYeVv2zzW/H7iUBT/r7QU/O7wqp4Pn2snxJS
VpZ5XTrvT5sSVJ5vb29iWkGpsN6UgLwcvOw7L1+82C5+2e/yPqAylTMU7v4q
BGdPYHaHb25dqGfu9KRMFr9BUL4WgO9aHY+Gp8fHo5P90b5NcknlNrDi4/L2
Bj3KBMEbiK49uejMy/Fyjizgy9uoLDbyk9sF/pIrD0GW+EmcpjhqKof+wxSH
CuPo0rlNhe4m86ZYeAhSia9xwvFj3KaOysn5ucALVskrOvJu8ZDZbvP6xdH5
hl3l8y1EUfH1BcyOmgPOp7LNCMdE45f4+F4GzIXClfmcGiT7tzV4LqlWRFK7
PqZTgYi+JMkqwf2LKw8/xQSr2L9K8mv4//H0lpw2ICuPp8LSm5zQ0av0+SEH
5P7g0XcEsQ8LV8XQmkuWFJ+rS96OWyTz397MS9RuGHCktZx8AU9Gcy8Id9RP
Xhi4mQz0bjeaJjDVeRZHHOg9id8HntvNoxa9FFt8E+Fbp/sQawjHHl/N8t8X
I7ejD+96sFXf/JRp7NLzI4H5fwDEA2rHAaAAAA==

-->

</rfc>
