<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" docName="draft-fizgeer-pce-lsp-validation-extensions-00" category="std" ipr="trust200902" obsoletes="" updates="" xml:lang="en" symRefs="true" sortRefs="false" tocInclude="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <!-- Generated by id2xml 1.5.2 on 2025-10-15T13:41:05Z -->
	<front>
    <title abbrev="PCE LSP validation Extensions in Path Co">PCE LSP validation Extensions in Path Computation Element Communication Protocol (PCEP)</title>
    <seriesInfo name="Internet-Draft" value="draft-fizgeer-pce-lsp-validation-extensions-00"/>
    <author initials="M." surname="Fizgeer" fullname="Marina Fizgeer">
      <organization abbrev="Ribbon Communications">Ribbon Communication</organization>
      <address>
        <postal>
          <street>Yagia Kapaim 24</street>
          <street>Petah Tikva</street>
          <street>Israel</street>
        </postal>
		<email>marina.fizgeer@rbbn.com</email>
      </address>
    </author>
    <date year="2025" month="October"/>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
      <t>
   The Path Computation Element Communication Protocol (PCEP) provides
   mechanisms for Path Computation Elements (PCEs) to instantiate and
   manage Label Switched Paths (LSPs) on a Path Computation Client
   (PCC).  A Stateful PCE RFC8231 can instantiate LSPs on a PCC.  In
   some cases, the PCC shall perform additional validations and/or
   actions.  If some validations or actions fail, the LSP will not be
   created and established or updated.  This document specifies PCEP
   extensions to handle this situation gracefully in case the problem
   can be resolved by some network changes (freeing up resources,
   restoring or changing the network, and so on).  This draft defines
   common usage of the new flag and known use cases for using this flag.
   Each draft relevant to LSP creation can add a corresponding bit to
   the use case list.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="sect-1" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
   This document specifies PCEP extensions to handle the situation when
   LSP validation is failed.  The goal is to handle it gracefully in
   case the problem can be resolved by some network changes (freeing up
   resources, restoring or changing the network, and so on).</t>
      <section anchor="sect-1.1" 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 target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they appear in all
   capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="sect-2" numbered="true" toc="default">
      <name>Terminology</name>
      <t>
   This document uses the following terms defined in <xref target="RFC5440" format="default"/>: PCC,
   PCE, PCEP Peer, and PCEP speaker.  The base PCEP specification
   <xref target="RFC4655" format="default"/> 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" format="default"/>.  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" format="default"/>).</t>
    </section>
    <section anchor="sect-3" numbered="true" toc="default">
      <name>Known use cases</name>
      <section anchor="sect-3.1" numbered="true" toc="default">
        <name>Binding value is unavailable</name>
        <t>
   Initially defined in (draft-sidor-pce-binding-label-sid-extensions).</t>
        <t>
   Indicates that the PCEP peer supports LSP creation and fall back to
   dynamic binding value allocation if the specific binding value is
   unavailable.</t>
      </section>
      <section anchor="sect-3.2" numbered="true" toc="default">
        <name>Path (ERO list) is not passed resolution</name>
        <t>
   Indicates that the PCEP peer supports LSP creation if some ERO in the
   ERO list is unreachable, unknown.</t>
      </section>
      <section anchor="sect-3.3" numbered="true" toc="default">
        <name>S-BFD - Out Of Resources</name>
        <t>
   The PCEP peer supports LSP creation when the LSP is initiated with
   S-BFD enabled.  However, if S-BFD resources are currently exhausted
   or have reached their maximum allocation, the LSP can still be
   created but may remain in a down state until resources become
   available.</t>
      </section>
    </section>
    <section anchor="sect-4" numbered="true" toc="default">
      <name>PCEP Extensions</name>
      <section anchor="sect-4.1" numbered="true" toc="default">
        <name>STATEFUL-PCE-CAPABILITY</name>
        <t>
   A new flag is proposed for the STATEFUL-PCE-CAPABILITY TLV,
   originally defined in Section 5.4 of <xref target="RFC8231" format="default"/>.  
   Also referenced in the "PCEP Binding SID Extensions".</t>
        <t>
   D (DOWN-CAPABILITY): If set, this flag indicates that the PCEP peer
   supports LSP creation even when certain validations or actions fail.
   In such cases, the LSP is instantiated but remains in a down state,
   allowing for potential recovery through network changes or further
   actions.</t>
      </section>
      <section anchor="sect-4.2" numbered="true" toc="default">
        <name>SRP Object:</name>
        <t>
   New optional TLV can be added to the SRP object, initially defined in
   <xref target="RFC8231" format="default"/>.</t>
        <figure anchor="ure-srp-object-new-tlv">
          <name>SRP object new TLV</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   | Type                          | Length                      |
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   | Bit String                    |D|                           |
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
]]></artwork>
        </figure>
        <ul spacing="normal">
          <li>
            <t>D flag: If set, indicates that LSP can be created even if
      specified validation or action cannot be passed, but LSP will be
      in down state.</t>
          </li>
          <li>
            <t>Bit String (If flag D is 1):</t>
            <t> bit 0 - if specified binding value is
      unavailable (draft-sidor-pce-binding-label-sid-extensions)</t>
            <t> bit 1 - if specified path in ERO list is not passed resolution</t>
            <t> bit 2 - S-BFD leak of resources.
            </t>
          </li>
        </ul>
      </section>
      <section anchor="sect-4.3" numbered="true" toc="default">
        <name>Processing</name>
        <t>
   The PCEP protocol extensions defined in this document MUST NOT be
   used if one or both PCEP speakers have not indicated support for the
   extensions by setting the D flag in the STATEFUL-PCE-CAPABILITY TLV
   in their respective OPEN messages.</t>
        <t>
   When a PCE wants to instantiate or update an LSP, in the PCInitiate
   or PCUpd message, the PCE can set the D flag in this TLV to control
   the PCC's behavior in case the requested LSP has some problem.</t>
        <t>
   If the PCC receives this new TLV with the D flag set and the bit is
   set in the string with relevant use case, the PCC MUST instantiate
   the LSP but keep it in a down state in case of relevant failure.</t>
        <section anchor="sect-4.3.1" numbered="true" toc="default">
          <name>Handling of possible failures:</name>
          <t>
   Some failures can be resolved by the PCC.  For example, ERO
   resolution may succeed after certain network changes (e.g., freeing
   up resources or restoring connectivity).  In such cases, the PCC MUST
   update the state of the LSP and send a PCRpt message to the PCE.</t>
          <t>
   Other failures, such as S-BFD resource exhaustion, may require
   rechecking initiated by the PCE.  Each use case and its corresponding
   behavior shall be defined in the relevant draft that utilizes the new
   D flag.</t>
        </section>
      </section>
    </section>
    <section anchor="sect-5" numbered="true" toc="default">
      <name>Manageability Considerations</name>
      <t>
   All manageability requirements and considerations listed in
   <xref target="RFC5440" format="default"/>, <xref target="RFC8231" format="default"/>, and <xref target="RFC9604" format="default"/> apply to the PCEP extensions
   defined in this document.</t>
      <t>
   A PCE or PCC implementation MAY allow the capability of supporting
   PCEP extensions introduced in this document to be enabled/disabled as
   part of the global configuration.  An implementation SHOULD allow the
   operator to view the advertised and received capabilities.</t>
    </section>
    <section anchor="sect-6" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
   The security considerations described in <xref target="RFC5440" format="default"/>, <xref target="RFC8231" format="default"/>, and
   <xref target="RFC9604" format="default"/> are applicable to this document.  No additional security
   measures are required.</t>
    </section>
    <section anchor="sect-7" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section anchor="sect-7.1" numbered="true" toc="default">
        <name>STATEFUL-PCE-CAPABILITY TLV Flag</name>
        <t>
   IANA maintains a registry, named "STATEFUL-PCE-CAPABILITY TLV Flag Field", within the "Path Computation Element Protocol (PCEP) Numbers"
   registry group.  IANA is requested to make the following assignment:</t>
        <figure anchor="ure-new-iana-request">
          <name>New IANA request</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
   +======+================================+===============+
   | Bit  | Description                    | Reference     |
   +======+================================+===============+
   | TBD1 | D (DOWN-CAPABILITY)            | This document |
   +------+--------------------------------+---------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="sect-7.2" numbered="true" toc="default">
        <name>SRP object</name>
        <t>
   IANA maintains a registry named "STATEFUL-PCE-CAPABILITY TLV Flag Field", within the "Path Computation Element Protocol (PCEP) Numbers"
   registry group.  IANA is requested to make the following assignment:</t>
        <figure anchor="ure-new-tlv-iana-request">
          <name>New TLV IANA request</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
         +======+=========================+===============+
         | N    | Description             | Reference     |
         +======+=========================+===============+
         | TBD2 | New optional TLV in SRP | This document |
         +------+-------------------------+---------------+
]]></artwork>
        </figure>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" target="https://www.rfc-editor.org/info/rfc5440" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml">
          <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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" target="https://www.rfc-editor.org/info/rfc8231" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml">
          <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="RFC8664" target="https://www.rfc-editor.org/info/rfc8664" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8664.xml">
          <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="RFC9604" target="https://www.rfc-editor.org/info/rfc9604" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9604.xml">
          <front>
            <title>Carrying Binding Label/SID in PCE-Based Networks</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="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="C. Li" initials="C." role="editor" surname="Li"/>
            <date month="August" year="2024"/>
            <abstract>
              <t>In order to provide greater scalability, network confidentiality, and service independence, Segment Routing (SR) utilizes a Binding Segment Identifier (BSID), as described in RFC 8402. It is possible to associate a BSID to an RSVP-TE-signaled Traffic Engineering (TE) Label Switched Path (LSP) or an SR TE path. The BSID can be used by an upstream node for steering traffic into the appropriate TE path to enforce SR policies. This document specifies the concept of binding value, which can be either an MPLS label or a Segment Identifier (SID). It further specifies an extension to Path Computation Element Communication Protocol (PCEP) for reporting the binding value by a Path Computation Client (PCC) to the Path Computation Element (PCE) to support PCE-based TE policies.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9604"/>
          <seriesInfo name="DOI" value="10.17487/RFC9604"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC4655" target="https://www.rfc-editor.org/info/rfc4655" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4655.xml">
          <front>
            <title>A Path Computation Element (PCE)-Based Architecture</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="J.-P. Vasseur" initials="J.-P." surname="Vasseur"/>
            <author fullname="J. Ash" initials="J." surname="Ash"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks. Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
              <t>This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space. This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4655"/>
          <seriesInfo name="DOI" value="10.17487/RFC4655"/>
        </reference>
        <reference anchor="RFC9603" target="https://www.rfc-editor.org/info/rfc9603" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9603.xml">
          <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>
    <section anchor="sect-a" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>
   The author thanks for...</t>
    </section>
  </back>
</rfc>
