<?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.36 (Ruby 3.2.3) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-pce-stateful-pce-autobw-update-04" category="std" consensus="true" updates="8733" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="Auto-BW-Update">Update to Automatic Bandwidth Adjustment Procedure of Stateful PCE for MPLS-TE and SR-TE LSPs</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-pce-stateful-pce-autobw-update-04"/>
    <author initials="S." surname="Peng" fullname="Shuping Peng">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>
          <city>Beijing</city>
          <code>100095</code>
          <country>CN</country>
        </postal>
        <email>pengshuping@huawei.com</email>
      </address>
    </author>
    <author initials="D." surname="Dhody" fullname="Dhruv Dhody">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>IN</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="R." surname="Gandhi" fullname="Rakesh Gandhi">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>CA</country>
        </postal>
        <email>rgandhi@cisco.com</email>
      </address>
    </author>
    <date/>
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup>
    <keyword>autobandwidth, autobw, auto-bandwidth</keyword>
    <abstract>
      <?line 52?>
<t>The Stateful PCE extensions allow Stateful control of Traffic Engineering (TE) LSPs using PCEP for
RSVP-TE and Segment Routing (SR) (for both MPLS and IPv6 Data planes) for both PCE-Initiated and
PCC-Initiated LSPs.</t>
      <t>Extensions to the Path Computation Element Communication Protocol (PCEP) for MPLS-TE Label Switched Path (LSP) Automatic Bandwidth Adjustments with Stateful PCE are defined in RFC 8733. It defines the AUTO-BANDWIDTH-ATTRIBUTES TLV and a set of sub-TLVs for each of the attributes. The sub-TLVs are included if there is a change since the last information sent in the PCEP message. However, it lacks a mechanism to remove an attribute identified by the sub-TLV explicitly.</t>
      <t>This document updates RFC 8733 by defining the behaviour to remove an attribute explicitly. In addition, this updates allow applying this PCEP extensions to SR-TE LSPs (for both MPLS and IPv6 Data planes), in addition to MPLS-TE LSPs.</t>
    </abstract>
  </front>
  <middle>
    <?line 61?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC5440"/> describes the Path Computation Element Communication Protocol (PCEP).  PCEP defines the communication between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between PCEs, enabling computation of Multiprotocol Label Switching (MPLS) for Traffic Engineering Label Switched Path (TE LSP) characteristics.</t>
      <t><xref target="RFC8231"/> specifies extensions to PCEP to enable stateful control of MPLS TE LSPs.  It describes two modes of operation - Passive stateful PCE and Active stateful PCE. Further, <xref target="RFC8281"/> describes the setup, maintenance and teardown of PCE-Initiated LSPs for the stateful PCE model.</t>
      <t>PCEP Extensions for Segment Routing (SR) <xref target="RFC8664"/> specifies extensions to PCEP that allow a stateful PCE to compute and initiate TE paths, as well as a PCC to request a path subject to certain constraint(s) and optimization criteria for Segment Routing. <xref target="RFC9603"/> extends PCEP for Segment Routing for IPv6 data plane.  As specified in <xref target="RFC8664"/>, an LSP can be MPLS-TE LSP or SR-TE LSP based on the path setup type.  As specified in <xref target="RFC9603"/>, the term "LSP" used in the PCEP specifications for SRv6 would be equivalent to an SRv6 path (represented as a list of SRv6 segments).</t>
      <t><xref target="RFC8733"/> describes the auto-bandwidth feature that allows automatic and dynamic adjustment of the TE LSP bandwidth reservation based on the volume of traffic flowing through the LSP. It describes PCEP extensions for auto-bandwidth adjustment when employing an active stateful PCE for both PCE-initiated <xref target="RFC8281"/> and PCC-initiated LSPs. It defines the AUTO-BANDWIDTH-ATTRIBUTES TLV that provides the 'configurable knobs' of the feature, and it can be included as an optional TLV in the LSPA object. The TLV is encoded in all PCEP messages for the LSP while the auto-bandwidth adjustment feature is enabled.  The absence of the TLV indicates the PCEP speaker wishes to disable the feature.  The TLV includes multiple AUTO-BANDWIDTH-ATTRIBUTES sub-TLVs defined in <xref target="RFC8733"/>.  The AUTO-BANDWIDTH-ATTRIBUTES sub-TLVs are included if there is a change since the last information was sent in the PCEP message. It also states that in the case of a missing sub-TLV, as per the local policy, either the default value or some other operator-configured value is used.</t>
      <t>Since the missing sub-TLV in a subsequent PCEP message is considered to indicate no change, there is no mechanism to remove a particular attribute encoded in the sub-TLV. This document updates <xref target="RFC8733"/> to define such a procedure.</t>
      <t>Note that for the attributes that have an associated default value, they could simply encode the default value in the sub-TLV, but this cannot be used for the attributes that do not have a default value.</t>
      <t>This document proposes to use a special value of all zeros to indicate "restore to default", which could mean
going back to the default values or removal of the attribute itself.</t>
      <t>The following table includes the sub-TLVs and the default values as per <xref target="RFC8733"/>.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Type</th>
            <th align="center">Len</th>
            <th align="right">Name</th>
            <th align="right">Default</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">1</td>
            <td align="center">4</td>
            <td align="right">Sample-Interval</td>
            <td align="right">300 seconds</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="center">4</td>
            <td align="right">Adjustment-Interval</td>
            <td align="right">86400 seconds</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="center">4</td>
            <td align="right">Down-Adjustment-Interval</td>
            <td align="right">Adjustment-Interval</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="center">4</td>
            <td align="right">Adjustment-Threshold</td>
            <td align="right">none</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="center">8</td>
            <td align="right">Adjustment-Threshold-Percentage</td>
            <td align="right">5%, 0</td>
          </tr>
          <tr>
            <td align="left">6</td>
            <td align="center">4</td>
            <td align="right">Down-Adjustment-Threshold</td>
            <td align="right">Adjustment-Threshold</td>
          </tr>
          <tr>
            <td align="left">7</td>
            <td align="center">8</td>
            <td align="right">Down-Adjustment-Threshold-Percentage</td>
            <td align="right">Adjustment-Threshold-Percentage</td>
          </tr>
          <tr>
            <td align="left">8</td>
            <td align="center">4</td>
            <td align="right">Minimum-Bandwidth</td>
            <td align="right">0</td>
          </tr>
          <tr>
            <td align="left">9</td>
            <td align="center">4</td>
            <td align="right">Maximum-Bandwidth</td>
            <td align="right">none</td>
          </tr>
          <tr>
            <td align="left">10</td>
            <td align="center">8</td>
            <td align="right">Overflow-Threshold</td>
            <td align="right">none</td>
          </tr>
          <tr>
            <td align="left">11</td>
            <td align="center">8</td>
            <td align="right">Overflow-Threshold-Percentage</td>
            <td align="right">none</td>
          </tr>
          <tr>
            <td align="left">12</td>
            <td align="center">8</td>
            <td align="right">Underflow-Threshold</td>
            <td align="right">none</td>
          </tr>
          <tr>
            <td align="left">13</td>
            <td align="center">8</td>
            <td align="right">Underflow-Threshold-Percentage</td>
            <td align="right">none</td>
          </tr>
        </tbody>
      </table>
      <t>Thus, the use of the special value of all zeros in the value portion of the sub-TLV can be used to indicate "restore to default", which could mean :</t>
      <ul spacing="normal">
        <li>
          <t>if an explicit default value is set for the sub-TLV:
          </t>
          <ul spacing="normal">
            <li>
              <t>Restore to the default values</t>
            </li>
          </ul>
        </li>
        <li>
          <t>if the default value is set to another sub-TLV value:
          </t>
          <ul spacing="normal">
            <li>
              <t>Remove the associated attribute</t>
            </li>
          </ul>
        </li>
        <li>
          <t>if there is no default value for the sub-TLV:
          </t>
          <ul spacing="normal">
            <li>
              <t>Remove the associated attribute</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>The value portion of the sub-TLV consists of encoded data (of the specified length and type), which is set to zero. In cases where the value portion of the sub-TLV contains multiple fields, all fields are set to zero.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</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.
<?line -6?>
      </t>
    </section>
    <section anchor="updated-procedures">
      <name>Updated Procedures</name>
      <t>Section 5.2 of <xref target="RFC8733"/> defines the AUTO-BANDWIDTH-ATTRIBUTES TLV and its associated sub-TLVs.</t>
      <t>This document updates <xref target="RFC8733"/> by adding this text at the end of paragraph 3 in section 5.2:</t>
      <artwork><![CDATA[
A special value of all zeros in the value portion of the sub-TLV
indicates that the attribute identified by the sub-TLV is restored
to the default value. The value of all zeros is not considered an
invalid value and MUST be checked before individual fields.

For the attributes that have an associated default value, on
receiving such a sub-TLV, the PCEP speaker MUST consider it as
an instruction to restore to the default values. Note that, the
PCEP speaker could also set the default value in the sub-TLV
itself.

For the attributes that do not have an associated default value,
on receiving such a sub-TLV, the PCEP speaker MUST consider it
as a removal of the specific auto-bandwidth attribute.
]]></artwork>
    </section>
    <section anchor="pcep-extensions">
      <name>PCEP Extensions</name>
      <t>Section 5.1.1 of <xref target="RFC8733"/> defines the AUTO-BANDWIDTH-CAPABILITY TLV as an optional TLV for use in the OPEN Object for auto-bandwidth adjustment. This document adds a new flag -</t>
      <t>Z (TBD): The flag indicates that a PCEP speaker supports the use of the special value of all zeros in the value field as specified in this document.</t>
      <t>The presence of the Z flag can give a clear indication to the PCEP peer whether they can use the updated procedures defined in this document.</t>
      <t>A PCEP speaker MUST NOT use the all-zero value semantics defined in this document unless the peer has
advertised the Z flag in the AUTO-BANDWIDTH-CAPABILITY TLV.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>The examples in this section assume that both PCEP speakers have advertised support for the Z flag.</t>
      <section anchor="example-1">
        <name>Example 1</name>
        <t>Consider an LSP with the following information in the AUTO-BANDWIDTH-ATTRIBUTES TLV in the PCInitiate message:</t>
        <ul spacing="normal">
          <li>
            <t>Sample-Interval: 600 (in sec)</t>
          </li>
          <li>
            <t>Adjustment-Interval: 172800 (2 days in sec)</t>
          </li>
          <li>
            <t>Adjustment-Threshold: 0x49989680 (10 Mbps in bps)</t>
          </li>
        </ul>
        <t>Now, if the PCE would like to not use the Adjustment-Thresholds feature for the LSP and set the Adjustment-Interval to 1 day, it could send the AUTO-BANDWIDTH-ATTRIBUTES TLV in the PCUpd message with the following sub-TLVs:</t>
        <ul spacing="normal">
          <li>
            <t>Adjustment-Interval: 86400 (1 day in seconds, the default value)</t>
          </li>
          <li>
            <t>Adjustment-Threshold: 0x0</t>
          </li>
        </ul>
        <t>On receiving the special value of all zeros in the value portion of the Adjustment-Threshold sub-TLV, the PCEP speaker would consider that to be the removal of the Adjustment-Threshold feature.</t>
        <t>Note that, the PCE could also set the Adjustment-Interval: 0x0 instead of the default value to trigger the restore to default. The Sample-Interval remains unchanged.</t>
      </section>
      <section anchor="example-2">
        <name>Example 2</name>
        <t>Consider an LSP with the following information in the AUTO-BANDWIDTH-ATTRIBUTES TLV in the PCInitiate message:</t>
        <ul spacing="normal">
          <li>
            <t>Sample-Interval = 1000</t>
          </li>
        </ul>
        <t>Now, if the PCC receives an update with Sample-Interval with the special value of all zeros, this will lead to Sample-Interval being set to the default value of 300.</t>
      </section>
      <section anchor="example-3">
        <name>Example 3</name>
        <t>Consider an LSP with the following information in the AUTO-BANDWIDTH-ATTRIBUTES TLV in the PCInitiate message:</t>
        <ul spacing="normal">
          <li>
            <t>Adjustment-Threshold: 0x49989680 (10 Mbps in bps)</t>
          </li>
          <li>
            <t>Down-Adjustment-Threshold: 0x93312D00 (20 Mbps in bps)</t>
          </li>
        </ul>
        <t>Now, if the PCC receives an update with Down-Adjustment-Threshold with the special value of all zeros, this will lead to the removal of the Down-Adjustment-Threshold attribute and only Adjustment-Threshold remains.</t>
        <t>If the PCC receives an update with Adjustment-Threshold with the special value of all zeros, this will lead to the removal of the Adjustment-Threshold attribute as well.</t>
      </section>
    </section>
    <section anchor="auto-bandwidth-for-segment-routing-lsps">
      <name>Auto-Bandwidth for Segment Routing LSPs</name>
      <t>The PCEP extensions defined in <xref target="RFC8733"/> for the MPLS-TE LSP path setup type, apply equally to the SR-TE LSP path setup types, for both SR-MPLS <xref target="RFC8664"/> and SRv6 <xref target="RFC9603"/> data planes.</t>
    </section>
    <section anchor="backward-compatibility">
      <name>Backward Compatibility</name>
      <t>Note that to achieve the same objective, an <xref target="RFC8733"/> compliant implementation could send a PCEP message without the AUTO-BANDWIDTH-ATTRIBUTES TLV first and then include the AUTO-BANDWIDTH-ATTRIBUTES TLV with the updated sub-TLV. This is the same as "turning it off and on again", but would cause unnecessary path computation churn (compared to targeted removal of the attribute).</t>
      <t>An existing implementation of <xref target="RFC8733"/> that does not support this update (where the Z flag is not set) will not recognize or use the special value of all zeros in the sub-TLV. If such a sub-TLV is received, as per <xref target="RFC8733"/>, implementations may treat the sub-TLV as malformed and ignore it.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document does not add any substantial new security concerns beyond those already discussed in <xref target="RFC8733"/>.</t>
      <t>Incorrect or unauthorized use of the all-zero value semantics could remove or reset auto-bandwidth attributes and affect LSP bandwidth adjustment behavior. Therefore, deployments MUST apply the security mechanisms and
access controls described in <xref target="RFC8733"/> and the underlying PCEP security mechanisms.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="auto-bandwidth-capability-tlv-flag-field">
        <name>AUTO-BANDWIDTH-CAPABILITY TLV Flag Field</name>
        <t><xref target="RFC8733"/> defines the AUTO-BANDWIDTH-CAPABILITY TLV. IANA created a registry to manage the Flag field of the AUTO-BANDWIDTH-CAPABILITY TLV within the "Path Computation Element Protocol (PCEP) Numbers" registry group. This document requests IANA to allocate a new bit in the AUTO-BANDWIDTH-CAPABILITY TLV Flag Field registry, as follows.  IANA is requested to make allocations starting from the least significant bit (31).</t>
        <table>
          <thead>
            <tr>
              <th align="left">Bit</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">Z flag (special value of all zeros)</td>
              <td align="left">[This.I-D]</td>
            </tr>
          </tbody>
        </table>
      </section>
    </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="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="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8231">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions. This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8231"/>
          <seriesInfo name="DOI" value="10.17487/RFC8231"/>
        </reference>
        <reference anchor="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="RFC8733">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for MPLS-TE Label Switched Path (LSP) Auto-Bandwidth Adjustment with Stateful PCE</title>
            <author fullname="D. Dhody" initials="D." role="editor" surname="Dhody"/>
            <author fullname="R. Gandhi" initials="R." role="editor" surname="Gandhi"/>
            <author fullname="U. Palle" initials="U." surname="Palle"/>
            <author fullname="R. Singh" initials="R." surname="Singh"/>
            <author fullname="L. Fang" initials="L." surname="Fang"/>
            <date month="February" year="2020"/>
            <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. Stateful PCE extensions allow stateful control of MPLS-TE Label Switched Paths (LSPs) using PCEP.</t>
              <t>The auto-bandwidth feature allows automatic and dynamic adjustment of the TE LSP bandwidth reservation based on the volume of traffic flowing through the LSP. This document describes PCEP extensions for auto-bandwidth adjustment when employing an active stateful PCE for both PCE-initiated and PCC-initiated LSPs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8733"/>
          <seriesInfo name="DOI" value="10.17487/RFC8733"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="RFC9603">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for IPv6 Segment Routing</title>
            <author fullname="C. Li" initials="C." role="editor" surname="Li"/>
            <author fullname="P. Kaladharan" initials="P." surname="Kaladharan"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="M. Koldychev" initials="M." surname="Koldychev"/>
            <author fullname="Y. Zhu" initials="Y." surname="Zhu"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>Segment Routing (SR) can be used to steer packets through a network using the IPv6 or MPLS data plane, employing the source routing paradigm.</t>
              <t>An SR Path can be derived from a variety of mechanisms, including an IGP Shortest Path Tree (SPT), explicit configuration, or a Path Computation Element (PCE).</t>
              <t>Since SR can be applied to both MPLS and IPv6 data planes, a PCE should be able to compute an SR Path for both MPLS and IPv6 data planes. The Path Computation Element Communication Protocol (PCEP) extension and mechanisms to support SR-MPLS have been defined. This document outlines the necessary extensions to support SR for the IPv6 data plane within PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9603"/>
          <seriesInfo name="DOI" value="10.17487/RFC9603"/>
        </reference>
      </references>
    </references>
    <?line 223?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Aijun Wang, Andrew Stone, and Luis Miguel Contreras Murillo for their review comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
