<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-pce-stateful-flags-01" indexInclude="true" ipr="trust200902" number="8786" prepTime="2020-05-31T11:52:17" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" updates="8231" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-pce-stateful-flags-01" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8786" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Stateful PCEP Flags">Updated Rules for Processing Stateful PCE Request Parameters Flags</title>
    <seriesInfo name="RFC" value="8786" stream="IETF"/>
    <author fullname="Adrian Farrel" initials="A." surname="Farrel">
      <organization showOnFrontPage="true">Old Dog Consulting</organization>
      <address>
        <email>adrian@olddog.co.uk</email>
      </address>
    </author>
    <date month="05" year="2020"/>
    <area>Routing</area>
    <workgroup>PCE</workgroup>
    <keyword>PCEP</keyword>
    <keyword>Path Computation Element</keyword>
    <keyword>Stateful PCE</keyword>
    <keyword>Flags</keyword>
    <abstract pn="section-abstract">
      <t pn="section-abstract-1">Extensions to the Path Computation Element Communication Protocol
      (PCEP) to support stateful Path Computation Elements (PCEs) are defined
      in RFC 8231.  One of the extensions is the Stateful PCE Request
      Parameters (SRP) object.  That object includes a Flags field that is a
      set of 32 bit flags, and RFC 8281 defines an IANA registry for tracking
      assigned flags.  However, RFC 8231 does not explain how an
      implementation should set unassigned flags in transmitted messages, nor
      how an implementation should process unassigned, unknown, or unsupported
      flags in received messages.</t>
      <t pn="section-abstract-2">This document updates RFC 8231 by defining the correct behaviors.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8786" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t pn="section-boilerplate.2-1">
            Copyright (c) 2020 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-updated-procedures">Updated Procedures</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-advice-for-specification-of">Advice for Specification of New Flags</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-flags-field-of-the-srp-obje">Flags Field of the SRP Object</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-compatibility-consideration">Compatibility Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-management-considerations">Management Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t pn="section-1-1"><xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> describes the Path
      Computation Element Communication Protocol (PCEP).  PCEP defines the
      communication between a Path Computation Client (PCC) and a Path
      Computation Element (PCE), or between PCEs, enabling computation of
      Multiprotocol Label Switching (MPLS) for Traffic Engineering Label
      Switched Path (TE LSP) characteristics.</t>
      <t pn="section-1-2"><xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> specifies a set of
      extensions to PCEP to enable stateful control of LSPs within and across
      PCEP sessions in compliance with <xref target="RFC4657" format="default" sectionFormat="of" derivedContent="RFC4657"/>.  It includes mechanisms to effect Label Switched
      Path (LSP) State Synchronization between PCCs and PCEs, delegation of
      control over LSPs to PCEs, and PCE control of timing and sequence of
      path computations within and across PCEP sessions.</t>
      <t pn="section-1-3">One of the extensions defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> is the Stateful PCE Request Parameters (SRP) object.
      That object includes a Flags field that is a set of 32 bit flags, and
      RFC 8281 defines an IANA registry for tracking assigned
      flags.  However, RFC 8231 does not explain how an
      implementation should set unassigned flags in transmitted messages, nor
      how an implementation should process unassigned or unknown flags in
      received messages.</t>
      <t pn="section-1-4">Furthermore, <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> gives no
      guidance to the authors of future specifications about how to describe
      the interaction between flags that have already been defined and flags
      being defined in the new specifications.</t>
      <t pn="section-1-5">This document updates RFC 8231 by defining the correct behaviors.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-requirements-language">Requirements Language</name>
      <t pn="section-2-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
    to be interpreted as described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/>
        <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals,
    as shown here.
      </t>
    </section>
    <section anchor="update" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-updated-procedures">Updated Procedures</name>
      <section anchor="advice" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-advice-for-specification-of">Advice for Specification of New Flags</name>
        <t pn="section-3.1-1"><xref target="RFC8231" sectionFormat="of" section="7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8231#section-7" derivedContent="RFC8231"/> introduces
        changes to existing PCEP objects and defines new PCEP objects and TLVs
        in support of stateful PCE functionality.  That text does not advise
        future specifications on how to describe the interaction between flags
        that may be defined.</t>
        <t pn="section-3.1-2">The text in <xref target="RFC8231" sectionFormat="of" section="7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8231#section-7" derivedContent="RFC8231"/>
        is updated to read as follows:
        </t>
        <ul empty="true" spacing="normal" bare="false" pn="section-3.1-3">
          <li pn="section-3.1-3.1">The PCEP objects defined in this document are compliant with the
          PCEP object format defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.  The P and I flags of the PCEP objects defined
          in the current document <bcp14>MUST</bcp14> be set to 0 on
          transmission and <bcp14>SHOULD</bcp14> be ignored on receipt since
          they are exclusively related to path computation requests.</li>
          <li pn="section-3.1-3.2">The sections that follow define PCEP objects and TLVs that
          contain Flags fields, and some flag values are defined.  Future
          specifications may define further flags, and each new specification
          that defines additional flags is expected to describe the
          interaction between these new flags and any existing flags.  In
          particular, new specifications are expected to explain how to handle
          the cases when both new and pre-existing flags are set.</li>
        </ul>
      </section>
      <section anchor="SRPflags" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-flags-field-of-the-srp-obje">Flags Field of the SRP Object</name>
        <t pn="section-3.2-1"><xref target="RFC8231" sectionFormat="of" section="7.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8231#section-7.2" derivedContent="RFC8231"/> defines the PCEP SRP object.  It describes
           the Flags field as:
        </t>
        <ul empty="true" spacing="normal" bare="false" pn="section-3.2-2">
          <li pn="section-3.2-2.1">Flags (32 bits): None defined yet.</li>
        </ul>
        <t pn="section-3.2-3">This document updates that text as follows:
        </t>
        <ul empty="true" spacing="normal" bare="false" pn="section-3.2-4">
          <li pn="section-3.2-4.1">Flags (32 bits): This document does not define any flags.  Unassigned flags
                 <bcp14>MUST</bcp14> be set to zero on transmission and <bcp14>MUST</bcp14> be ignored on receipt.
                 Implementations that do not understand any particular flag <bcp14>MUST</bcp14> ignore the
                 flag.</li>
        </ul>
      </section>
    </section>
    <section anchor="Backward" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-compatibility-consideration">Compatibility Considerations</name>
      <t pn="section-4-1">While one of the main objectives of the changes made by this document
      is to enable backward compatibility, there remains an issue of
      compatibility between existing implementations of RFC 8231 and
      implementations that are consistent with this document.</t>
      <t pn="section-4-2">It should be noted that common behavior for Flags fields is as
      described by the updated text presented in <xref target="update" format="default" sectionFormat="of" derivedContent="Section 3"/>.  Thus, many implementations, lacking guidance from
      RFC 8231, will still have implemented a consistent and future-proof
      approach.  However, for completeness, it is worth noting how behaviors
      might interact between implementations.</t>
      <t pn="section-4-3">SRP objects generated by an implementation of this document will set
      all unknown flag bits to zero and will therefore cause no issues to an
      older implementation even if it inspects those bits.  Similarly, an
      implementation of this document will not inspect any unknown flag bits
      and will therefore be unaffected by older implementations no matter how
      they set the flags.</t>
      <t pn="section-4-4">There will remain an issue with compatibility between implementations
      and how they set the flags. An implementation of RFC 8231 might set any
      of the unassigned flags, but an implementation of a future or current
      specification (such as <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> or
      <xref target="RFC8741" format="default" sectionFormat="of" derivedContent="RFC8741"/>) assigns specific meanings to
      a flag if set. That problem cannot be fixed in old implementations by
      any amount of documentation and can only be handled for future
      specifications by obsoleting the Flags field and using a new technique.
      Fortunately, however, most implementations will have been constructed to
      set unused flags to zero, which is consistent with the behavior
      described in this document, and so the risk of bad interactions is
      sufficiently small that there is no need to obsolete the existing Flags
      field.</t>
    </section>
    <section anchor="Management" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-management-considerations">Management Considerations</name>
      <t pn="section-5-1">Implementations receiving set SRP flags that they do not recognize <bcp14>MAY</bcp14> log this.  That could
          be helpful for diagnosing backward compatibility issues with future features that utilize those
          flags.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t pn="section-6-1"><xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> sets out security considerations for PCEP when used for communication
         with a stateful PCE.  This document does not change those considerations.</t>
      <t pn="section-6-2">However, by defining the expected behavior of implementations, this
      document may improve the stability of networks and thus reduce the
      attack surface.  That is, by reminding implementations to ignore unset
      bits, it is less possible to attack them by randomly tweaking bits.
      Furthermore, by reminding implementations to leave undefined bits unset,
      the network is future-proofed against new definitions of previously
      undefined bits.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t pn="section-7-1">IANA maintains a registry called the "Path Computation Element
      Protocol (PCEP) Numbers" registry with a subregistry called "SRP Object
      Flag Field". IANA has updated the reference for that
      subregistry to list this document in addition to
      <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>.</t>
    </section>
  </middle>
  <back>
    <references pn="section-8">
      <name slugifiedName="name-references">References</name>
      <references pn="section-8.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <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" quoteTitle="true" derivedAnchor="RFC8231">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
            <author initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Medved" fullname="J. Medved">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="September"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions.  This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8231"/>
          <seriesInfo name="DOI" value="10.17487/RFC8231"/>
        </reference>
        <reference anchor="RFC8281" target="https://www.rfc-editor.org/info/rfc8281" quoteTitle="true" derivedAnchor="RFC8281">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model</title>
            <author initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="December"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>The extensions for stateful PCE provide active control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE.  This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8281"/>
          <seriesInfo name="DOI" value="10.17487/RFC8281"/>
        </reference>
      </references>
      <references pn="section-8.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC4657" target="https://www.rfc-editor.org/info/rfc4657" quoteTitle="true" derivedAnchor="RFC4657">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol Generic Requirements</title>
            <author initials="J." surname="Ash" fullname="J. Ash" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J.L." surname="Le Roux" fullname="J.L. Le Roux" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="September"/>
            <abstract>
              <t>The PCE model is described in the "PCE Architecture" document and facilitates path computation requests from Path Computation Clients (PCCs) to Path Computation Elements (PCEs).  This document specifies generic requirements for a communication protocol between PCCs and PCEs, and also between PCEs where cooperation between PCEs is desirable.  Subsequent documents will specify application-specific requirements for the PCE communication protocol.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4657"/>
          <seriesInfo name="DOI" value="10.17487/RFC4657"/>
        </reference>
        <reference anchor="RFC5440" target="https://www.rfc-editor.org/info/rfc5440" quoteTitle="true" derivedAnchor="RFC5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="March"/>
            <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="RFC8741" target="https://www.rfc-editor.org/info/rfc8741" quoteTitle="true" derivedAnchor="RFC8741">
          <front>
            <title>Ability for a Stateful Path Computation Element (PCE) to Request and Obtain Control of a Label Switched Path (LSP)</title>
            <author initials="A." surname="Raghuram" fullname="A. Raghuram">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Goddard" fullname="A. Goddard">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Karthik" fullname="J. Karthik">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Negi" fullname="M. Negi">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="March"/>
            <abstract>
              <t>A stateful Path Computation Element (PCE) retains information about the placement of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs). When a PCE has stateful control over LSPs, it may send indications to LSP head-ends to modify the attributes (especially the paths) of the LSPs. A Path Computation Client (PCC) that has set up LSPs under local configuration may delegate control of those LSPs to a stateful PCE.</t>
              <t>There are use cases in which a stateful PCE may wish to obtain control of locally configured LSPs that it is aware of but have not been delegated to the PCE.</t>
              <t>This document describes an extension to the Path Computation Element Communication Protocol (PCEP) to enable a PCE to make requests for such control.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8741"/>
          <seriesInfo name="DOI" value="10.17487/RFC8741"/>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t pn="section-appendix.a-1">Thanks to the authors of <xref target="RFC8741" format="default" sectionFormat="of" derivedContent="RFC8741"/>
      for exposing the need for this work.  Thanks to <contact fullname="Dhruv       Dhody"/> and <contact fullname="Julien Meuric"/> for discussing the
      solution.  Additional thanks to <contact fullname="Hariharan       Ananthakrishnan"/> for his Shepherd's review.  Thanks to <contact fullname="Benjamin Kaduk"/> and <contact fullname="Alvaro Retana"/> for
      helpful comments during IESG review.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author fullname="Adrian Farrel" initials="A." surname="Farrel">
        <organization showOnFrontPage="true">Old Dog Consulting</organization>
        <address>
          <email>adrian@olddog.co.uk</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
