<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC5440 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml">
<!ENTITY RFC7470 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7470.xml">
<!ENTITY I-D.ietf-pce-stateful-pce SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-pce-stateful-pce-21.xml">
<!ENTITY I-D.ietf-pce-pce-initiated-lsp SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-pce-pce-initiated-lsp-10.xml">
<!ENTITY RFC6952 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6952.xml">
<!ENTITY RFC8051 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8051.xml">
]>
<rfc submissionType="IETF" docName="draft-dhody-pce-stateful-pce-vendor-03" category="std"><?rfc compact="yes"?>
	<?rfc text-list-symbols="o*+-"?>
	<?rfc subcompact="no"?>
	<?rfc sortrefs="yes"?>
	<?rfc symrefs="yes"?>
	<?rfc strict="yes"?>
	<?rfc toc="yes"?>
	<front>
	<title abbrev="VENDOR-STATEFUL">Conveying Vendor-Specific Information in the Path Computation Element (PCE) Communication Protocol (PCEP) extensions for stateful PCE.</title>
	<author fullname="Dhruv Dhody" initials="D." surname="Dhody">
	<organization>Huawei Technologies</organization>
	<address><postal><street>Divyashree Techno Park, Whitefield</street>
	<street>Bangalore, Karnataka  560066</street>
	<street>India</street>
	</postal>
	<email>dhruv.ietf@gmail.com</email>
	</address>
	</author>

	<date year="2017"/>
	<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 pending path
   computation requests.  This information may then be considered when
   computing new traffic engineered LSPs, and for associated and
   dependent LSPs, received from Path Computation Clients (PCCs).</t>

	<t>
   RFC 7470 defines a facility to carry vendor-specific information in
   PCEP.</t>

	<t>
   This document extends this capability for stateful PCE.</t>

	</abstract>
	</front>

	<middle>
	<section title="Introduction" anchor="section-1"><t>
   The Path Computation Element communication Protocol (PCEP) <xref target="RFC5440"/>
   provides mechanisms for Path Computation Elements (PCEs) to perform
   path computations in response to Path Computation Clients' (PCCs)
   requests.</t>

	<t>
   A stateful PCE is capable of considering, for the purposes of 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
   (LSPDB).  <xref target="RFC8051"/> 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="I-D.ietf-pce-stateful-pce"/> 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="I-D.ietf-pce-pce-initiated-lsp"/> describes the setup,
   maintenance and teardown of PCE-initiated LSPs under the stateful PCE
   model.  These extensions added new messages in PCEP.</t>

	<t>
   <xref target="RFC7470"/> 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"/>, this document extend the PCEP messages
   to also include the Vendor Information Object too.</t>

	<section title="Requirements Language" anchor="section-1.1">
        <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.</t>

	</section>

	</section>

	<section title="Procedures for the Vendor Information Object" anchor="section-2"><t>
   A Path Computation LSP State Report message
   <xref target="I-D.ietf-pce-stateful-pce"/> (also referred to as PCRpt message) 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"/>.  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="I-D.ietf-pce-stateful-pce"/> as
   base) is updated as follows</t>

	<figure><artwork><![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 [I-D.ietf-pce-stateful-pce].
]]></artwork>
	</figure>
	<t>
   A Path Computation LSP Update Request message (also referred to as
   PCUpd message) 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="I-D.ietf-pce-stateful-pce"/> as
   base) is updated as follows</t>

	<figure><artwork><![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 [I-D.ietf-pce-stateful-pce].
]]></artwork>
	</figure>
	<t>
   A Path Computation LSP Initiate Message (also referred to as
   PCInitiate message) is a PCEP message sent by a PCE to a PCC to
   trigger LSP instantiation or deletion.  The Vendor Information object
   can be included in a PCInitiate message to convey proprietary or
   vendor-specific information.</t>

	<figure><artwork><![CDATA[
The format of the PCInitiate message (with
[I-D.ietf-pce-pce-initiated-lsp] as base) is updated as follows

     <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>]
]]></artwork>
	</figure>
	<t><list hangIndent="3" style="hanging"><t>
      &lt;PCE-initiated-lsp-deletion&gt; and &lt;attribute-list&gt; is as per
      <xref target="I-D.ietf-pce-pce-initiated-lsp"/>.</t>

	</list>
	</t>

	<t>
   A legacy implementation that does not recognize the Vendor
   Information object will act according to the procedures set out in
   <xref target="I-D.ietf-pce-stateful-pce"/> and <xref target="I-D.ietf-pce-pce-initiated-lsp"/>.  An
   implementation that supports the Vendor Information object, but
   receives one carrying an Enterprise Number that it does not support,
   SHOULD ignore the object as per <xref target="RFC7470"/>.</t>

	</section>

	<section title="Procedures for the Vendor Information TLV" anchor="section-3"><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"/>.</t>

	</section>

	<section title="Vendor Information Object and TLV" anchor="section-4"><t>
   <xref target="RFC7470"/> specify the format of VENDOR-INFORMATION Object and VENDOR-
   INFORMATION-TLV.</t>

	</section>

	<section title="IANA Considerations" anchor="section-5"><t>
   There are no IANA consideration.</t>

	</section>

	<section title="Security Considerations" anchor="section-6"><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"/>, <xref target="RFC7470"/>, <xref target="I-D.ietf-pce-stateful-pce"/> and
   <xref target="I-D.ietf-pce-pce-initiated-lsp"/> apply unchanged.  Note that further
   security considerations for the use of PCEP over TCP are presented in
   <xref target="RFC6952"/>.</t>

	</section>

	<section title="Acknowledgments" anchor="section-7"><t>
   Thanks to Avantika, Mahendra Singh Negi, Udayasree Palle and Swapna K
   for their suggestions.</t>

	</section>

	</middle>

	<back>
	<references title="Normative References">
	&RFC2119;
  &RFC8174;
	&RFC5440;
	&RFC7470;
	&I-D.ietf-pce-stateful-pce;
	&I-D.ietf-pce-pce-initiated-lsp;
	</references>
	<references title="Informative References">
	&RFC6952;
	&RFC8051;
	</references>
	</back>

	</rfc>
	
