<?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.30 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-pce-multipath-19" category="std" consensus="true" submissionType="IETF" updates="8231, 8281" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.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-19"/>
    <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="S." surname="Peng" fullname="Shuping Peng">
      <organization>Huawei Technologies</organization>
      <address>
        <email>pengshuping@huawei.com</email>
      </address>
    </author>
    <author initials="S." surname="Sidor" fullname="Samuel Sidor" role="editor">
      <organization>Cisco Systems.</organization>
      <address>
        <email>ssidor@cisco.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="02"/>
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
      <?line 58?>

<t>Certain traffic engineering path computation problems require solutions that
consist of multiple traffic paths that together form a solution.
However, current PCEP extensions can only return a single traffic path, which cannot
meet the requirements.
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 designed to be generic,
which allows 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 and RFC 8281 to allow encoding of multiple Segment Lists in PCEP.</t>
    </abstract>
  </front>
  <middle>
    <?line 73?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Segment Routing Policy for Traffic Engineering
<xref target="RFC9256"/> details the concepts of Segment Routing (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.  The PCEP extension to
support Segment Routing Policy Candidate Paths
<xref target="RFC9862"/> 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 anchor="requirements-language">
        <name>Requirements Language</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>
      <section anchor="terminology">
        <name>Terminology</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, unequally 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 <xref target="RFC9862"/>. A single Candidate Path can consist of multiple Segment Lists. Each Segment List is represented by an Explicit Route Object (ERO). In existing PCEP RFCs, a PCEP Label Switched Path (LSP) object is associated with exactly one ERO. This restriction prevents the encoding of multiple Segment Lists (i.e., multiple EROs) within the single LSP.</t>
      </section>
      <section anchor="splitting-of-requested-bandwidth">
        <name>Splitting of Requested Bandwidth</name>
        <t>A Path Computation Client (PCC) may request a path with 80 Gbps of bandwidth, but all links in the
network have only 60 Gbps capacity.  The Path Computation Element (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 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 
mapping between Segment Lists of 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 Performance Measurement (PM)/Bidirectional Forwarding Detection (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 detection of link/node failures in both directions.</t>
      </section>
    </section>
    <section anchor="protocol-extensions">
      <name>Protocol Extensions</name>
      <section anchor="path-attrib-object">
        <name>PATH-ATTRIB Object</name>
        <t>This document defines the PATH-ATTRIB object that is used to carry per-path
information and to act as a separator between several ERO/Recorded Route Object (RRO) objects
in the &lt;intended-path&gt;/&lt;actual-path&gt; Routing Backus-Naur Form (RBNF) <xref target="RFC5511"/> 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 Object</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 (16 bits): 61 for "MULTIPATH-WEIGHT" TLV.</t>
        <t>Length (16 bits): 4 bytes.</t>
        <t>Weight (32 bits): weight of this path within the multipath, if W-ECMP
is desired. The fraction of flows that a specific ERO/RRO carries is derived
from the ratio of its weight to the sum of the weights of all other paths.</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 Point-to-Multipoint (P2MP) SR Policy <xref target="I-D.draft-ietf-pce-sr-p2mp-policy"/>.</t>
        <t>Support for the MULTIPATH-BACKUP TLV is currently defined only for P2MP paths. Support for Point-to-Point (P2P) paths is out of scope for this document. If needed in the future, support for P2P paths using the 
MULTIPATH-BACKUP TLV can be defined in future documents. Future documents that extend 
this TLV to support P2P paths SHOULD also define explicit capability exchange mechanisms 
to allow PCEP peers to negotiate support for MULTIPATH-BACKUP with P2P paths.</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 (16 bits): 62 for "MULTIPATH-BACKUP" TLV</t>
        <t>Length (16 bits): 4 + (N * 4) bytes (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 (Pure Backup): If set, indicates the path is a backup path (e.g., for protection) 
and not used for load balancing under normal conditions. A pure backup path only
carries rerouted traffic after the protected path(s) fail. 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>
        <t>If a PCEP speaker receives a MULTIPATH-BACKUP TLV applied to a P2P path,
it SHOULD reject the path and send a PCError message with 
Error-Type = 19 ("Invalid Operation") and 
Error-Value = 20 ("Not supported path backup").</t>
      </section>
      <section anchor="OPPDIR-PATH-TLV">
        <name>MULTIPATH-OPPDIR-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 requires 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 (16 bits): 63 for "MULTIPATH-OPPDIR-PATH" TLV</t>
        <t>Length (16 bits): 8 bytes.</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 0,
a value 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. If a PCEP speaker receives an
opposite-direction path mapping that is asymmetric or where the
R-flags are inconsistent, it MUST treat this as an error. The PCEP
speaker MUST send a PCError message with Error-Type = 19
("Invalid Operation") and Error-Value = TBD4 ("Invalid
opposite-direction path mapping").</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="RFC9863"/>. 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 MUST 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 MUST contain no sub-objects. This empty ERO serves as a placeholder
to maintain compatibility with existing implementations based on the RBNF defined in <xref target="RFC8231"/>.
If the head-end receives a non-empty ERO for a Composite Candidate Path,
it MUST send a PCError message with Error-Type = 19 ("Invalid Operation")
and Error-Value = 21 ("Non-empty path").</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 Quality of Service (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 (16 bits): TBD1 for "MULTIPATH-FORWARD-CLASS" TLV.</t>
          <t>Length (16 bits): 4 bytes.</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 (16 bits): 60 for "MULTIPATH-CAP" TLV.</t>
          <t>Length (16 bits): 4 bytes.</t>
          <t>Number of Multipaths (16 bits): When sent from a PCC, it indicates how many multipaths the PCC
can install in forwarding. 
From a PCE, it indicates how many multipaths the PCE can compute.
The value 255 indicates an 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. If a PCEP speaker receives a PATH-ATTRIB object but the multipath
capability was not successfully negotiated during session
establishment, it MUST treat this as an error. The PCEP speaker
MUST send a PCError message with Error-Type = 10 ("Reception of an
invalid object") and Error-Value = TBD2 ("Unexpected PATH-ATTRIB
object").</t>
          <t>Additionally, if a PCEP speaker receives a TLV within the PATH-ATTRIB object
(such as MULTIPATH-WEIGHT, MULTIPATH-BACKUP, MULTIPATH-OPPDIR-PATH, or
MULTIPATH-FORWARD-CLASS) but the corresponding capability flag was not set
in the negotiated MULTIPATH-CAP TLV, it MUST treat this as an error.
The PCEP speaker MUST send a PCError message with Error-Type = 19
("Invalid Operation") and Error-Value = TBD3 ("Unsupported multipath capability").</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 0 indicates an unallocated Path ID.
The value of 0 MAY be used when this Path is not 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/PCInitiate 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 MUST 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. This capability is currently defined only for P2MP 
paths. Support for P2P paths with the MULTIPATH-BACKUP TLV is out of scope for this 
document. 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 paths protecting the
primary path. The Length field and Backup Path Count 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>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 does not support a requested backup scenario,
the PCC MUST send a PCError message with
Error-Type = 19 ("Invalid Operation") and
Error-Value = 20 ("Not supported path backup").
Additionally, if a P2P path is sent with a MULTIPATH-BACKUP TLV,
the PCC or PCE SHOULD reject it with the same PCError as above.</t>
      </section>
    </section>
    <section anchor="RBNF">
      <name>PCEP Message Extensions</name>
      <t>The RBNF of PCRpt and PCUpd messages, as defined in <xref target="RFC8231"/>, use a combination of &lt;intended-path&gt; and/or &lt;actual-path&gt;. PCReq and PCRep messages, as defined in <xref target="RFC5440"/> and extended by <xref target="RFC8231"/>, directly include ERO and RRO objects within their respective message structures rather than encapsulating them within &lt;intended-path&gt; or &lt;actual-path&gt; constructs. As specified in Section 6.1 of <xref target="RFC8231"/>, within the context of messages that use these constructs, &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>
      <t>Similarly, this document updates <xref target="RFC8281"/> to allow multiple paths in the PCInitiate message 
by allowing multiple ERO objects with their associated path attributes. The PCE-initiated LSP 
instantiation format is updated to:</t>
      <artwork><![CDATA[
   <PCE-initiated-lsp-instantiation> ::= <SRP>
                                          <LSP>
                                          [<END-POINTS>]
                                          <intended-path>
                                          [<attribute-list>]
]]></artwork>
      <t>where &lt;intended-path&gt; follows the recursive definition above, allowing multiple paths to be 
signaled in a single PCInitiate message. Each path is preceded by a PATH-ATTRIB object that 
describes it.</t>
    </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="RFC9862"/>, CP1 and CP2 
are signaled as separate state-report elements and each has 
a unique PLSP-ID, assigned by the PCC. 
For this example, PLSP-ID 100 is assigned 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>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 and 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>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
endpoints 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 Path ID=1 R-flag=0
        <OPPDIR-PATH-TLV OppositePath ID=3>>
    <ERO <H1,M1,M2,E1>>
    <PATH-ATTRIB Path ID=2 R-flag=0
        <OPPDIR-PATH-TLV OppositePath ID=4>>
    <ERO <H1,M3,M4,E1>>
    <PATH-ATTRIB Path ID=3 R-flag=1
        <OPPDIR-PATH-TLV OppositePath ID=1>>
    <ERO <E1,M2,M1,H1>>
    <PATH-ATTRIB Path ID=4 R-flag=1
        <OPPDIR-PATH-TLV OppositePath ID=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 Path ID=1 R-flag=0
        <OPPDIR-PATH-TLV OppositePath ID=3>>
    <ERO <H1,M5,M6,E1>>
    <PATH-ATTRIB Path ID=2 R-flag=0
        <OPPDIR-PATH-TLV OppositePath ID=0>>
    <ERO <H1,M7,M8,E1>>
    <PATH-ATTRIB Path ID=3 R-flag=1
        <OPPDIR-PATH-TLV OppositePath ID=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 Path ID=1 R-flag=0
        <OPPDIR-PATH-TLV OppositePath ID=3>>
    <ERO <E1,M2,M1,H1>>
    <PATH-ATTRIB Path ID=2 R-flag=0
        <OPPDIR-PATH-TLV OppositePath ID=4>>
    <ERO <E1,M4,M3,H1>>
    <PATH-ATTRIB Path ID=3 R-flag=1
        <OPPDIR-PATH-TLV OppositePath ID=1>>
    <ERO <H1,M1,M2,E1>>
    <PATH-ATTRIB Path ID=4 R-flag=1
        <OPPDIR-PATH-TLV OppositePath ID=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 Path ID=1 R-flag=0
        <OPPDIR-PATH-TLV OppositePath ID=3>>
    <ERO <E1,M6,M5,H1>>
    <PATH-ATTRIB Path ID=2 R-flag=1
        <OPPDIR-PATH-TLV OppositePath ID=0>>
    <ERO <H1,M7,M8,E1>>
    <PATH-ATTRIB Path ID=3 R-flag=1
        <OPPDIR-PATH-TLV OppositePath ID=1>>
    <ERO <H1,M5,M6,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>
        <t>IANA is requested to make new 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         | TBD2 - Unexpected PATH-ATTRIB     | This document   |
 |            |        Object                     |                 |
 +------------+-----------------------------------+-----------------+
 | 19         | TBD3 - Unsupported multipath      | This document   |
 |            |        capability                 |                 |
 +------------+-----------------------------------+-----------------+
 | 19         | TBD4 - Invalid opposite-direction | This document   |
 |            |        path mapping               |                 |
 +------------+-----------------------------------+-----------------+
]]></artwork>
      </section>
      <section anchor="flags-in-the-multipath-cap-tlv">
        <name>Flags in the MULTIPATH-CAP 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-10       | Unassigned                        | This document   |
 +------------+-----------------------------------+-----------------+
 | 11         | C-flag: support for Composite     | This document   |
 |            |  Candidate Path processing        |                 |
 +------------+-----------------------------------+-----------------+
 | 12         | F-flag: support for processing    | This document   |
 |            | MULTIPATH-FORWARD-CLASS TLV       |                 |
 +------------+-----------------------------------+-----------------+
 | 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-attrib-object">
        <name>Flags in the PATH-ATTRIB Object</name>
        <t>IANA is requested to create a new sub-registry to manage the Flag
field of the PATH-ATTRIB object,
called "Flags in PATH-ATTRIB 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-oppdir-path-tlv">
        <name>Flags in the MULTIPATH-OPPDIR-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="RFC9862"/> and
<xref target="RFC9863"/> 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"/><xref target="I-D.ietf-pce-pceps-tls13"/> as per the recommendations and best current
practices in <xref target="RFC9325"/>.</t>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>All manageability requirements and considerations listed in <xref target="RFC5440"/>,
<xref target="RFC8231"/>, <xref target="RFC8664"/>, and <xref target="RFC9256"/> apply to the PCEP protocol
extensions defined in this document. In addition, the requirements and
considerations listed in this section apply.</t>
      <section anchor="control-of-function-and-policy">
        <name>Control of Function and Policy</name>
        <t>A PCEP speaker (PCC or PCE) implementation SHOULD allow an operator to enable
or disable the multipath capabilities advertised in the MULTIPATH-CAP TLV
(see <xref target="OP"/>).</t>
      </section>
      <section anchor="information-and-data-models">
        <name>Information and Data Models</name>
        <t>It is expected that a future version of the PCEP YANG module
<xref target="I-D.ietf-pce-pcep-yang"/> will be extended to include the PCEP extensions
defined in this document.</t>
      </section>
      <section anchor="liveness-detection-and-monitoring">
        <name>Liveness Detection and Monitoring</name>
        <t>The mechanisms defined in this document do not introduce any new liveness
detection or monitoring requirements in addition to those already defined
in <xref target="RFC5440"/> and <xref target="RFC8231"/>.</t>
      </section>
      <section anchor="verify-correct-operations">
        <name>Verify Correct Operations</name>
        <t>In addition to the verification requirements in <xref target="RFC5440"/> and <xref target="RFC8231"/>,
the following considerations apply:</t>
        <ul spacing="normal">
          <li>
            <t>An implementation SHOULD allow an operator to view the capabilities
advertised in the MULTIPATH-CAP TLV by each PCEP peer for a session
and for individual LSPs.</t>
          </li>
          <li>
            <t>An implementation SHOULD allow an operator to view the PATH-ATTRIB
object and all its associated TLVs for each path within an LSP. This
includes the Path ID, weight, backup information, and
opposite-direction path associations.</t>
          </li>
          <li>
            <t>An implementation SHOULD provide a mechanism to log and display
the new PCEP errors defined in this document</t>
          </li>
        </ul>
      </section>
      <section anchor="requirements-on-other-protocols">
        <name>Requirements On Other Protocols</name>
        <t>The PCEP extensions defined in this document do not impose any new
requirements on other protocols.</t>
      </section>
      <section anchor="impact-on-network-operations">
        <name>Impact On Network Operations</name>
        <t>The mechanisms in this document allow for more complex LSP structures
with multiple paths. Network operators should be aware of the potential
increase in PCEP message sizes and the additional state that must be
maintained by PCEP speakers. The "Number of Multipaths" field in the
MULTIPATH-CAP TLV can be used to control the scale of multipath
computations and state.</t>
      </section>
    </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[
   Bhupendra Yadav
   Ciena
   Email: byadav@ciena.com

   Gyan Mishra
   Verizon Inc.
   Email: gyan.s.mishra@verizon.com

   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="RFC9862">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing (SR) Policy Candidate Paths</title>
            <author fullname="M. Koldychev" initials="M." surname="Koldychev"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="S. Sidor" initials="S." surname="Sidor"/>
            <author fullname="C. Barth" initials="C." surname="Barth"/>
            <author fullname="S. Peng" initials="S." surname="Peng"/>
            <author fullname="H. Bidgoli" initials="H." surname="Bidgoli"/>
            <date month="October" 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.</t>
              <t>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="RFC" value="9862"/>
          <seriesInfo name="DOI" value="10.17487/RFC9862"/>
        </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="RFC5511">
          <front>
            <title>Routing Backus-Naur Form (RBNF): A Syntax Used to Form Encoding Rules in Various Routing Protocol Specifications</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="April" year="2009"/>
            <abstract>
              <t>Several protocols have been specified in the Routing Area of the IETF using a common variant of the Backus-Naur Form (BNF) of representing message syntax. However, there is no formal definition of this version of BNF.</t>
              <t>There is value in using the same variant of BNF for the set of protocols that are commonly used together. This reduces confusion and simplifies implementation.</t>
              <t>Updating existing documents to use some other variant of BNF that is already formally documented would be a substantial piece of work.</t>
              <t>This document provides a formal definition of the variant of BNF that has been used (that we call Routing BNF) and makes it available for use by new protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5511"/>
          <seriesInfo name="DOI" value="10.17487/RFC5511"/>
        </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="RFC9863">
          <front>
            <title>Path Computation Element Protocol (PCEP) Extension for Color</title>
            <author fullname="B. Rajagopalan" initials="B." surname="Rajagopalan"/>
            <author fullname="V. Beeram" initials="V." surname="Beeram"/>
            <author fullname="S. Peng" initials="S." surname="Peng"/>
            <author fullname="M. Koldychev" initials="M." surname="Koldychev"/>
            <author fullname="G. Mishra" initials="G." surname="Mishra"/>
            <date month="October" 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="RFC" value="9863"/>
          <seriesInfo name="DOI" value="10.17487/RFC9863"/>
        </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="I-D.ietf-pce-pceps-tls13">
          <front>
            <title>Updates for PCEPS: TLS Connection Establishment Restrictions</title>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <author fullname="Russ Housley" initials="R." surname="Housley">
              <organization>Vigil Security, LLC</organization>
            </author>
            <date day="9" month="January" year="2024"/>
            <abstract>
              <t>   Section 3.4 of RFC 8253 specifies TLS connection establishment
   restrictions for PCEPS; PCEPS refers to usage of TLS to provide a
   secure transport for PCEP (Path Computation Element Communication
   Protocol).  This document adds restrictions to specify what PCEPS
   implementations do if they support more than one version of the TLS
   protocol and to restrict the use of TLS 1.3's early data.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pceps-tls13-04"/>
        </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="28" month="January" year="2026"/>
            <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-14"/>
        </reference>
        <reference anchor="I-D.draft-ietf-pce-sr-p2mp-policy">
          <front>
            <title>PCEP extensions for SR P2MP Policy</title>
            <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
              <organization>Nokia</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Cisco Systems</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="October" 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-13"/>
        </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="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>
        <reference anchor="I-D.ietf-pce-pcep-yang">
          <front>
            <title>A YANG Data Model for Path Computation Element Communications Protocol (PCEP)</title>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Jonathan Hardwick" initials="J." surname="Hardwick">
         </author>
            <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
              <organization>Nvidia</organization>
            </author>
            <date day="26" month="January" year="2025"/>
            <abstract>
              <t>   This document defines a YANG data model for the management of the
   Path Computation Element communications Protocol (PCEP) for
   communications between a Path Computation Client (PCC) and a Path
   Computation Element (PCE), or between two PCEs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-yang-30"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
wC89MDa/+QV2CZr3JjHh6P8DvtDS4jy3AAA=

-->

</rfc>
