<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-pce-circuit-style-pcep-extensions-16" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="PCEP extensions for CS Policies">
    Path Computation Element Communication Protocol (PCEP) extensions for Circuit Style Policies
    </title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-pce-circuit-style-pcep-extensions-16"/>
    <author fullname="Samuel Sidor" initials="S." surname="Sidor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>Eurovea Central 3.</street>
          <city>Bratislava</city>
          <code>811 09</code>
          <country>Slovakia</country>
        </postal>
        <email>ssidor@cisco.com</email>
      </address>
    </author>
    <author fullname="Praveen Maheshwari" initials="P." surname="Maheshwari">
      <organization>Airtel India</organization>
      <address>
        <email>Praveen.Maheshwari@airtel.com</email>
      </address>
    </author>
    <author fullname="Andrew Stone" initials="A." surname="Stone">
      <organization>Nokia</organization>
      <address>
        <email>andrew.stone@nokia.com</email>
      </address>
    </author>
    <author fullname="Luay Jalil" initials="L." surname="Jalil">
      <organization>Verizon</organization>
      <address>
        <email>luay.jalil@verizon.com</email>
      </address>
    </author>
    <author fullname="Shuping Peng" initials="S." surname="Peng">
      <organization>Huawei Technologies</organization>
      <address>
        <email>pengshuping@huawei.com</email>
      </address>
    </author>
    
    <date/>
    
    <workgroup>PCE Working Group</workgroup>

    <abstract>
      <t>Segment Routing (SR) enables a node to steer packet flows along
      a specified path without the need for intermediate per-path states,
      due to the utilization of source routing. An SR Policy can consist of
      one or a set of candidate paths, where each candidate path is represented
      by a segment list or a set of segment lists, which are essentially
      instructions that define a source-routed path.</t>

      <t>This document specifies a set of extensions to the Path Computation Element
      Communication Protocol (PCEP) for Segment Routing Policies that are designed
      to satisfy requirements for connection-oriented transport services (Circuit-Style
      SR policies). They include the ability to control path modification and the option
      to request a strict hop-by-hop path, being also applicable for generic SR policy use
      cases where controlling path modification or deterministic and persistent path
      requirements are applicable.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="Introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>Segment Routing (SR) <xref target="RFC8402" format="default"/> leverages source routing, where the sender of
      a packet defines the path that the packet takes through the network. This
      is achieved by encoding the path information as a sequence of segments within the
      packet header. A segment is an instruction defined in <xref target="RFC8402" sectionFormat="of" section="1"/>.
      SR can be applied to both MPLS and IPv6 data planes, providing a
      flexible and scalable method for traffic engineering.</t>

      <t>The Path Computation Element (PCE) is a network component, application, or node
      that is capable of computing a network path or route based on a network graph and
      applying computational constraints. The PCE Communication Protocol (PCEP) <xref target="RFC5440"/> enables
      communication between a PCE and Path Computation Clients (PCCs), facilitating the
      computation of optimal paths for traffic flows.</t>

      <t><xref target="RFC9256" format="default"/> introduces the concept of Segment Routing
      Policy (SR Policy), which is one or a set of candidate paths that can be used to
      steer traffic through a network. Each candidate path is represented by a segment 
      list or a set of segment lists, and the path can be dynamically adjusted based on
      network conditions and requirements.</t>

      <t>In connection-oriented transport services, such as those described in
      <xref target="I-D.ietf-spring-cs-sr-policy" format="default"/>, there is a need for
      path persistency and per-hop behavior for PCE-computed paths. This ensures that
      the paths remain stable and predictable, which is crucial for services that require
      high reliability and performance guarantees.</t>

      <t>To support the requirements of connection-oriented transport services, this
      document specifies extensions to PCEP to enable the use of Circuit Style Policies <xref target="I-D.ietf-spring-cs-sr-policy" format="default"/>.
      These extensions allow for the request of strict hop-by-hop paths from the PCE, the encoding of
      information to disable path modification for specific paths, and the clarification
      of the usage of existing flags within PCEP messages.</t>

      <t>The PCEP extensions described in this document are designed to be compatible with
      any Path Setup Type and are not limited to Circuit Style SR policies, ensuring broad
      applicability across different network environments and use cases.</t>
  
      <section anchor="Requirements" numbered="true" toc="default">
        <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 format="default" target="RFC2119"/> <xref format="default"
        target="RFC8174"/> when, and only when, they appear in all capitals,
        as shown here.</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Terminology</name>
      <t>This document uses the following term defined in <xref target="RFC3031" format="default"/>:</t>
      <ul>
       <li>Label Switched Path (LSP)</li>
      </ul>
      <t>Note: The base PCEP specification <xref target="RFC4655"/> originally defined the use of the
      PCE architecture for MPLS and GMPLS networks with LSPs instantiated using the
      RSVP-TE signaling protocol. Over time, support for additional path setup types
      such as SRv6 has been introduced <xref target="RFC9603"/>. The term "LSP" is used extensively
      in PCEP specifications, and in the context of this document, refers to a
      Candidate Path within an SR Policy, which may be an SRv6 path (still represented
      using the LSP object as specified in <xref target="RFC8231"/>).</t>
      <t>This document uses the following terms defined in <xref target="RFC8231"/>:</t>
      <ul>
        <li>Path Computation State Report (PCRpt)</li>
        <li>Path Computation Update (PCUpd)</li>
        <li>Path Computation Initiate (PCInitiate)</li>
      </ul>
      <t>This document uses the following terms defined in <xref target="RFC5440"/>:</t>
      <ul>
        <li>Explicit Route Object (ERO)</li>
        <li>LSP Attributes (LSPA)</li>
        <li>Path Computation Client (PCC)</li>
        <li>Path Computation Element (PCE)</li>
        <li>Path Computation Element Protocol (PCEP)</li>
        <li>PCEP Peer</li>
        <li>PCEP speaker</li>
      </ul>
      <t>This document uses the following terms defined in <xref target="RFC8402" format="default"/>:</t>
      <ul>
        <li>Segment Routing (SR)</li>
        <li>Segment Identifier (SID)</li>
      </ul>
      <t>This document uses the following term defined in <xref target="RFC9256" format="default"/>:</t>
      <ul>
       <li>SR Policy</li>
      </ul>
      <t>This document defines the following terms:</t>
      <ul>
       <li>Circuit Style (CS) SR Policy: An SR Policy designed to satisfy requirements for connection-oriented transport services. CS SR Policies are characterized by path persistency (where the path should remain stable unless explicitly changed or becomes invalid) and may require strict hop-by-hop path construction. Further details on CS SR Policies are described in <xref target="I-D.ietf-spring-cs-sr-policy"/>.</li>
       <li>Path Modification: Refers to the PCE instructing the PCC, via a PCUpd message, to use a path whose set of traversed network hops differs from the current path. A PCUpd message that changes only the attributes or re-encodes the same hop sequence (e.g., alternative SID representation) is not considered a path modification.</li>
      </ul>
    </section>
    <section anchor="PCEP_EXTENSIONS" numbered="true" toc="default">
      <name>PCEP Extensions</name>

      <t>
        This section specifies the PCEP extensions that enable a PCC and PCE to
        support CS SR policies. These extensions build on the
        base PCEP <xref target="RFC5440" format="default"/> and the Stateful PCE extensions <xref target="RFC8231" format="default"/>. The mechanisms defined
        here allow a PCC or PCE to:
      </t>
      <ul>
        <li>Indicate the requirement for strict hop-by-hop paths,</li>
        <li>Signal path persistency by disabling path modification for specific paths, and</li>
        <li>Identify and control behavior specific to CS SR policies.</li>
      </ul>
      <t>
        Unless explicitly stated, the procedures of existing PCEP messages and
        objects remain unchanged. The following subsections describe the specific
        object formats, TLVs, and flag definitions introduced to realize this
        functionality.
      </t>
      <section anchor="STATEFUL_PCE_CAPABILITY_TLV" numbered="true" toc="default">
        <name>New Flags in STATEFUL-PCE-CAPABILITY TLV</name>
        <t>The STATEFUL-PCE-CAPABILITY TLV is an optional TLV introduced in <xref target="RFC8231" format="default"/> in the OPEN object for stateful PCEP peer capability advertisement. Details on the IANA registry are listed in <xref target="IANA_CAPABILITY" format="default"/>. This document defines the following new flags in that TLV:</t>
          <ul spacing="normal">
            <li>STRICT-PATH-CAPABILITY - 1 bit (Bit Position 18) - If set to 1, it indicates support for the O-bit (Strict-Path) in LSP-EXTENDED-FLAG TLV. See <xref target="STRICT_PATH"/> for details.</li>
            <li>PATH-MODIFICATION-CAPABILITY - 1 bit (Bit Position 19) - If set to 1, it indicates support for PATH-MODIFICATION TLV. See <xref target="PATH_RECOMP"/> for details.</li>
          </ul>
      </section>
      <section anchor="LSP_EXTENDED_FLAG_TLV" numbered="true" toc="default">
        <name>New Flag in the LSP-EXTENDED-FLAG TLV</name>
        <t>The LSP-EXTENDED-FLAG TLV was introduced in <xref target="RFC9357" sectionFormat="of" section="3.1"/>. Details on the IANA registry are listed in <xref target="IANA_O_FLAG" format="default"/>. This document defines the following new flag bit in the LSP-EXTENDED-FLAG TLV:</t>
        <ul spacing="normal">
          <li>O-bit (Strict-Path) - 1 bit (Bit Position 4): If set to 1, this indicates to the PCE that a path exclusively made of strict hops is required. The strict hop definition is described in <xref target="STRICT_PATH"/>.</li>
        </ul>
      </section>
      <section anchor="PATH_RECOMPUTATION_TLV" numbered="true" toc="default">
        <name>PATH-MODIFICATION TLV</name>
        <t>This document defines a new TLV for the LSPA Object for encoding information whether path modification is allowed for a delegated LSP. The PATH-MODIFICATION TLV is optional. If the TLV is included in the LSPA object, the PCE MUST NOT modify the path in the cases specified by flags in the TLV. Only the first instance of this TLV MUST be processed; subsequent instances MUST be ignored.</t>
        <figure anchor="PATH-MODIFICATION-TLV-format" title="PATH-MODIFICATION TLV Format"><artwork align="center"><![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 = 72           |             Length = 4        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Reserved          |      Flags                |P|F|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork></figure>
        <t>Type (16 bits): 72.</t>
        <t>Length (16 bits): 4.</t>
        <dl newline="false" spacing="normal">
          <dt>Reserved (16 bits):</dt>
          <dd> This field MUST be set to zero on transmission and MUST be ignored on receipt.</dd>
          <dt>Flags (16 bits):</dt>
          <dd>
            <t> This document defines the following flag bits. The other bits
              MUST be set to zero by the sender and MUST be ignored by the receiver.
            </t>
            <ul spacing="normal">
              <li>P-bit (Permanent): If set to 1, the PCE MUST NOT modify the path even if the current path does not satisfy path computation constraints. If this flag is cleared, then the PCE MAY modify the path according to local policy if the original path is invalidated. When the F-bit is set to 1, the P-bit value MUST be ignored.</li>
              <li>F-bit (Force): If set to 1, the PCE MUST NOT modify the path (exceptions description in <xref target="PATH_RECOMP"/>). If the F-bit is cleared, the PCE MAY update the path based on an explicit request from the operator.</li>
            </ul>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="Operation" numbered="true" toc="default">
      <name>Operation</name>
      <section anchor="STRICT_PATH" numbered="true" toc="default">
        <name>Strict Path Enforcement</name>
        <t>The STRICT-PATH-CAPABILITY flag in the STATEFUL-PCE-CAPABILITY TLV MUST be set to 1 by both PCEP speakers during the PCEP session establishment to support strict hop-by-hop path enforcement. The O-bit (defined in <xref target="LSP_EXTENDED_FLAG_TLV"/>) MUST NOT be set to 1 if the STRICT-PATH-CAPABILITY flag was not set to 1 by both PCEP speakers. If the PCEP peer received LSP-EXTENDED-FLAG TLV with the O-bit set to 1, but it does not support that capability, it MUST send PCErr with Error-Type = 2 (Capability not supported). To indicate that a path exclusively made of strict hops is required, the PCC sets the O-bit to 1 in the LSP-EXTENDED-FLAG TLV in a PCRpt message sent to the PCE.</t>
        <t>The O-bit set to 0 or LSP-EXTENDED-FLAG TLV not included indicates that a non-strictly hop-by-hop path is acceptable.</t>
        <t>For PCE-initiated LSPs, the PCE MAY set the O-bit to 1 in PCInitiate or PCUpd messages. If the PCE sets the O-bit to 1, the PCC MUST also set the O-bit to 1 in the LSP-EXTENDED-FLAG TLV in the corresponding PCRpt messages. For PCC-initiated LSPs, if the PCC requested a strict path (by setting the O-bit to 1 in the PCRpt message), the PCE MUST set the O-bit to 1 in the corresponding PCUpd message. Even if the PCC did not request a strict path, the PCE MAY set the O-bit to 1 in the PCUpd message if the computed path is a strict hop-by-hop path.</t>
        <t>The flag is applicable only for stateful messages. The existing O-bit in Request Parameters (RP) object can be used to indicate similar behavior in PCReq and PCRep messages as described in <xref target="RFC5440" sectionFormat="of" section="7.4.1"/>. For RSVP-TE, <xref target="RFC5440"/> already defines the strict/loose indication for stateless PCEP; this document extends a corresponding indication to stateful messages via the LSP-EXTENDED-FLAG TLV.</t>
        <t>If the O-bit is set to 1 (either in the LSP-EXTENDED-FLAG TLV for stateful messages or in the RP object for stateless messages) for SR paths introduced in <xref target="RFC8664" format="default"/>, the PCE MUST use only Segment Identifiers (SIDs) that explicitly specify adjacencies for packet forwarding. Adjacency SIDs SHOULD be used, but Prefix SIDs MUST NOT be used (even if there is only one adjacency).</t>
      </section>
      <section anchor="PATH_RECOMP" numbered="true" toc="default">
        <name>Path Modification Control</name>
        <t>A PCC MAY set flags in PATH-MODIFICATION TLV to control path modification behavior on the PCE side. If the PATH-MODIFICATION TLV is not included, then the PCE MAY use local policy to trigger path computation or LSP path update.</t>
        <t>If a PCEP speaker does not recognize the PATH-MODIFICATION TLV, it MUST ignore the TLV based on <xref target="RFC5440" sectionFormat="of" section="7.1" />. If a PCEP speaker recognizes the TLV but does not support the TLV, it MUST send PCErr with Error-Type = 2 (Capability not supported). The LSP path MAY be modified, if the change results in a semantically equivalent path representation (e.g., a different SID list) that preserves the exact sequence of traversed network links. If the same path can be encoded using Adjacency, Binding, Prefix, or other SIDs, then PCE MAY switch between various representations of the same path.</t>
        <t>The PATH-MODIFICATION TLV defines the path modification behavior for an LSP. It is important to note that regardless of the flag settings described below, a PCE can always initiate an update to tear down the LSP (e.g., by sending a PCUpd message with an empty ERO) or to bring it up again with the same path it had before being torn down. The P-bit and F-bit specifically restrict the PCE's ability to initiate a path modification:</t>
        <dl newline="true" spacing="normal">
          <dt>TLV present, P=0, F=0:</dt>
          <dd>
            <t>The PCE MUST NOT modify the path in response to various triggers (E.g. topology updates, periodic reoptimization timers, or changes in the state of other LSPs) if the current path remains valid and meets all constraints (e.g. it is not the most optimal path, but it is still valid and satisfies all constraints including bounds). However, the PCE MAY modify the path if:</t>
            <ul spacing="normal" bare="false" empty="false">
              <li>The current path is invalidated (e.g., due to a topology change that makes it non-compliant with LSP constraints).</li>
              <li>An operator explicitly triggers a path modification via an implementation-specific mechanism (e.g., a Command Line Interface (CLI) or a dedicated Application Programming Interface (API) on the PCE).</li>
            </ul>
          </dd>
          <dt>P-bit set (P=1) and F-bit cleared (F=0):</dt>
          <dd>
            The PCE MUST NOT modify the path due to network or optimization triggers, even if the path becomes invalidated or no longer satisfies its constraints. A path modification MAY be initiated if explicitly triggered by an operator.
          </dd>
          <dt>F-bit set (F=1):</dt>
          <dd>
            The PCE MUST NOT modify the path for any reason, including in response to an explicit operator trigger.
          </dd>
        </dl>
        <t>A PCE includes the PATH-MODIFICATION TLV in PCInitiate and PCUpd messages to define which triggers will be disabled for an LSP. When a PCC receives and applies behavior specified by flags in the TLV, it MUST reflect the active flag values in the PATH-MODIFICATION TLV of its PCRpt messages for that LSP. By including this TLV, the PCC ensures that the LSP's path modification policy is consistently communicated to all connected PCEs.</t>
        <t>When a PCC receives a PCUpd message with a path modification for an LSP, where such a modification is blocked by flags in the PATH-MODIFICATION TLV (e.g., the F-bit is set to 1), it MUST reject the update and maintain the existing path for the LSP.The PCC MUST also send a PCErr message to the PCE with Error-Type=19 ("Invalid Operation") and Error-Value=TBD1 ("Path modification is blocked by constraint").</t>
      </section>
    </section>
    <section title="Operational Considerations" numbered="true" toc="default">
      <t>All manageability requirements and considerations listed in <xref target="RFC5440"/>, <xref target="RFC8231"/> and <xref target="RFC8281"/> apply to PCEP protocol extensions defined in this document. In addition, the requirements and considerations listed in this section apply.</t>
      <section title="Control of Function and Policy" numbered="true" toc="default">
        <t>A PCE or PCC implementation SHOULD allow the capability of supporting PCEP extensions introduced in this document to be enabled/disabled as part of the global configuration.</t>
        <t>When path modification is restricted (e.g., when the P-bit is set to 1 and F-bit is set to 0), the PCE relies on an explicit operator trigger to modify the path if it becomes invalid. Therefore, a PCE implementation SHOULD provide a mechanism to allow an operator to explicitly trigger path modification for a specific LSP.</t>
      </section>
      <section anchor="info-and-data-models" title="Information and Data Models" numbered="true" toc="default">
        <t>An implementation SHOULD allow an operator to view the PCEP peer capability defined in this document. A YANG data model specification augmenting the model defined in Sections 4.1 and 4.1.1 of <xref target="RFC9826"/> SHOULD include that capability for the PCEP peer.</t>
        <t>A YANG data model specification augmenting the module defined in <xref target="RFC9826" sectionFormat="of" section="4.2"/> SHOULD add a notification for blocked path modification that satisfies specified constraints if path modification is blocked using the PATH-MODIFICATION TLV.</t>
      </section>
      <section title="Liveness Detection and Monitoring" numbered="true" toc="default">
        <t>Circuit-Style Policy <xref target="I-D.ietf-spring-cs-sr-policy"/> describes connectivity verification and path validity considerations for Circuit Style Policies.</t>
      </section>
      <section title="Verify Correct Operations" numbered="true" toc="default">
        <t>A PCE implementation SHOULD allow the operator to monitor LSPs for which the PCE has determined that the current path no longer satisfies the specified constraints but path modification is blocked by the PATH-MODIFICATION TLV, for example via YANG notifications or the YANG data model described in <xref target="info-and-data-models"/>.</t>
      </section>
      <section title="Requirements On Other Protocols" numbered="true" toc="default">
        <t>The PCEP extensions defined in this document do not imply any new requirements on other protocols. The overall concept of Circuit Style policies requires interaction with other protocols, but those requirements are described in <xref target="I-D.ietf-spring-cs-sr-policy"/>.</t>
      </section>
      <section title="Impact On Network Operations" numbered="true" toc="default">
        <t>The mechanisms defined in <xref target="RFC5440"/>, <xref target="RFC8231"/>, and <xref target="RFC8281"/> also apply to the PCEP extensions defined in this document.</t>
      </section>
    </section>
    <section  title="Implementation Status" numbered="true" toc="default">
      <t>[Note to the RFC Editor - remove this section before publication, as
      well as remove the reference to RFC 7942.]</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" title="Cisco" numbered="true" toc="default">
        <ul>
            <li>Organization: Cisco Systems</li>

            <li>Implementation: IOS-XR PCC and PCE.</li>

            <li>Description: PCEP extensions supported using VENDOR-INFORMATION Object.</li>

            <li>Maturity Level: Production.</li>

            <li>Coverage: Partial.</li>

            <li>Contact: ssidor@cisco.com</li>
        </ul>
      </section>
    </section> 
    <section  title="Security Considerations" numbered="true" toc="default">
            <t>The security considerations described in <xref target="RFC5440"/>,
      <xref target='RFC8231'/>, <xref target='RFC8253'/>,<xref target='RFC8281'/> and <xref target="RFC8664"/> are applicable to this document.</t>
            <t>Note that this specification introduces the possibility to block path modification after various topology events. This creates an additional vulnerability if the security mechanisms of <xref target='RFC5440'/>, <xref target='RFC8231'/>, and <xref target='RFC8281'/> are not used. If there is no integrity protection on the session, then an attacker could block path updates from PCE potentially resulting in a traffic drop.</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"/>. In particular, the integrity protection provided by TLS
            mitigates the attack described above where an attacker could manipulate path modification
            constraints to cause a traffic disruption.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA maintains the "Path Computation Element Protocol (PCEP) Numbers" registry at <eref brackets="angle" target="https://www.iana.org/assignments/pcep"/>.</t>
      <section anchor="IANA_CAPABILITY" numbered="true" toc="default">
        <name>STATEFUL-PCE-CAPABILITY</name>
        <t><xref target="RFC8231" format="default"/> defines the STATEFUL-PCE-CAPABILITY.
        IANA is requested to confirm the following allocations within the "STATEFUL-PCE-CAPABILITY TLV Flag Field" registry (<eref brackets="angle" target="https://www.iana.org/assignments/pcep/pcep.xhtml#stateful-pce-capability-tlv-flag-field"/>) of the "Path Computation Element Protocol (PCEP) Numbers" registry group:</t>
        <table anchor="STATEFUL_PCE_CAPABILITY_FLAGS" align="center">
          <thead>
            <tr>
              <th align="center">Bit</th>
              <th align="left">Description </th>
              <th align="left">Reference </th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">18</td>
              <td align="left">STRICT-PATH-CAPABILITY</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
          <tbody>
            <tr>
              <td align="center">19</td>
              <td align="left">PATH-MODIFICATION-CAPABILITY</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="IANA_O_FLAG" numbered="true" toc="default">
        <name>LSP-EXTENDED-FLAG TLV</name>
        <t><xref target="RFC9357" format="default"/> defines the LSP-EXTENDED-FLAG TLV.
        IANA is requested to confirm the following allocation within the "LSP-EXTENDED-FLAG TLV Flag Field" registry (<eref brackets="angle" target="https://www.iana.org/assignments/pcep/pcep.xhtml#lsp-extended-flag-tlv-flags"/>) of the "Path Computation Element Protocol (PCEP) Numbers" registry group:</t>
        <table anchor="EXTENDED_TLV_O_FLAG-VALUE" align="center">
          <thead>
            <tr>
              <th align="center">Bit</th>
              <th align="left">Description </th>
              <th align="left">Reference </th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">4</td>
              <td align="left">Strict-Path Flag (O)</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="IANA_RECOMP_TLV" numbered="true" toc="default">
        <name>PATH-MODIFICATION TLV</name>
        <t>IANA is requested to confirm the following allocation within the "PCEP TLV Type Indicators" registry (<eref brackets="angle" target="https://www.iana.org/assignments/pcep/pcep.xhtml#pcep-tlv-type-indicators"/>) of the "Path Computation Element Protocol (PCEP) Numbers" registry group:</t>
        <table anchor="RECOMP_TLV_TYPE" align="center">
          <thead>
            <tr>
              <th align="center">TLV Type</th>
              <th align="left">TLV Name</th>
              <th align="left">Reference </th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">72</td>
              <td align="left">PATH-MODIFICATION TLV</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="IANA_RECOMP_TLV_FLAGS" numbered="true" toc="default">
        <name>PATH-MODIFICATION TLV Flag Field</name>
        <t>IANA is requested to create a new registry named "PATH-MODIFICATION TLV Flag Field" within the "Path Computation Element Protocol (PCEP) Numbers" registry group. Values are to be assigned by "IETF Review" <xref target="RFC8126"/>. Each bit should be tracked with the following qualities:</t>
            <ul spacing="normal">
              <li>Bit number (count from 0 as the most significant bit)</li>
              <li>Description</li>
              <li>Reference</li>
            </ul>
        <t>The registry contains the following codepoints, with initial values, to be assigned by IANA with the reference set to this document:</t>
        <table anchor="RECOMP_TLV_TYPE_FLAGS" align="center">
          <thead>
            <tr>
              <th align="center">Bit</th>
              <th align="left">Description</th>
              <th align="left">Reference </th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0-13</td>
              <td align="left">Unassigned</td>
              <td align="left"></td>
            </tr>
          </tbody>
          <tbody>
            <tr>
              <td align="center">14</td>
              <td align="left">Permanent (P)</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
          <tbody>
            <tr>
              <td align="center">15</td>
              <td align="left">Force (F)</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="PCEP-Error-Object" title="PCEP-Error Object">
        <t>IANA is requested to allocate new error types and error values within the "PCEP-ERROR Object Error Types and Values" sub-registry (<eref brackets="angle" target="https://www.iana.org/assignments/pcep/pcep.xhtml#pcep-error-object"/>) of the PCEP Numbers registry for the following errors.</t>

        <table anchor="PCEP-Error-type">
          <thead>
            <tr>
              <th align="center">Error-Type</th>
              <th align="left">Meaning</th>
              <th align="left">Error-Value</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">19</td>
              <td align="left">Invalid Operation</td>
              <td align="left">TBD1:Path modification is blocked by constraint</td>
              <td align="left">This Document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
          <reference anchor="RFC9325" target="https://www.rfc-editor.org/info/rfc9325" quoteTitle="true">
            <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 indent="0">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 indent="0">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>
          <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>
        <?rfc include="reference.RFC.2119"?>
        <?rfc include="reference.RFC.5440"?>
        <?rfc include="reference.RFC.8126"?>
        <?rfc include="reference.RFC.8174"?>
        <?rfc include="reference.RFC.8231"?>
        <?rfc include="reference.RFC.8253"?>
        <?rfc include="reference.RFC.8281"?>
        <?rfc include="reference.RFC.8402"?>
        <?rfc include="reference.RFC.8664"?>
        <?rfc include="reference.RFC.9256"?>
        <?rfc include="reference.RFC.9357"?>
        
      </references>
      <references>
        <name>Informative References</name>
        <?rfc include="reference.RFC.3031"?>
        <?rfc include="reference.RFC.4655"?>
        <?rfc include="reference.RFC.9603"?>
        <?rfc include="reference.RFC.7942"?>
        <?rfc include="reference.RFC.9826"?>
        <?rfc include="reference.I-D.ietf-spring-cs-sr-policy"?>
      </references>
    </references>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="D." surname="Voyer" fullname="Daniel Voyer">
        <organization>Bell Canada</organization>
        <address>
          <email>daniel.voyer@bell.ca</email>
        </address>
      </contact>
      <contact initials="R." surname="Rokui" fullname="Reza Rokui">
        <organization>Ciena</organization>
        <address>
          <email>rrokui@ciena.com</email>
        </address>
      </contact>
      <contact initials="T." surname="Saad" fullname="Tarek Saad">
        <organization>Cisco Systems, Inc.</organization>
        <address>
          <email>tsaad.net@gmail.com</email>
        </address>
      </contact>
      <author initials="Z." surname="Ali" fullname="Zafar Ali">
        <organization>Cisco Systems, Inc.</organization>
        <address>
          <email>zali@cisco.com</email>
        </address>
    </author>
    <author initials="R." surname="Chen" fullname="Ran Chen">
        <organization>ZTE Corporation</organization>
        <address>
          <email>chen.ran@zte.com.cn</email>
        </address>
    </author>
    <author initials="Q." surname="Xiong" fullname="Quan Xiong">
        <organization>ZTE Corporation</organization>
        <address>
          <email>xiong.quan@zte.com.cn</email>
        </address>
    </author>
    <author initials="D." surname="Dhody" fullname="Dhruv Dhody">
      <organization>Huawei</organization>
      <address>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="C." surname="Schmutzer" fullname="Christian Schmutzer">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>cschmutz@cisco.com</email>
      </address>
    </author>
    </section>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false">
      <name>Acknowledgements</name>
      <t>The authors would like to thank Dhruv Dhody for shepherding this document, Ketan Talaulikar for the AD review, and Cheng Li, Luis Contreras, Mach Chen, and Mohamed Boucadair for their review comments.</t>
    </section>
  </back>
</rfc>