<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dhody-pce-pcep-object-order-08" category="std" consensus="true" updates="5440" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="object-order">Updated Rules for PCE Communication Protocol (PCEP) Object Ordering</title>
    <seriesInfo name="Internet-Draft" value="draft-dhody-pce-pcep-object-order-08"/>
    <author initials="D." surname="Dhody" fullname="Dhruv Dhody">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>IN</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>
    <date/>
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
      <?line 38?>

<t>The PCE Communication Protocol (PCEP) defines the mechanisms for the communication between a Path Computation Client (PCC) and a PCE, or among PCEs. Such interactions include path computation requests and path computation replies defined in RFC 5440. As per RFC 5440, these messages are required to follow strict object ordering.</t>
      <t>This document updates RFC 5440 by relaxing the strict object ordering requirement in the PCEP messages.</t>
    </abstract>
  </front>
  <middle>
    <?line 44?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC5440"/> describes the PCE Communication Protocol (PCEP).  PCEP defines the communication between a Path Computation Client (PCC) and a PCE, or between PCEs, enabling computation of Multiprotocol Label Switching (MPLS) for Traffic Engineering Label Switched Path (TE LSP) characteristics.</t>
      <t><xref target="RFC5440"/> defines several PCEP messages. For each PCEP message type, rules are defined that specify the set of objects that the message can carry using Routing Backus-Naur Form (RBNF) <xref target="RFC5511"/>. Further, <xref target="RFC5440"/> states that the object ordering is mandatory. This occurs when multiple extensions add new objects in the PCEP messages and the respective order of these new objects is not specified (see <xref target="EID6627"/>).</t>
      <t>This document updates <xref target="RFC5440"/> to relax the strict object ordering requirement.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
      </t>
    </section>
    <section anchor="motivation">
      <name>Motivation</name>
      <t>The mandatory object ordering requirement in <xref target="RFC5440"/> is shown to result in exponential complexity in terms of what each new PCEP extension needs to cope with in terms of reconciling all of the previously published RFCs, and all concurrently work in progress in the form of the internet-drafts. This requirement does not lend itself to the extensibility of PCEP.</t>
    </section>
    <section anchor="update">
      <name>Update to RFC 5440</name>
      <t><xref section="6" sectionFormat="of" target="RFC5440"/> states:</t>
      <sourcecode type="quote"><![CDATA[
   An implementation MUST form the PCEP
   messages using the object ordering specified in this document.
]]></sourcecode>
      <t>This text is updated to read as follows:</t>
      <sourcecode type="update"><![CDATA[
   An implementation SHOULD form the PCEP
   messages using the object ordering specified in this and
   subsequent documents, when an order can be unambiguously
   determined; an implementation MUST be prepared to receive
   a PCEP message with objects in any order when possible.
]]></sourcecode>
      <t>This update does not aim to take away the object ordering completely. The PCEP speaker is expected to follow the object order as specified unless there are valid reasons to ignore it. It is also likely that the receiver can understand the object's meaning irrespective of the order unambiguously.</t>
    </section>
    <section anchor="compatibility">
      <name>Compatibility Considerations</name>
      <t>While one of the main objectives of the changes made by this document is to enable backward compatibility between PCEP extensions, there remains an issue of compatibility between existing implementations of <xref target="RFC5440"/> and implementations that are consistent with this document.</t>
      <t>It should be noted that common behaviour for checking object ordering in received PCEP messages is as described by the updated text presented in <xref target="update"/>.  Thus, many implementations will still have implemented a consistent and future-proof approach.  However, for completeness, it is worth noting how behaviours might interact between implementations.</t>
      <t>The messages generated by an implementation of this document, when received by a legacy implementation with a strict interpretation of object ordering, MAY lead to error handling. It is interesting to note that the <xref target="RFC5440"/> does not define an Error-Type and Error-value corresponding to this error condition.</t>
    </section>
    <section anchor="open-questions">
      <name>Open Questions</name>
      <ul spacing="normal">
        <li>
          <t>Should a new flag or a TLV in Open Message be added to exchange this capability? Not sure if this is strictly needed, if we can live with <xref target="compatibility"/>.</t>
        </li>
      </ul>
    </section>
    <section anchor="management-considerations">
      <name>Management Considerations</name>
      <t>Implementations receiving set objects that they consider out of order MAY log this.  That could be helpful for diagnosing backward compatibility issues.</t>
    </section>
    <section anchor="other-efforts">
      <name>Other Efforts</name>
      <t>In the past, there have been efforts to consolidate and update the RBNF, such as in <xref target="I-D.cmfg-pce-pcep-grammar"/>. This document relaxes the object ordering only; it does not take on the various other issues or the need to consolidate the RBNF for all PCEP extensions. There have been proposals to consolidate the RBNF for the PCEP message in a single place in GitHub and use modern data modelling tools to represent PCEP extensions. They might be taken up in parallel.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document does not raise any security issues.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document does not require any IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author fullname="JP. Vasseur" initials="JP." role="editor" surname="Vasseur"/>
            <author fullname="JL. Le Roux" initials="JL." role="editor" surname="Le Roux"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs. Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering. PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5440"/>
          <seriesInfo name="DOI" value="10.17487/RFC5440"/>
        </reference>
        <reference anchor="RFC5511">
          <front>
            <title>Routing Backus-Naur Form (RBNF): A Syntax Used to Form Encoding Rules in Various Routing Protocol Specifications</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="April" year="2009"/>
            <abstract>
              <t>Several protocols have been specified in the Routing Area of the IETF using a common variant of the Backus-Naur Form (BNF) of representing message syntax. However, there is no formal definition of this version of BNF.</t>
              <t>There is value in using the same variant of BNF for the set of protocols that are commonly used together. This reduces confusion and simplifies implementation.</t>
              <t>Updating existing documents to use some other variant of BNF that is already formally documented would be a substantial piece of work.</t>
              <t>This document provides a formal definition of the variant of BNF that has been used (that we call Routing BNF) and makes it available for use by new protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5511"/>
          <seriesInfo name="DOI" value="10.17487/RFC5511"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5455">
          <front>
            <title>Diffserv-Aware Class-Type Object for the Path Computation Element Communication Protocol</title>
            <author fullname="S. Sivabalan" initials="S." role="editor" surname="Sivabalan"/>
            <author fullname="J. Parker" initials="J." surname="Parker"/>
            <author fullname="S. Boutros" initials="S." surname="Boutros"/>
            <author fullname="K. Kumaki" initials="K." surname="Kumaki"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies a CLASSTYPE object to support Diffserv-Aware Traffic Engineering (DS-TE) where path computation is performed with the aid of a Path Computation Element (PCE). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5455"/>
          <seriesInfo name="DOI" value="10.17487/RFC5455"/>
        </reference>
        <reference anchor="RFC8231">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions. This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8231"/>
          <seriesInfo name="DOI" value="10.17487/RFC8231"/>
        </reference>
        <reference anchor="I-D.cmfg-pce-pcep-grammar">
          <front>
            <title>Current issues with existing RBNF notation for PCEP messages and extensions</title>
            <author fullname="Ramon Casellas" initials="R." surname="Casellas">
              <organization>CTTC</organization>
            </author>
            <author fullname="Cyril Margaria" initials="C." surname="Margaria">
              <organization>Coriant</organization>
            </author>
            <author fullname="Adrian Farrel" initials="A." surname="Farrel">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
         </author>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Xian Zhang" initials="X." surname="Zhang">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="10" month="January" year="2014"/>
            <abstract>
              <t>   The PCEP protocol has been defined in [RFC5440] and later extended in
   several RFCs.  This document aims at documenting inconsistencies when
   implementing a set of extensions and at providing a reference,
   complete and formal RBNF grammar for PCEP messages, including object
   ordering and precedence rules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-cmfg-pce-pcep-grammar-02"/>
        </reference>
        <reference anchor="EID6627" target="https://www.rfc-editor.org/errata/eid6627">
          <front>
            <title>Errata ID: 6627</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 116?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to John Scudder for the motivation behind this document. Thanks to Oscar Gonzalez de Dios and Cyril Margaria for raising errata on this topic. Thanks to the author of <xref target="I-D.cmfg-pce-pcep-grammar"/> for highlighting the issue.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>As described in <xref target="EID6627"/>, for the PCReq message, the CLASSTYPE object is encoded after the END-POINTS object in <xref target="RFC5455"/>. Whereas in <xref target="RFC8231"/>, the LSP object is encoded just after the END-POINTS object. So it is not known which of the following orders is expected.</t>
      <sourcecode type="RBNF"><![CDATA[
...<END-POINTS>[<LSP>][<CLASSTYPE>]...

or

...<END-POINTS>[<CLASSTYPE>][<LSP>]...
]]></sourcecode>
      <t>This update requires the receiver to be able to accept both of these.</t>
    </section>
    <section anchor="when-order-matters">
      <name>When Order Matters</name>
      <t>There are cases where the ordering between objects is important. For instance, PCRpt message <xref target="RFC8231"/> includes &lt;path&gt; with some attributes that say BANDWIDTH can be part of both &lt;actual-attribute-list&gt; and &lt;intended-attribute-list&gt;.</t>
      <sourcecode type="RBNF"><![CDATA[
    Where:
      <path>::= <intended-path>
                [<actual-attribute-list><actual-path>]
                <intended-attribute-list>
]]></sourcecode>
      <t>An important factor to distinguish between the actual and intended attribute list is the presence of RRO (i.e. &lt;actual-path&gt;) and the order of objects in the PCRpt message.</t>
      <t>If the RRO is present, any attributes encoded before it are to be considered as part of &lt;actual-attribute-list&gt; and those after it, as part of &lt;intended-attribute-list&gt;.</t>
      <t>If the RRO is absent, all attributes are part of &lt;intended-attribute-list&gt;.</t>
      <t>Thus, the approach taken by this document is to say that ordering is relaxed in cases where there is no ambiguity.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
