<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
  <!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
  <!ENTITY RFC3031 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3031.xml">
  <!ENTITY RFC4655 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4655.xml">
  <!ENTITY RFC5440 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml">
  <!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
  <!ENTITY RFC8231 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml">
  <!ENTITY RFC8281 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8281.xml">
  <!ENTITY RFC8664 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8664.xml">
  <!ENTITY RFC8733 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8733.xml">
  <!ENTITY RFC7942 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml">
  <!ENTITY RFC9256 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9256.xml">
  <!ENTITY RFC9603 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9603.xml">
  <!ENTITY RFC9862 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9862.xml">
  <!ENTITY I-D.ietf-pce-multipath SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pce-multipath.xml">
]>
<?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-05" category="std" submissionType="IETF" 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 the Automatic Bandwidth Adjustment Procedure for MPLS-TE and SR-TE LSPs with a Stateful PCE</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-pce-stateful-pce-autobw-update-05"/>
    <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>
  Extensions for the stateful PCE model enable control of Traffic Engineering (TE)
  LSPs using the Path Computation Element Communication Protocol (PCEP) for
  RSVP-TE and Segment Routing (SR), for both PCE-initiated and PCC-initiated LSPs.
     </t>

     <t>
    RFC 8733 defines PCEP extensions for automatically adjusting bandwidth on
    MPLS-TE Label Switched Paths (LSPs) using a stateful PCE. It also defines
    the AUTO-BANDWIDTH-ATTRIBUTES TLV and a set of sub-TLVs for the attributes.
    A sub-TLV is included when its value differs from the value last sent in a
    PCEP message. However, RFC 8733 lacks a mechanism to explicitly
    remove an attribute identified by a sub-TLV. This document updates RFC 8733
    by defining such a mechanism.
     </t>

     <t>
    In addition, this document applies the PCEP extensions for automatic
    bandwidth adjustment to SR-TE LSPs in both the MPLS (SR-MPLS) and IPv6 (SRv6) data planes.
    It also extends automatic bandwidth adjustment to multiple Segment Lists
    in an SR LSP using the extensions defined in draft-ietf-pce-multipath.
     </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 enables a Path Computation Client
  (PCC) to communicate with a Path Computation Element (PCE), or with other
  PCEs, to compute paths for Multiprotocol Label Switching (MPLS) Traffic
  Engineering (TE) Label Switched Paths (LSPs).
   </t>

   <t>
  <xref target="RFC8231"/> specifies extensions to PCEP that enable stateful
  control of MPLS-TE LSPs. It describes two operating modes: passive stateful
  PCE and active stateful PCE. <xref target="RFC8281"/> describes the setup,
  maintenance, and teardown of PCE-initiated LSPs in the stateful PCE model.
   </t>


    <t>
  <xref target="RFC8733"/> defines PCEP extensions for automatically adjusting
  bandwidth on MPLS-TE Label Switched Paths (LSPs) using a stateful PCE. It
  defines the AUTO-BANDWIDTH-ATTRIBUTES TLV and a set of sub-TLVs for the
  attributes. A sub-TLV is included when its value differs from the value last
  sent in a PCEP message. However, RFC 8733 lacks a mechanism to explicitly
  remove an attribute identified by a sub-TLV. This document updates
  <xref target="RFC8733"/> by defining such a mechanism.
    </t>

    <t>
    <xref target="RFC8664"/> specifies PCEP extensions for Segment Routing (SR).
    These extensions allow a stateful PCE to compute and initiate TE paths and
    allow a PCC to request paths subject to constraints and optimization
    criteria. <xref target="RFC9603"/> extends PCEP for SR in the IPv6 data
    plane (SRv6). As specified in <xref target="RFC8664"/>, an LSP can be an MPLS-TE
    LSP or an SR-TE LSP, depending on the path setup type.
    </t>

    <t>
    An SR Policy, as defined in <xref target="RFC9256"/>, contains one or more
    Candidate Paths (CPs), which a PCE may compute. Each Candidate Path can
    contain one or more Segment Lists (SLs).
    In PCEP messages, an SL is encoded as an Explicit Route Object (ERO) 
    as described in <xref target="RFC8664" section="4.3"/>.
    </t>

    <t>
    <xref target="I-D.ietf-pce-multipath"/> defines PCEP extensions that allow the
    signaling of multipath information via PCEP.  Using multipath extensions for SR Policy Candidate Paths
    requires support for <xref target="RFC9862"/>. 
    </t>

    <t>
    This document applies PCEP extensions for automatic bandwidth adjustment
    to SR-TE LSPs in both the MPLS (SR-MPLS) and IPv6 (SRv6) data planes. It also extends
    automatic bandwidth adjustment to multiple SLs of an SR-TE LSP using the
    extensions defined in <xref target="I-D.ietf-pce-multipath"/>.
    </t>

    </section>

    <section anchor="conventions">
      <name>Conventions</name>

      <section anchor="terminology">
        <name>Terminology</name>

     <t>
      The reader is assumed to be familiar with the
      terminology defined in <xref target="RFC8231"/>, <xref target="RFC8281"/>, <xref target="RFC8733"/>, and
      <xref target="I-D.ietf-pce-multipath"/>.
     </t>

      <t>This document uses the following terms defined in <xref target="RFC5440"/>: Explicit Route Object (ERO), Path Computation Client (PCC), Path Computation Element (PCE), Path Computation Element Communication Protocol (PCEP), PCEP peer, and PCEP speaker.</t>

      <t>
      This document extends the definition of Label Switched Path (LSP) in
      <xref target="RFC3031"/> as:
      </t>

      <t>
      While the base PCEP specification <xref target="RFC4655"/> originally defined the 
      PCE architecture for MPLS and GMPLS networks with LSPs instantiated using the 
      RSVP-TE signaling protocol. 
      As specified in the Terminology Section of <xref target="RFC9603"/>, the term "LSP"
      used in the PCEP specifications would be equivalent to an SRv6 path
      (represented as a list of SRv6 segments) in the context of supporting
      SRv6 in PCEP using the SRv6 Path Setup Type.
      </t>

    </section>

      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "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>

    <section anchor="auto-bandwidth-attributes-tlv">
      <name>AUTO-BANDWIDTH-ATTRIBUTES TLV</name>

      <section anchor="overview">
        <name>Overview</name>

    <t>
<xref target="RFC8733"/> describes the auto-bandwidth feature, which
automatically adjusts TE LSP bandwidth reservations based on the traffic volume
flowing through each LSP. It specifies PCEP extensions for auto-bandwidth
adjustment using an active stateful PCE for both PCE-initiated
<xref target="RFC8281"/> and PCC-initiated LSPs.
  </t>

  <t>
RFC 8733 also defines the AUTO-BANDWIDTH-ATTRIBUTES TLV, which provides configurable
parameters for the feature and may be included as an optional TLV in the LSPA
object. The TLV is
included in all PCEP messages for an LSP while auto-bandwidth adjustment is
enabled; its absence indicates that the PCEP speaker wishes to disable the
feature. The TLV contains multiple AUTO-BANDWIDTH-ATTRIBUTES sub-TLVs defined
in <xref target="RFC8733"/>. A sub-TLV is included when its value differs from
the value last sent in a PCEP message. When a sub-TLV is absent, local policy
determines whether its default value or another operator-configured value is
used.
      </t>

      <t>
      Because the absence of a sub-TLV in a subsequent PCEP message indicates
      that its value has not changed, a PCEP speaker cannot use omission to
      remove a previously specified attribute. This document updates
      <xref target="RFC8733"/> to define such a procedure.</t>

      <t>
      A PCEP speaker can reset an attribute with an associated default value
      by encoding that value in the sub-TLV. This approach is unavailable for
      attributes without a default value.</t>

      <t>
      This document defines a special all-zero value to mean "restore to
      default." Depending on the attribute, this restores its default value or
      removes the attribute.</t>

     <t>
    The following table lists the sub-TLVs and their default values as defined in <xref target="RFC8733"/>.
     </t>

      <table>
        <name>AUTO-BANDWIDTH-ATTRIBUTES Sub-TLVs and Default Values</name>
        <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, an all-zero value in the value field of a sub-TLV indicates "restore to
      default," which may mean one of the following:</t>
      <ul spacing="normal">
        <li>
          <t>if an explicit default value is set for the sub-TLV:
          </t>
          <ul spacing="normal">
            <li>
              <t>Restore the default value</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 contains encoded data of the specified
      length and type and is set to zero. If it contains multiple fields, each
      field is set to zero.</t>

      </section>
      <section anchor="updated-procedures">
        <name>Updated PCEP Procedures</name>
      <t><xref target="RFC8733" section="5.2"/> 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 of <xref target="RFC8733" 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 treat it as
an instruction to restore 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 treat it as
an instruction to remove the specific auto-bandwidth attribute.
]]></artwork>
  </section>
      <section anchor="pcep-extensions">
      <name>PCEP Extension for Auto-Bandwidth</name>

      <t><xref target="RFC8733" section="5.1.1"/> defines the AUTO-BANDWIDTH-CAPABILITY TLV as an optional TLV for use in the OPEN Object for auto-bandwidth adjustment. This document adds the following flag:</t>
      <ul spacing="normal">
        <li>
          <t>Z (bit 31): Indicates that a PCEP speaker supports using the special
          all-zero value in the value field as specified in this document.</t>
        </li>
      </ul>

      <t>The presence of the Z flag indicates to the PCEP peer that this
      speaker supports 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 seconds)</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>If the PCE wants to disable the Adjustment-Threshold feature for the LSP and set the Adjustment-Interval to one day, it can 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>When the PCEP speaker receives an all-zero value in the
        Adjustment-Threshold sub-TLV, it interprets the value as an instruction
        to remove the Adjustment-Threshold feature.</t>
        <t>The PCE could also set the Adjustment-Interval to 0x0 to reset it to its default value. 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>If the PCC receives an update that sets Sample-Interval to all zeros, the PCC resets Sample-Interval to its default value of 300 seconds.</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>When the PCC receives an update that sets Down-Adjustment-Threshold
        to all zeros, it removes that attribute, leaving only
        Adjustment-Threshold.</t>
        <t>If the PCC receives an update that sets Adjustment-Threshold to all
        zeros, it removes that attribute as well.</t>
      </section>
    </section>
    </section>

    <section anchor="auto-bandwidth-for-segment-routing-lsps">

      <name>Auto-Bandwidth for Segment Routing LSPs</name>

    <t>
    The PCEP extensions for automatic bandwidth adjustment defined in
    <xref target="RFC8733"/> for path setup type "0: Path is set up using the
    RSVP-TE signaling protocol" also apply to SR-TE LSPs that use path setup
    types as follows:
    </t>
    <ul spacing="normal">
      <li>
        <t>Path setup type "1: Traffic-engineering path is set up using Segment Routing" <xref target="RFC8664"/> for the SR-MPLS data plane.</t>
      </li>
      <li>
        <t>Path setup type "3: Traffic engineering path is set up using SRv6" <xref target="RFC9603"/> for the IPv6 data plane.</t>
      </li>
    </ul>

    <section anchor="procedure-for-multipath-autobandwidth">
      <name>Procedure for Multipath Auto-Bandwidth</name>

    <t>
    This document extends the automatic bandwidth adjustment procedure defined in <xref target="RFC8733"/> to multiple path (e.g., SLs of an LSP) using the multipath PCEP extensions defined in <xref target="I-D.ietf-pce-multipath"/> as follows:
    </t>

    <ul spacing="normal">

      <li>
          <t>The auto-bandwidth attributes defined in <xref target="RFC8733" section="5.2"/> apply independently to each path of an LSP. Each path uses its own traffic samples, current bandwidth reservation, and calculated Adjusted Bandwidth.
          </t>
      </li>

      <li>
          <t>A PCC (LSP head-end) collects traffic-rate samples and calculates the Adjusted Bandwidth independently for each path. As defined in <xref target="RFC8733" section="5.3"/>, the PCC reports the calculated bandwidth to be adjusted to the stateful PCE using the existing Requested Bandwidth (Object-Type 1) fo BANDWIDTH (Class 5) for each path. 
          </t>
          <t>
          The Requested Bandwidth in BANDWIDTH object is associated with each path identified by its Path ID as specified in <xref target="I-D.ietf-pce-multipath" section="4.2"/> in PCRpt message specified in <xref target="I-D.ietf-pce-multipath" section="5"/>.
          </t>
      </li>

      <li>
          <t>
          A PCE updates the PCC with the bandwidth value used to compute each path in a PCUpd message, using the existing Requested Bandwidth in BANDWIDTH for each path. 
          </t>

          <t>
          The Requested Bandwidth in BANDWIDTH object is associated with each path identified by its Path ID as specified in <xref target="I-D.ietf-pce-multipath" section="4.2"/> in a PCUpd message as specified in <xref target="I-D.ietf-pce-multipath" section="5"/>. 
          </t>

          <t>
          For a PCE-initiated LSP, the same per-path association for Requested Bandwidth in BANDWIDTH object is used in the PCInitiate message as specified in <xref target="I-D.ietf-pce-multipath" section="5"/>.
          </t>
      </li>

    </ul>
    </section>

    <section anchor="multipath-auto-bandwidth-capability">
      <name>PCEP Extension for Multipath Auto-Bandwidth</name>

      <t><xref target="RFC8733" section="5.1.1"/> defines the AUTO-BANDWIDTH-CAPABILITY TLV as an optional TLV for use in the OPEN Object for auto-bandwidth adjustment. This document adds the following flag:</t>

      <ul spacing="normal">
        <li>
    <t>
        B (bit 30): Indicates that a PCEP speaker supports automatic bandwidth adjustment for multipath LSPs.
    </t>
        </li>
      </ul>


      <t>
      A PCEP speaker MUST NOT use the multipath auto-bandwidth procedure
      unless both peers advertise the AUTO-BANDWIDTH-CAPABILITY TLV defined in
      <xref target="RFC8733" section="5.1"/> with the B flag set, and
      successfully negotiate the MULTIPATH-CAP TLV as specified in
      <xref target="I-D.ietf-pce-multipath" section="4.1"/>. The MULTIPATH-CAP
      TLV MUST be present in the OPEN objects of both peers. Any per-LSP
      MULTIPATH-CAP TLV and its effective multipath limit are subject to the
      procedures in <xref target="I-D.ietf-pce-multipath" section="4.1"/>.
      </t>

    </section>

    </section>

    <section anchor="backward-compatibility">
      <name>Backward Compatibility</name>

      <t>To achieve the same objective, an implementation conforming to
      <xref target="RFC8733"/> could first send a PCEP message without the
      AUTO-BANDWIDTH-ATTRIBUTES TLV and then include the TLV with the updated
      sub-TLV. This is equivalent to turning the feature off and on again, but
      causes unnecessary path-computation churn compared with 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="implementation-status">
        <name>Implementation Status</name>

      <t>[Note to the RFC Editor: remove this section before publication and
      remove the reference to <xref target="RFC7942"/>.]</t>

      <t>This section records the status of known implementations of the protocol defined by this specification as of the posting of this Internet-Draft. It follows the proposal described in <xref target="RFC7942"/>. This information is intended to assist the IETF in deciding whether to progress drafts to RFCs; listing an implementation does not imply IETF endorsement. The information was supplied by IETF contributors and has not been independently verified. This section is not a catalog of available implementations or their features; 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="huawei-commercial-delivery">
        <name>Huawei's Commercial Delivery</name>
        <ul spacing="normal">
          <li><t>Organization: Huawei</t></li>
          <li><t>Implementation: Based on NE40E-M2 V800R024C00SPC500.</t></li>
          <li><t>Description: Enabling Automatic Bandwidth Adjustment for a PCC-Initiated SR-MPLS TE Policy</t></li>
          <li><t>Maturity Level: Product (shipping)</t></li>
          <li><t>Contact: tanren@huawei.com</t></li>
          <li><t>Reference: <eref target="https://support.huawei.com/enterprise/en/doc/EDOC1100419268/10a4db61/enabling-automatic-bandwidth-adjustment-for-a-pcc-initiated-sr-mpls-te-policy"/></t></li>
        </ul>
      </section>
    </section>

    <section anchor="operational-manageability-considerations">
      <name>Operational and 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. 
      </t>

      <t>
      The operational considerations in <xref target="I-D.ietf-pce-multipath"/> also apply to the multipath auto-bandwidth procedure defined in this document.
      </t>

      <t>
      The manageability considerations in <xref target="RFC8733" section="6"/> also apply to 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>
  Per-LSP controls at the PCC (LSP head-end) or PCE allow operators to enable or disable the auto-bandwidth feature. Configuration parameters include sampling and adjustment intervals, minimum and maximum bandwidths, and adjustment thresholds. Appropriate bandwidth limits help avoid adverse effects on the administrative domain, while consistent overflow and underflow thresholds support predictable bandwidth adjustments.
        </t>

      </section>

      <section anchor="information-and-data-models">
        <name>Information and Data Models</name>
    <t>
    Management data models can expose auto-bandwidth configuration and operational information, including the relevant parameters and counters for PCEP messages carrying auto-bandwidth TLVs.
    </t>
      </section>

      <section anchor="liveness-detection-and-monitoring">
        <name>Liveness Detection and Monitoring</name>
    <t>
    This document introduces no new liveness detection or monitoring requirements beyond those specified in <xref target="RFC5440"/>.
    </t>
      </section>

      <section anchor="verifying-correct-operation">
        <name>Verifying Correct Operation</name>
    <t>
This document introduces no new procedures for verifying correct operation beyond those specified in <xref target="RFC5440"/>. Logging an invalid sub-TLV value when it is ignored and the previous value is retained can aid troubleshooting.
    </t>
      </section>

      <section anchor="requirements-for-other-protocols">
        <name>Requirements for Other Protocols</name>
    <t>
    The mechanisms defined in this document impose no new requirements on other protocols.
    </t>
      </section>

      <section anchor="impact-on-network-operations">
        <name>Impact on Network Operations</name>
    <t>
auto-bandwidth processing increases the load on PCCs and PCEs and can increase PCEP message traffic and signaling churn. Per-LSP limits, message-rate controls, and notifications for overload or threshold crossings provide ways to manage this impact. Short sampling intervals leave less time for transport protocols to react to frequent bandwidth changes.
    </t>
     </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"/>, and <xref target="RFC9256"/> apply to this specification. 
     </t>

     <t>The security considerations in <xref target="I-D.ietf-pce-multipath"/> apply to the multipath auto-bandwidth procedure defined in this document.
     </t>

     <t>
The security considerations described in <xref target="RFC8733"/> also apply to this specification.
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 Flag Field 
        registry within the "Path Computation Element
        Protocol (PCEP) Numbers" registry group. IANA is requested to allocate
        the bits 30 and 31 in that registry. Bit numbers are counted from bit 0 as
        the most significant bit.</t>
        <table>
          <name>AUTO-BANDWIDTH-CAPABILITY TLV Flag Field</name>
          <thead>
            <tr>
              <th align="left">Bit</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">31</td>
              <td align="left">Z flag (special value of all zeros)</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">30</td>
              <td align="left">B flag (multipath auto-bandwidth support)</td>
              <td align="left">This document</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>
        &RFC2119;
        &RFC3031;
        &RFC4655;
        &RFC5440;
        &RFC8174;
        &RFC8231;
        &RFC8281;
        &RFC8733;
        &RFC9256;
        &RFC9862;
        &I-D.ietf-pce-multipath;
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        &RFC8664;
        &RFC7942;
        &RFC9603;
      </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>
