<?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.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-pce-multipath-20" category="std" consensus="true" submissionType="IETF" 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-20"/>
    <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="March" day="02"/>
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
      <?line 57?>

<t>A Segment Routing (SR) Policy Candidate Path can contain multiple Segment Lists,
allowing for load-balancing and protection across diverse paths.
However, current PCEP extensions for SR Policy only allow signaling of a single 
Segment List per Candidate Path.
This document defines PCEP extensions to encode multiple Segment Lists within an 
SR Policy Candidate Path, enabling multipath capabilities such as weighted or 
equal-cost load-balancing across Segment Lists.
The extensions are designed to be generic and reusable for future path types 
beyond SR Policy, and are applicable to both stateless and stateful PCEP.</t>
    </abstract>
  </front>
  <middle>
    <?line 69?>

<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 specifications 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>
        <t>PLSP:</t>
        <ul empty="true">
          <li>
            <t>PCE Label Switched Path, a path or set of paths computed or controlled by the PCE. In the context of SR Policy, a PLSP corresponds to a Candidate Path.</t>
          </li>
        </ul>
        <t>Path:</t>
        <ul empty="true">
          <li>
            <t>In the context of this document, a path refers to a single forwarding path encoded in an ERO or RRO object. For SR Policy, a path corresponds to a Segment List. The mechanisms defined in this document use the generic term "path" to allow applicability beyond SR Policy.</t>
          </li>
        </ul>
        <t>LSP:</t>
        <ul empty="true">
          <li>
            <t>Label Switched Path. In the context of PCEP for SR Policy <xref target="RFC9862"/>, an LSP object represents an SR Policy Candidate Path, which may contain multiple paths (Segment Lists).</t>
          </li>
        </ul>
        <t>Segment List:</t>
        <ul empty="true">
          <li>
            <t>An ordered list of segments that defines a forwarding path in Segment Routing, as defined in <xref target="RFC9256"/>. In PCEP for SR Policy, each Segment List is encoded as an ERO object.</t>
          </li>
        </ul>
        <t>ERO:</t>
        <ul empty="true">
          <li>
            <t>Explicit Route Object, defined in <xref target="RFC5440"/>, encodes an explicit path. In the context of SR Policy, an ERO encodes a Segment List.</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.</t>
        <t>Certain applications such as Circuit Style SR Policy 
<xref target="I-D.ietf-spring-cs-sr-policy"/>, require the knowledge of reverse paths 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 ERO/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 or RRO that it applies to.  If
multiple ERO or RRO objects are present, then each ERO or 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>
        <t>The format of the PATH-ATTRIB object is shown in <xref target="fig-path-attrib"/>.</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>
        <t>Optional TLVs: Variable length field that can contain one or more TLVs
that carry additional per-path information.  The specific TLVs that can
be included are defined in subsequent sections of this document.</t>
      </section>
      <section anchor="METRIC">
        <name>METRIC Object</name>
        <t>The PCEP METRIC object can continue to be used at the LSP level to 
describe properties of the overall LSP. 
Mechanisms for encoding per-path metrics (e.g., a separate METRIC 
for each path) 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): unsigned integer 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: see <xref target="LOADBALANCING"/> for details.</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 describe a set of backup paths protecting a
primary path within a PCEP LSP: see <xref target="PROTECTION"/> for details.
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 paths.</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 paths 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 IDs: A series of 4-octet identifiers that reference the 
Path ID field (see <xref target="PATH-ID"/>) of other PATH-ATTRIB objects within the 
same PCEP LSP. These referenced paths act as backup paths that protect 
this primary path. Each Backup Path ID value MUST match the Path ID of a 
PATH-ATTRIB object in the same LSP that has the B-flag set (indicating 
it is a pure backup path).</t>
        <t>If a PCEP speaker receives a MULTIPATH-BACKUP TLV applied to a P2P path,
it MUST 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.
Each TLV instance identifies one opposite-direction path for the path 
described by this PATH-ATTRIB object. See <xref target="OPPDIR"/> for operational 
details.</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.
If not set, the paths are not guaranteed to be node co-routed
(they may or may not traverse the same set of nodes).</t>
          </li>
          <li>
            <t>L (Link co-routed): If set, indicates this path is
link co-routed with its opposite direction path, specified in this TLV.
Two opposite direction paths are link co-routed if they
traverse the same links (but in opposite directions).
Link co-routing implies node co-routing; therefore, it is not
necessary to set the N flag when the L flag is set.</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): References the Path ID field 
(see <xref target="PATH-ID"/>) of a PATH-ATTRIB object that identifies a path going 
in the opposite direction to this path. If no opposite-direction path 
exists, then this field MUST be set to 0, a value reserved to indicate 
the absence of a Path ID.</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.
If multiple COLOR TLVs are contained in the PATH-ATTRIB object, the first one 
is 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 forwarding class value, 
which allows Quality of Service (QoS) classified traffic to be steered depending on the forwarding 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): Forwarding class value as defined in Section 8.6 of <xref target="RFC9256"/>. 
This value 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. The FC field allows 
up to 8 different forwarding classes (values 0-7). The semantics of specific FC 
values are significant at the headend node (PCC) that implements the SR Policy 
and are determined by that node's local QoS policy or configuration. 
Coordination of FC value meanings between PCEP peers (e.g., through out-of-band 
configuration management or operational procedures) is outside the scope of 
this document.</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.
It MAY also be present in the LSP object for each individual LSP from the PCC.</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: In the OPEN object, this flag indicates whether the 
MULTIPATH-OPPDIR-PATH TLV is supported. In the LSP object, this flag 
indicates that opposite-direction path information is requested or provided 
for that specific LSP. When set by the PCC (in PCRpt/PCReq), it requests 
the PCE to provide reverse path information. When set by the PCE (in 
PCInit/PCUpd/PCRep), it indicates the PCE is providing or will provide 
reverse path information. In both cases, the PCE SHOULD provide 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 a PCE computes an LSP path, it MUST NOT return more forward 
multipaths than the minimum of the "Number of Multipaths" values 
advertised by both the PCE and PCC in their respective MULTIPATH-CAP TLVs 
during capability negotiation. This ensures the PCE does not exceed either 
its own computation capability or the PCC's installation capability. 
If this TLV is absent (from both OPEN and LSP objects), then the 
"Number of Multipaths" is assumed to be 1.</t>
          <t>If a PCC receives more paths than it advertised support for, it MUST 
send a PCError message with Error-Type = 19 ("Invalid Operation") and 
Error-Value = TBD3 ("Unsupported multipath capability").</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>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>
          <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>
        </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 non-zero 
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"). Multiple paths MAY have Path ID 
set to 0, as this value indicates those paths are not referenced and do 
not require unique identification.</t>
      </section>
      <section anchor="LOADBALANCING">
        <name>Signaling Multiple Paths for Loadbalancing</name>
        <t>The PATH-ATTRIB object can be used to signal multiple paths 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 (PCE Label Switched Path) (when non-zero).</t>
          </li>
          <li>
            <t>The PCE MAY include the MULTIPATH-WEIGHT TLV inside the PATH-ATTRIB object,
populating a weight value 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 PCC MUST assume the default weight of 1 when computing
the loadshare.</t>
          </li>
          <li>
            <t>The PCC derives the fraction of flows carried by a specific primary path
from the ratio of its weight to the sum of all other multipath weights.</t>
          </li>
        </ol>
      </section>
      <section anchor="PROTECTION">
        <name>Signaling Multiple Paths for Protection</name>
        <t>The PATH-ATTRIB object can be used to describe a set of backup paths 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 (PCE Label Switched Path).</t>
          </li>
          <li>
            <t>The PCE MAY include the MULTIPATH-BACKUP TLV inside the PATH-ATTRIB object for each
ERO that is protected, specifying the backup path IDs to reflect the set of backup
paths protecting the primary path. The PCE updates the Length field and Backup Path
Count in the MULTIPATH-BACKUP according to the number of backup path IDs included.</t>
          </li>
          <li>
            <t>The PCE MAY include the MULTIPATH-BACKUP TLV 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 paths 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 anchor="OPPDIR">
        <name>Signaling Opposite-Direction Path Information</name>
        <t>The PATH-ATTRIB object can be used to signal opposite-direction path 
associations within a PCEP LSP. This capability is used to establish 
bidirectional path relationships where forward and reverse paths can be 
explicitly mapped to each other. In this case, the
PATH-ATTRIB is populated for each ERO as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>The PCEP peer (PCC or PCE) allocates a unique Path ID to each path 
and populates it inside the PATH-ATTRIB object. The Path ID is unique 
within the context of a PLSP (PCE Label Switched Path).</t>
          </li>
          <li>
            <t>For paths that have opposite-direction counterparts, the 
MULTIPATH-OPPDIR-PATH TLV is added to the PATH-ATTRIB object. The 
Opposite Direction Path ID field is set to reference the Path ID of 
the corresponding opposite-direction path.</t>
          </li>
          <li>
            <t>Multiple instances of the MULTIPATH-OPPDIR-PATH TLV MAY be present 
in the same PATH-ATTRIB object to support many-to-many mappings 
between forward and reverse paths. This allows a single forward path 
to map to multiple reverse paths and vice versa. Many-to-many 
mapping can occur when a Segment List contains Node Segment(s) that 
traverse parallel links at a midpoint. The reverse of this Segment 
List may require multiple Reverse Segment Lists to cover all the 
parallel links at the midpoint.</t>
          </li>
          <li>
            <t>The N-flag and L-flag in the MULTIPATH-OPPDIR-PATH TLV MAY be set 
to indicate node co-routing or link co-routing respectively. These 
flags inform the receiver about the relationship between the forward 
and reverse paths.</t>
          </li>
          <li>
            <t>For paths that have no opposite-direction counterpart, the 
MULTIPATH-OPPDIR-PATH TLV is omitted from the PATH-ATTRIB object.</t>
          </li>
        </ol>
        <t>Forward paths (R-flag=0) and reverse paths (R-flag=1) are included in the 
same PCEP LSP, allowing bidirectional relationships to be established 
atomically. The opposite-direction path associations MUST be symmetric 
within the same LSP. When path A references path B as its opposite-direction 
path, path B MUST also reference path A as its opposite-direction path. 
Additionally, their R-flags in the PATH-ATTRIB object MUST have opposite 
values (one set to 0, the other to 1).</t>
        <t>If a PCEP speaker receives an opposite-direction path mapping that is 
asymmetric or where the R-flags are inconsistent, it 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>
    <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.</t>
      <t>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 extends <xref target="RFC8231"/> by allowing 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-multipath>]

   <intended-path-multipath> ::= <PATH-ATTRIB><ERO>
                                 [<intended-path-multipath>]

   <actual-path> ::= <RRO> |
                     <PATH-ATTRIB><RRO>[<actual-path-multipath>]

   <actual-path-multipath> ::= <PATH-ATTRIB><RRO>
                               [<actual-path-multipath>]
]]></artwork>
      <t>Similarly, this document extends <xref target="RFC8281"/> by allowing 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. When multiple 
paths are present, each ERO MUST be preceded by a PATH-ATTRIB object that 
describes it. A single path MAY be sent as a bare ERO without PATH-ATTRIB 
for backward compatibility.</t>
    </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: Partial
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 | 0: Reserved       |                 |
 |              |             | 1: PATH-ATTRIB    | This document   |
 |              |             | 2-15: Unassigned  |                 |
 +--------------+-------------+-------------------+-----------------+
]]></artwork>
        <t>Object-Type values are managed via the IETF Review policy as per <xref target="RFC8126"/>.</t>
      </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: Composite Candidate       | This document   |
 |            |  Path support                     |                 |
 +------------+-----------------------------------+-----------------+
 | 12         | F-flag: MULTIPATH-FORWARD-CLASS   | This document   |
 |            |  TLV support                      |                 |
 +------------+-----------------------------------+-----------------+
 | 13         | 0-flag: MULTIPATH-OPPDIR-PATH     | This document   |
 |            |  TLV support                      |                 |
 +------------+-----------------------------------+-----------------+
 | 14         | B-flag: MULTIPATH-BACKUP TLV      | This document   |
 |            |  support                          |                 |
 +------------+-----------------------------------+-----------------+
 | 15         | W-flag: MULTIPATH-WEIGHT TLV      | This document   |
 |            |  support                          |                 |
 +------------+-----------------------------------+-----------------+
]]></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="appendix-a-examples">
      <name>Appendix A.  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.</t>
        <artwork><![CDATA[
SR policy POL1 <headend, color, endpoint>
    Candidate Path CP1 <protocol-origin = 20, originator-asn = 100,
                        originator-address = 192.0.2.1,
                        discriminator = 1>
        Preference 200
        Weight W1, SID-List1 <SID11...SID1i>
        Weight W2, SID-List2 <SID21...SID2j>
    Candidate Path CP2 <protocol-origin = 20, originator-asn = 100,
                        originator-address = 198.51.100.1,
                        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 (as defined in <xref target="RFC8231"/>) 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.</t>
        <artwork><![CDATA[
SR policy POL100 <headend = H1, color = 100, endpoint = E1>
    Candidate Path CP1 <protocol-origin = 20, originator-asn = 100,
                        originator-address = 192.0.2.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="acknowledgement">
      <name>Acknowledgement</name>
      <t>Thanks to Adrian Farrel for shepherding this document, Dhruv
   Dhody for ideas and discussion, and Giuseppe Fioccola, Italo
   Busi, Yuan Yaping, and Cheng Li for their reviews.</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="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="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="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="23" month="February" 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-16"/>
        </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="23" month="February" year="2026"/>
            <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-14"/>
        </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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
vGG+ywAA

-->

</rfc>
