<?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-dhody-pce-stateful-pce-vendor-13" category="std" obsoletes="" updates="" xml:lang="en" sortRefs="true" symRefs="true" tocInclude="true" version="3" ipr="trust200902">
  <!-- xml2rfc v2v3 conversion 3.10.0 -->
  <front>
    <title abbrev="VENDOR-STATEFUL">Conveying Vendor-Specific Information in the Path Computation Element (PCE) Communication Protocol (PCEP) extensions for Stateful PCE.</title>
    <seriesInfo name="Internet-Draft" value="draft-dhody-pce-stateful-pce-vendor-13"/>
    <author fullname="Cheng Li" initials="C." surname="Li">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Huawei Campus, No. 156 Beiqing Rd.</street>
          <city>Beijing</city>
          <region/>
          <code>100095</code>
          <country>China</country>
        </postal>
        <phone/>
        <email>c.l@huawei.com</email>
        <uri/>
      </address>
    </author>
    <author fullname="Haomian Zheng" initials="H." surname="Zheng">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>H1, Huawei Xiliu Beipo Village, Songshan Lake</street>
          <city>Dongguan</city>
          <region>Guangdong</region>
          <code>523808</code>
          <country>China</country>
        </postal>
        <phone/>
        <email>zhenghaomian@huawei.com</email>
        <uri/>
      </address>
    </author>
    <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
      <organization>Ciena</organization>
      <address>
        <postal>
          <street>385 Terry Fox Drive</street>
          <city>Kanata</city>
          <region>Ontario</region>
          <code>K2K 0L1</code>
          <country>Canada</country>
        </postal>
        <email>msiva282@gmail.com</email>
      </address>
    </author>
    <author fullname="Samuel Sidor" initials="S." surname="Sidor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <email>ssidor@cisco.com</email>
      </address>
    </author>
    <author fullname="Zafar Ali" initials="Z." surname="Ali">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <email>zali@cisco.com</email>
      </address>
    </author>
    <date/>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
      <t>
   A Stateful Path Computation Element (PCE) maintains information on the current network state, including: computed Label Switched Path (LSPs), reserved resources within the network, and the pending path computation requests.  This information may then be considered when computing new traffic engineered LSPs, and for the associated and the dependent LSPs, received from a Path Computation Client (PCC).</t>
      <t>RFC 7470 defines a facility to carry vendor-specific information in Path Computation Element Communication Protocol (PCEP).</t>
      <t>
   This document extends this capability for the Stateful PCEP messages.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
   The Path Computation Element Communication Protocol (PCEP) <xref target="RFC5440" format="default"/>
   provides mechanisms for a Path Computation Element (PCE) to perform
   path computation in response to a Path Computation Client (PCC)
   request.</t>
      <t>
   A Stateful PCE is capable of considering, for the purposes of the path
   computation, not only the network state in terms of links and nodes
   (referred to as the Traffic Engineering Database or TED) but also the
   status of active services (previously computed paths, and currently
   reserved resources, stored in the Label Switched Paths Database
   (LSP-DB).  <xref target="RFC8051" format="default"/> describes general considerations for a Stateful
   PCE deployment and examines its applicability and benefits, as well
   as its challenges and limitations through a number of use cases.</t>
      <t>
   <xref target="RFC8231" format="default"/> describes a set of extensions to PCEP to
   provide stateful control.  A Stateful PCE has access to not only the
   information carried by the network's Interior Gateway Protocol (IGP),
   but also the set of active paths and their reserved resources for its
   computations.  The additional state allows the PCE to compute
   constrained paths while considering individual LSPs and their
   interactions.  <xref target="RFC8281" format="default"/> describes the set up,
   maintenance and teardown of PCE-initiated LSPs under the Stateful PCE
   model.  These extensions added new messages in PCEP for Stateful PCE.</t>
      <t>
   <xref target="RFC7470" format="default"/> defined Vendor Information object that can be used to carry
   arbitrary, proprietary information such as vendor-specific
   constraints.  It also defined VENDOR-INFORMATION-TLV that can be used
   to carry arbitrary information within any existing or future PCEP
   object that supports TLVs.</t>
      <t>
   This document extend the usage of Vendor Information Object and
   VENDOR-INFORMATION-TLV to Stateful PCE.  The VENDOR-INFORMATION-TLV
   can be carried inside any of the new objects added in PCEP for
   Stateful PCE as per <xref target="RFC7470" format="default"/>, this document extend the stateful PCEP messages
   to also include the Vendor Information Object as well.</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 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="Procedures" numbered="true" toc="default">
      <name>Procedures for the Vendor Information Object</name>
      <t>
   A Path Computation LSP State Report message (also referred to as PCRpt message) 
   <xref target="RFC8231" format="default"/> is a
   PCEP message sent by a PCC to a PCE to report the current state of an
   LSP.  A PCC that wants to convey proprietary or vendor-specific
   information or metrics to a PCE does so by including a Vendor
   Information object in the PCRpt message.  The contents and format of
   the object are described in Section 4 of <xref target="RFC7470" format="default"/>.  The PCE
   determines how to interpret the information in the Vendor Information
   object by examining the Enterprise Number it contains.</t>
      <t>
   The Vendor Information object is OPTIONAL in a PCRpt message.
   Multiple instances of the object MAY be used on a single PCRpt
   message.  Different instances of the object can have different
   Enterprise Numbers.</t>
      <t>
   The format of the PCRpt message (with <xref target="RFC8231" format="default"/> as
   base) is updated as follows:</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
      <PCRpt Message> ::= <Common Header>
                          <state-report-list>
   Where:

      <state-report-list> ::= <state-report>[<state-report-list>]

      <state-report> ::= [<SRP>]
                         <LSP>
                         <path>
                         [<vendor-info-list>]
    Where:
      <vendor-info-list> ::= <VENDOR-INFORMATION>
                             [<vendor-info-list>]

      <path> is defined in [RFC8231].
]]></artwork>
      <t>
   A Path Computation LSP Update Request message (also referred to as
   PCUpd message) <xref target="RFC8231" format="default"/> is a PCEP message sent by a PCE to a PCC to update
   attributes of an LSP.  The Vendor Information object can be included
   in a PCUpd message to convey proprietary or vendor-specific
   information.</t>
      <t>
   The format of the PCUpd message (with <xref target="RFC8231" format="default"/> as
   base) is updated as follows:</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
      <PCUpd Message> ::= <Common Header>
                          <update-request-list>
   Where:

      <update-request-list> ::= <update-request>
                          [<update-request-list>]

      <update-request> ::= <SRP>
                           <LSP>
                           <path>
                           [<vendor-info-list>]
   Where:
      <vendor-info-list> ::= <VENDOR-INFORMATION>
                             [<vendor-info-list>]

      <path> is defined in [RFC8231].
]]></artwork>
      <t>
   A Path Computation LSP Initiate Message (also referred to as
   PCInitiate message) <xref target="RFC8281" format="default"/> is a PCEP message sent by a PCE to a PCC to
   trigger an LSP instantiation or deletion.  The Vendor Information object
   can be included in a PCInitiate message to convey proprietary or
   vendor-specific information.</t>
      <t>The format of the PCInitiate message (with
<xref target="RFC8281" format="default"/> as base) is updated as follows:</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[

     <PCInitiate Message> ::= <Common Header>
                              <PCE-initiated-lsp-list>
  Where:

     <PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request>
                                  [<PCE-initiated-lsp-list>]

     <PCE-initiated-lsp-request> ::=
                          (<PCE-initiated-lsp-instantiation>|
                           <PCE-initiated-lsp-deletion>)

     <PCE-initiated-lsp-instantiation> ::= <SRP>
                                           <LSP>
                                           [<END-POINTS>]
                                           <ERO>
                                           [<attribute-list>]
                                           [<vendor-info-list>]

     Where:

     <vendor-info-list> ::= <VENDOR-INFORMATION>
                            [<vendor-info-list>]

     <PCE-initiated-lsp-deletion> and <attribute-list> is as per
     [RFC8281].                            
]]></artwork>
      <t>
   A legacy implementation that does not recognize the Vendor
   Information object will act according to the procedures set out in
   <xref target="RFC8231" format="default"/> and <xref target="RFC8281" format="default"/>.  An
   implementation that supports the Vendor Information object, but
   receives one carrying an Enterprise Number that it does not support,
   MUST ignore the object in the same way as described in <xref target="RFC7470" format="default"/>.</t>
    </section>
    <section anchor="TLV" numbered="true" toc="default">
      <name>Procedures for the Vendor Information TLV</name>
      <t>
   The Vendor Information TLV can be used to carry vendor-specific
   information that applies to a specific PCEP object by including the
   TLV in the object.  This includes objects used in Stateful PCE
   extension such as SRP and LSP object.  All the procedures as per
   section 3 of <xref target="RFC7470" format="default"/>.</t>
    </section>
    <section anchor="Vendor" numbered="true" toc="default">
      <name>Vendor Information Object and TLV</name>
      <t>
   <xref target="RFC7470" format="default"/> specify the format of VENDOR-INFORMATION Object and VENDOR-
   INFORMATION-TLV.</t>
    </section>
    <section toc="default" numbered="true">
      <name>Manageability Considerations</name>
      <t>
  All manageability requirements and considerations listed in <xref target="RFC5440" format="default"/>, <xref target="RFC7470" format="default"/>,  
  <xref target="RFC8231" format="default"/>, and <xref target="RFC8281" format="default"/>  
  apply to PCEP protocol extensions defined in this document. In addition, requirements and considerations listed in this section apply. 
      </t>
      <section toc="default" numbered="true">
        <name>Control of Function and Policy</name>
        <t>
  As stated in <xref target="RFC7470" format="default"/>, this capability, the associated vendor specific information and policy SHOULD made configurable. This information can be used in Stateful PCEP messages as well.
        </t>
      </section>
      <section toc="default" numbered="true">
        <name>Information and Data Models</name>
        <t>The PCEP YANG module is specified in <xref target="I-D.ietf-pce-pcep-yang" format="default"/>. It is RECOMMENDED that standard YANG module not be augmented with details of vendor information. It MAY be extended to include the use of this information and the Enterprise Numbers that the object and TLVs contain.</t>
      </section>
      <section toc="default" numbered="true">
        <name>Liveness Detection and Monitoring</name>
        <t>
  Mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in <xref target="RFC5440" format="default"/>. 
        </t>
      </section>
      <section toc="default" numbered="true">
        <name>Verify Correct Operations</name>
        <t>
  Mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in <xref target="RFC5440" format="default"/> 
  and <xref target="RFC8231" format="default"/>. 
        </t>
      </section>
      <section toc="default" numbered="true">
        <name>Requirements On Other Protocols</name>
        <t>Mechanisms defined in this document do not imply any new requirements on other protocols.</t>
      </section>
      <section toc="default" numbered="true">
        <name>Impact On Network Operations</name>
        <t>
  Mechanisms defined in <xref target="RFC5440" format="default"/> 
  and 
  <xref target="RFC8231" format="default"/> also apply to PCEP extensions defined in this document. 
  Further, the mechanism described in this document can help the operator to request control of the LSPs at a particular PCE.</t>
      </section>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>
   There are no IANA consideration in this document.</t>
    </section>
    <section anchor="imps" numbered="true" toc="default">
      <name>Implementation Status</name>
      <t>[NOTE TO RFC EDITOR : This whole section and the reference to RFC 7942
      is to be removed before publication as an RFC]</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" format="default"/>.  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" format="default"/>, "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 numbered="true" toc="default">
        <name>Cisco Systems</name>
        <ul spacing="normal">
          <li>Organization: Cisco Systems, Inc.</li>
          <li>Implementation: Cisco IOS-XR PCE and PCC</li>
          <li>Description: Vendor Information Object used in PCRpt, PCUpd and PCInitiate messages.</li>
          <li>Maturity Level: Production</li>
          <li>Coverage: Full</li>
          <li>Contact: ssidor@cisco.com</li>
        </ul>
      </section>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
   The protocol extensions defined in this document do not change the
   nature of PCEP.  Therefore, the security considerations set out in
   <xref target="RFC5440" format="default"/>, <xref target="RFC7470" format="default"/>, <xref target="RFC8231" format="default"/> and
   <xref target="RFC8281" format="default"/> apply unchanged.  </t>
      <t>As stated in <xref target="RFC6952" format="default"/>, PCEP implementations SHOULD support the TCP-
   AO <xref target="RFC5925" format="default"/> and not use TCP MD5 because of TCP MD5's known
   vulnerabilities and weakness.  PCEP also support Transport Layer
   Security (TLS) <xref target="RFC8253" format="default"/> as per the recommendations and best current
   practices in <xref target="RFC7525" format="default"/>.</t>
    </section>
    <section anchor="Acknowledgments" numbered="true" toc="default">
      <name>Acknowledgments</name>
      <t>
   Thanks to Avantika, Mahendra Singh Negi, Udayasree Palle and Swapna K
   for their suggestions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7470.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8281.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5925.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6952.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7525.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8051.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8253.xml"/>
        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-ietf-pce-pcep-yang.xml"/>
      </references>
    </references>
    <section toc="default" numbered="true">
      <name>Contributor Addresses</name>
      <artwork name="" type="" align="left" alt=""><![CDATA[
Dhruv Dhody
Huawei Technologies
Divyashree Techno Park, Whitefield
Bangalore, Karnataka  560066
India

EMail: dhruv.ietf@gmail.com

Mike Koldychev
Cisco Systems
Kanata, Ontario
Canada

EMail: mkoldych@cisco.com
        ]]></artwork>
    </section>
  </back>
</rfc>
