Skip to main content

PCEP Procedures and Protocol Extensions for Using PCE as a Central Controller (PCECC) of LSPs
draft-zhao-pce-pcep-extension-for-pce-controller-06

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Quintin Zhao , Zhenbin Li , Dhruv Dhody , Satish Karunanithi , Adrian Farrel , Chao Zhou
Last updated 2017-10-27
Replaced by draft-ietf-pce-pcep-extension-for-pce-controller, RFC 9050
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-zhao-pce-pcep-extension-for-pce-controller-06
PCE Working Group                                                Q. Zhao
Internet-Draft                                                     Z. Li
Intended status: Standards Track                                D. Dhody
Expires: April 29, 2018                                   S. Karunanithi
                                                     Huawei Technologies
                                                               A. Farrel
                                                   Juniper Networks, Inc
                                                                 C. Zhou
                                                           Cisco Systems
                                                        October 26, 2017

   PCEP Procedures and Protocol Extensions for Using PCE as a Central
                       Controller (PCECC) of LSPs
          draft-zhao-pce-pcep-extension-for-pce-controller-06

Abstract

   In certain networks deployment scenarios, service providers would
   like to keep all the existing MPLS functionalities in both MPLS and
   GMPLS while removing the complexity of existing signaling protocols
   such as LDP and RSVP-TE.  PCE has been proposed to be used as a
   central controller (PCECC) so that LSP can be calculated/setup/
   initiated and label forwarding entries are downloaded through a
   centralized PCE server to each network devices along the path while
   leveraging the existing PCE technologies as much as possible.

   This draft specify the procedures and PCEP protocol extensions for
   using the PCE as the central controller, where LSPs are
   calculated/setup/initiated and label forwarding entries are
   downloaded through extending PCEP.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on April 29, 2018.

Zhao, et al.             Expires April 29, 2018                 [Page 1]
Internet-Draft                    PCECC                     October 2017

Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) 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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   4
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Basic PCECC Mode  . . . . . . . . . . . . . . . . . . . . . .   4
   4.  PCEP Requirements . . . . . . . . . . . . . . . . . . . . . .   5
   5.  Procedures for Using the PCE as the Central Controller
       (PCECC) . . . . . . . . . . . . . . . . . . . . . . . . . . .   5
     5.1.  Stateful PCE Model  . . . . . . . . . . . . . . . . . . .   5
     5.2.  New LSP Functions . . . . . . . . . . . . . . . . . . . .   5
     5.3.  PCECC Capability Advertisement  . . . . . . . . . . . . .   7
     5.4.  LSP Operations  . . . . . . . . . . . . . . . . . . . . .   7
       5.4.1.  Basic PCECC LSP Setup . . . . . . . . . . . . . . . .   7
       5.4.2.  Label Operations  . . . . . . . . . . . . . . . . . .   9
         5.4.2.1.  Label Download  . . . . . . . . . . . . . . . . .   9
         5.4.2.2.  Label Cleanup . . . . . . . . . . . . . . . . . .   9
       5.4.3.  PCE Initiated PCECC LSP . . . . . . . . . . . . . . .  10
       5.4.4.  PCECC LSP Update  . . . . . . . . . . . . . . . . . .  11
       5.4.5.  Session Termination . . . . . . . . . . . . . . . . .  12
       5.4.6.  LABEL-DB Synchronization  . . . . . . . . . . . . . .  13
         5.4.6.1.  LABEL-DB Synchronization procedure  . . . . . . .  13
       5.4.7.  PCECC LSP State Report  . . . . . . . . . . . . . . .  16
   6.  PCEP messages . . . . . . . . . . . . . . . . . . . . . . . .  16
     6.1.  Label Operations  . . . . . . . . . . . . . . . . . . . .  16
       6.1.1.  The PCLabelUpd message  . . . . . . . . . . . . . . .  16
       6.1.2.  The PCLabelRpt message  . . . . . . . . . . . . . . .  17
       6.1.3.  The PCInitiate message  . . . . . . . . . . . . . . .  19
   7.  PCEP Objects  . . . . . . . . . . . . . . . . . . . . . . . .  19
     7.1.  OPEN Object . . . . . . . . . . . . . . . . . . . . . . .  19
       7.1.1.  PCECC Capability TLV  . . . . . . . . . . . . . . . .  19
     7.2.  PATH-SETUP-TYPE TLV . . . . . . . . . . . . . . . . . . .  20
     7.3.  Label Object  . . . . . . . . . . . . . . . . . . . . . .  20

Zhao, et al.             Expires April 29, 2018                 [Page 2]
Internet-Draft                    PCECC                     October 2017

       7.3.1.  Address TLVs  . . . . . . . . . . . . . . . . . . . .  21
     7.4.  Extension of SRP object . . . . . . . . . . . . . . . . .  22
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .  22
     8.1.  Malicious PCE . . . . . . . . . . . . . . . . . . . . . .  22
   9.  Manageability Considerations  . . . . . . . . . . . . . . . .  23
     9.1.  Control of Function and Policy  . . . . . . . . . . . . .  23
     9.2.  Information and Data Models . . . . . . . . . . . . . . .  23
     9.3.  Liveness Detection and Monitoring . . . . . . . . . . . .  23
     9.4.  Verify Correct Operations . . . . . . . . . . . . . . . .  23
     9.5.  Requirements On Other Protocols . . . . . . . . . . . . .  23
     9.6.  Impact On Network Operations  . . . . . . . . . . . . . .  23
   10. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  23
     10.1.  PCLabelUpd-PCLabelRpt message  . . . . . . . . . . . . .  24
     10.2.  PCEP TLV Type Indicators . . . . . . . . . . . . . . . .  24
     10.3.  New Path Setup Type Registry . . . . . . . . . . . . . .  24
     10.4.  PCEP Object  . . . . . . . . . . . . . . . . . . . . . .  24
     10.5.  LABEL Object Flag Field  . . . . . . . . . . . . . . . .  24
     10.6.  SRP Object Flag Field  . . . . . . . . . . . . . . . . .  25
     10.7.  PCEP-Error Object  . . . . . . . . . . . . . . . . . . .  25
   11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  26
   12. References  . . . . . . . . . . . . . . . . . . . . . . . . .  26
     12.1.  Normative References . . . . . . . . . . . . . . . . . .  26
     12.2.  Informative References . . . . . . . . . . . . . . . . .  27
   Appendix A.  Using existing PCEP message  . . . . . . . . . . . .  29
   Appendix B.  Contributor Addresses  . . . . . . . . . . . . . . .  30
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  31

1.  Introduction

   In certain network deployment scenarios, service providers would like
   to have the ability to dynamically adapt to a wide range of
   customer's requests for the sake of flexible network service
   delivery, Software Defined Networks (SDN) has provides additional
   flexibility in how the network is operated compared to the
   traditional network.

   The existing networking ecosystem has become awfully complex and
   highly demanding in terms of robustness, performance, scalability,
   flexibility, agility, etc.  By migrating to the SDN enabled network
   from the existing network, service providers and network operators
   must have a solution which they can evolve easily from the existing
   network into the SDN enabled network while keeping the network
   services remain scalable, guarantee robustness and availability etc.

   Taking the smooth transition between traditional network and the new
   SDN enabled network into account, especially from a cost impact
   assessment perspective, using the existing PCE components from the
   current network to function as the central controller of the SDN

Zhao, et al.             Expires April 29, 2018                 [Page 3]
Internet-Draft                    PCECC                     October 2017

   network is one choice, which not only achieves the goal of having a
   centralized controller, but also leverage the existing PCE network
   components.

   The Path Computation Element communication Protocol (PCEP) provides
   mechanisms for Path Computation Elements (PCEs) to perform route
   computations in response to Path Computation Clients (PCCs) requests.
   PCEP Extensions for PCE-initiated LSP Setup in a Stateful PCE Model
   [RFC8231] describes a set of extensions to PCEP to enable active
   control of MPLS-TE and GMPLS tunnels.

   [I-D.ietf-pce-pce-initiated-lsp] describes the setup and tear down of
   PCE-initiated LSPs under the active stateful PCE model, without the
   need for local configuration on the PCC, thus allowing for a dynamic
   MPLS network that is centrally controlled and deployed.

   [I-D.ietf-teas-pce-central-control] introduces the architecture for
   PCE as a central controller, examines the motivations and
   applicability for PCEP as a southbound interface, and introduces the
   implications for the protocol.  [I-D.ietf-teas-pcecc-use-cases]
   describes the use cases for the PCECC architecture.

   This draft specify the procedures and PCEP protocol extensions for
   using the PCE as the central controller and user cases where LSPs are
   calculated/setup/initiated/downloaded through extending the existing
   PCE architectures and PCEP.

   The extension for PCECC in Segment Routing (SR) is specified in a
   seperate draft [I-D.zhao-pce-pcep-extension-pce-controller-sr].

1.1.  Requirements Language

   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 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  Terminology

   Terminologies used in this document is same as described in the draft
   [I-D.ietf-teas-pcecc-use-cases].

3.  Basic PCECC Mode

   In this mode LSPs are provisioned as explicit label instructions at
   each hop on the end-to-end path.  Each router along the path must be
   told what label forwarding instructions to program and what resources

Zhao, et al.             Expires April 29, 2018                 [Page 4]
Internet-Draft                    PCECC                     October 2017

   to reserve.  The controller uses PCEP to communicate with each router
   along the path of the end-to-end LSP.

   Note that the PCE-based controller will take responsibility for
   managing some part of the MPLS label space for each of the routers
   that it controls, and may taker wider responsibility for partitioning
   the label space for each router and allocating different parts for
   different uses.  This is also described in section 3.1.2. of
   [I-D.ietf-teas-pce-central-control].  For the purpose of this
   document, it is assumed that label range to be used by a PCE is set
   on both PCEP peers.  A future extension MAY add capability to
   advertise the range via possible PCEP extensions as well.  The rest
   of processing is similar to the existing stateful PCE mechanism.

4.  PCEP Requirements

   Following key requirements associated PCECC should be considered when
   designing the PCECC based solution:

   1.  PCEP speaker supporting this draft MUST have the capability to
       advertise its PCECC capability to its peers.

   2.  PCEP speaker not supporting this draft MUST be able to reject
       PCECC related message with a reason code that indicates no
       support for PCECC.

   3.  PCEP SHOULD provide a means to identify PCECC based LSP in the
       PCEP messages.

   4.  PCEP SHOULD provide a means to update (or cleanup) the label-
       download entry to the PCC.

   5.  PCEP SHOULD provide a means to synchronize the labels between PCE
       to PCC in PCEP messages.

5.  Procedures for Using the PCE as the Central Controller (PCECC)

5.1.  Stateful PCE Model

   Active stateful PCE is described in [RFC8231].  PCE as a central
   controller (PCECC) reuses existing Active stateful PCE mechanism as
   much as possible to control the LSP.

5.2.  New LSP Functions

   This document defines the following new PCEP messages and extends the
   existing messages to support PCECC:

Zhao, et al.             Expires April 29, 2018                 [Page 5]
Internet-Draft                    PCECC                     October 2017

   (PCRpt):  a PCEP message described in [RFC8231].  PCRpt message MAYBE
      used to send PCECC LSP Reports.

   (PCInitiate):  a PCEP message described in
      [I-D.ietf-pce-pce-initiated-lsp].  PCInitiate message is used to
      setup PCE-Initiated LSP based on PCECC mechanism.

   (PCUpd):  a PCEP message described in [RFC8231].  PCUpd message is
      used to send PCECC LSP Update.

   (PCLabelUpd):  a new PCEP message sent by a PCE to a PCC to download
      or cleanup the Label entry.  The PCLabelUpd message described in
      Section 6.1.1.

   (PCLabelRpt):  a new PCEP message sent by a PCC to a PCE to report
      the set of labels for which explicit action is required from PCE
      to update or cleanup or do nothing for these Label entries.  The
      PCLabelRpt message described in Section 6.1.2.

   [Editor's Note: This document defines new messages PCLabelUpd and
   PCLabelRpt.  Questions where raised on the need for the new messages.
   See Appendix A on how the existing messages can be extended to add
   this functionality.  WG needs to decide the final direction i.e. new
   specific messages are needed or existing PCEP messages can be
   extended.]

   The new LSP functions defined in this document are mapped onto the
   messages as shown in the following table.

   +----------------------------------------+--------------------------+
   | Function                               | Message                  |
   +----------------------------------------+--------------------------+
   | PCECC Capability advertisement         | Open                     |
   | Label entry Update                     | PCLabelUpd               |
   | Label entry Cleanup                    | PCLabelUpd               |
   | PCECC Initiated LSP                    | PCInitiate               |
   | PCECC LSP Update                       | PCUpd                    |
   | PCECC LSP State Report                 | PCRpt                    |
   | PCECC LSP Delegation                   | PCRpt                    |
   | PCECC Label Report                     | PCLabelRpt               |
   +----------------------------------------+--------------------------+

Zhao, et al.             Expires April 29, 2018                 [Page 6]
Internet-Draft                    PCECC                     October 2017

5.3.  PCECC Capability Advertisement

   During PCEP Initialization Phase, PCEP Speakers (PCE or PCC)
   advertise their support of PCECC extensions.  A PCEP Speaker includes
   the "PCECC Capability" TLV, described in Section 7.1.1 of this
   document, in the OPEN Object to advertise its support for PCECC
   extensions.

   The presence of the PCECC Capability TLV in PCC's OPEN Object
   indicates that the PCC is willing to function as a PCECC client.

   The presence of the PCECC Capability TLV in PCE's OPEN message
   indicates that the PCE is interested in function as a PCECC server.

   The PCEP protocol extensions for PCECC MUST NOT be used if one or
   both PCEP Speakers have not included the PCECC Capability TLV in
   their respective OPEN message.  If the PCEP Speakers support the
   extensions of this draft but did not advertise this capability then a
   PCErr message with Error-Type=19(Invalid Operation) and Error-
   Value=TBD (Attempted LSP setup/download/label-range reservation if
   PCECC capability was not advertised) will be generated and the PCEP
   session will be terminated.

   A PCC or a PCE MUST include both PCECC-CAPABILITY TLV and STATEFUL-
   PCE-CAPABILITY TLV ([RFC8231]) in OPEN Object to support the
   extensions defined in this document.  If PCECC-CAPABILITY TLV is
   advertised and STATEFUL-PCE-CAPABILITY TLV is not advertised in OPEN
   Object, it SHOULD send a PCErr message with Error-Type=19 (Invalid
   Operation) and Error-value=TBD (stateful PCE capability was not
   advertised) and terminate the session.

5.4.  LSP Operations

   The PCEP messages pertaining to PCECC MUST include PATH-SETUP-TYPE
   TLV [I-D.ietf-pce-lsp-setup-type] in the SRP object to clearly
   identify the PCECC LSP is intended.

5.4.1.  Basic PCECC LSP Setup

   In order to setup a LSP based on PCECC mechanism, a PCC MUST delegate
   the LSP by sending a PCRpt message with Path Setup Type set for basic
   PCECC (see Section 7.2) and D (Delegate) flag (see [RFC8231]) set in
   the LSP object.

   LSP-IDENTIFIER TLV MAY be included for PCECC LSP, the LSP-ID SHOULD
   be generated by the PCE for PCECC LSP.  In the first PCRpt message of
   PCECC LSP, LSP ID of LSP-IDENTIFIER TLV is set to zero.

Zhao, et al.             Expires April 29, 2018                 [Page 7]
Internet-Draft                    PCECC                     October 2017

   When a PCE receives PCRpt message with D flags and PST Type set, it
   MAY generates LSP ID; calculates the path and assigns labels along
   the path; and setups the path by sending PCLabelUpd message to each
   node along the path of the LSP.

   In response to the delegate PCRpt message, the PCE SHOULD send the
   PCUpd message with the same PLSP-ID to the Ingress PCC.

   The PCECC LSPs MUST be delegated to a PCE at all times.

   LSP deletion operation for PCECC LSP is same as defined in [RFC8231].
   If the PCE receives PCRpt message for LSP deletion then it does Label
   cleanup operation as described in Section 5.4.2.2 for the
   corresponding LSP.

   The Basic PCECC LSP setup sequence is as shown below using a new
   message PCLabelUpd.

                  +-------+                             +-------+
                  |PCC    |                             |  PCE  |
                  |Ingress|                             +-------+
           +------|       |                                 |
           | PCC  +-------+                                 |
           | Transit| |                                     |
    +------|        | |-- PCRpt,PLSP-ID=1, PST=TBD, D=1---->| PCECC LSP
    |PCC   +--------+ |       (LSP ID=0)                    |(LSPID=1)
    |Egress  |  |     |                                     |
    +--------+  |     |                                     |
        |       |     |                                     |
        |<------ PCLabelUpd,PLSP-ID=1  -------------------- | Label
        |       |     |       (LSP ID=1)                    | download
        |       |     |                                     |
        |       |<----- PCLabelUpd,PLSP-ID=1  ------------- | Label
        |       |     |      (LSP ID=1)                     | download
        |       |     |                                     |
        |       |     |<--- PCLabelUpd,PLSP-ID=1  --------- | Label
        |       |     |      (LSP ID=1)                     | download
        |       |     |                                     |
        |       |     |<-- PCUpd,PLSP-ID=1,PST=TBD, D=1-----| PCECC LSP
        |       |     |      (LSP ID=1)                     | Update
        |       |     |                                     |

              Figure 2: Using PCLabelUpd For Label Operations

Zhao, et al.             Expires April 29, 2018                 [Page 8]
Internet-Draft                    PCECC                     October 2017

   The PCECC LSP are considered to be 'up' by default.  The Ingress MAY
   further choose to deploy a data plane check mechanism and report the
   status back to the PCE via PCRpt message.

5.4.2.  Label Operations

   The new label operations in PCEP can be done via a new PCLabelUpd
   message and by defining new PCEP Objects for Label operations.  Local
   label range of each PCC can be configured at PCE and PCE.

5.4.2.1.  Label Download

   In order to setup an LSP based on PCECC, the PCE sends a PCLabelUpd
   message to each node of the LSP to download the Label entry as
   described in Section 5.4.1.

   The LSP object in PCLabelUpd MUST include the LSP-IDENTIFIER TLV.

   If a node (PCC) receives a PCLabelUpd message with a Label, out of
   the range set aside for the PCE, it MUST send a PCErr message with
   Error-type=TBD (label download failure) and Error-value=TBD (Label
   out of range) and MUST include the SRP object to specify the error is
   for the corresponding label update.  If a PCC receives a PCLabelUpd
   message but failed to download the Label entry, it MUST send a PCErr
   message with Error-type=TBD (label download failure) and Error-
   value=TBD (label failed to be download)and MUST include the SRP
   object to specify the error is for the corresponding label update.

   New PCEP object for LABEL is defined in Section 7.3 to encode the
   Label operations.

5.4.2.2.  Label Cleanup

   In order to delete an LSP based on PCECC, the PCE sends a PCLabelUpd
   message to each node along the path of the LSP to cleanup the Label
   entry.

   If the PCC receives a PCLabelUpd message but does not recognize the
   label, the PCC MUST generate a PCErr message with Error-Type
   19(Invalid operation) and Error-Value=TBD, "Unknown Label" and MUST
   include the SRP object to specify the error is for the corresponding
   label cleanup.

   The R flag in SRP object defined in [I-D.ietf-pce-pce-initiated-lsp]
   specifies the deletion of Label Entry in the new PCLabelUpd message.

Zhao, et al.             Expires April 29, 2018                 [Page 9]
Internet-Draft                    PCECC                     October 2017

                  +-------+                              +-------+
                  |PCC    |                              |  PCE  |
                  |Ingress|                              +-------+
           +------|       |                                  |
           | PCC  +-------+                                  |
           | Transit| |                                      |
    +------|        | |-- PCRpt,PLSP-ID=1,PST=TBD,D=1,R=1--->| PCECC LSP
    |PCC   +--------+ |       (LSP ID=1)                     | remove
    |Egress  |  |     |                                      |
    +--------+  |     |                                      |
        |       |     |                                      |
        |<------ PCLabelUpd, PLSP-ID=1 --------------------- | Label
        |       |     |       (LSP ID=1, R=1)                | cleanup
        |       |     |                                      |
        |       |<----- PCLabelUpd, PLSP-ID=1 -------------- | Label
        |       |     |       (LSP ID=1, R=1)                | cleanup
        |       |     |                                      |
        |       |     |<--- PCLabelUpd, PLSP-ID=1 ---------- | Label
        |       |     |       (LSP ID=1, R=1)                | cleanup
        |       |     |                                      |

5.4.3.  PCE Initiated PCECC LSP

   The LSP Instantiation operation is same as defined in
   [I-D.ietf-pce-pce-initiated-lsp].

   In order to setup a PCE Initiated LSP based on PCECC mechanism, a PCE
   sends PCInitiate message with Path Setup Type set for basic PCECC
   (see Section 7.2) to the Ingress PCC.

   The Ingress PCC MUST also set D (Delegate) flag (see [RFC8231]) and C
   (Create) flag (see [I-D.ietf-pce-pce-initiated-lsp]) in LSP object of
   PCRpt message.  The PCC responds with first PCRpt message with the
   status as "GOING-UP" and assigned PLSP-ID.

   The rest of the PCECC LSP setup operations are same as those
   described in Section 5.4.1.

   The LSP deletion operation for PCE Initiated PCECC LSP is same as
   defined in [I-D.ietf-pce-pce-initiated-lsp].  The PCE should further
   perform Label entry cleanup operation as described in Section 5.4.2.2
   for the corresponding LSP.

   The PCE Initiated PCECC LSP setup sequence is shown below using a new
   PCLabelUpd message.

Zhao, et al.             Expires April 29, 2018                [Page 10]
Internet-Draft                    PCECC                     October 2017

                  +-------+                              +-------+
                  |PCC    |                              |  PCE  |
                  |Ingress|                              +-------+
           +------|       |                                  |
           | PCC  +-------+                                  |
           | Transit| |                                      |
    +------|        | |<--PCInitiate,PLSP-ID=0,PST=TBD,D=1---| PCECC LSP
    |PCC   +--------+ |                                      | Initiate
    |Egress  |  |     |--- PCRpt,PLSP-ID=2,P=1,D=1,C=1--->   | PCECC LSP
    +--------+  |     |       (LSP ID=0,GOING-UP)            |(LSPID=2
        |       |     |                                      | assigned)
        |<------ PCLabelUpd, PLSP-ID=2 --------------------- | Label
        |       |     |       (LSP ID=2)                     | download
        |       |     |                                      |
        |       |<----- PCLabelUpd, PLSP-ID=2 -------------- | Label
        |       |     |       (LSP ID=2)                     | download
        |       |     |                                      |
        |       |     |<--- PCLabelUpd, PLSP-ID=2 ---------- | Label
        |       |     |       (LSP ID=2)                     | download
        |       |     |                                      |
        |       |     |<-- PCUpd, PLSP-ID=2, PST=TBD, D=1--- | PCECC LSP
        |       |     |       (LSP ID=2)                     | Update
        |       |     |                                      |

5.4.4.  PCECC LSP Update

   Incase of a modification of PCECC LSP with a new path, a PCE sends a
   PCUpd message to the Ingress PCC.

   When a PCC receives a PCUpd message for an existing LSP, a PCC MAY
   follow the make-before-break procedure i.e. first download labels for
   the updated LSP and then switch traffic, before cleaning up the old
   labels.  On successful traffic switch over to the new LSP, PCC sends
   a PCRpt message to the PCE for the deletion of old LSP.  Further the
   PCE does cleanup operation for the old LSP as described in
   Section 5.4.2.2.

   The PCECC LSP Update and make-before-break sequence is shown below
   using a new PCLabelUpd message.

Zhao, et al.             Expires April 29, 2018                [Page 11]
Internet-Draft                    PCECC                     October 2017

                  +-------+                             +-------+
                  |PCC    |                             |  PCE  |
                  |Ingress|                             +-------+
           +------|       |                                 |
           | PCC  +-------+                                 |
           | Transit| |                                     |
    +------|        | |                                     |
    |PCC   +--------+ |                                     |
    |Egress  |  |     |                                     |
    +--------+  |     |                                     |
        |       |     |                                     | Modify LSP
        |<------ PCLabelUpd, PLSP-ID=1 -------------------  | (LSPID=3
        |       |     |       (LSP ID=3)                    | assigned)
        |       |     |                                     |
        |       |<----- PCLabelUpd, PLSP-ID=1-------------  | Label
        |       |     |      (LSP ID=3)                     | download
        |       |     |                                     |
        |       |     |<--- PCLabelUpd, PLSP-ID=1 --------  | Label
        |       |     |      (LSP ID=3)                     | download
        |       |     |                                     |
        |       |     |<-- PCUpd, PLSP-ID=1, PST=TBD, D=1-- | PCECC
        |       |     |       (LSP ID=3)                    | LSP Update
        |       |     |                                     |
        |       |     |-- PCRpt,PLSP-ID=1,PST=TBD,D=1,R=1-->| Delete
        |       |     |       (LSP ID=1)                    | old LSP
        |       |     |                                     |
        |<------ PCLabelUpd, PLSP-ID=1 -------------------  | Label
        |       |     |       (LSP ID=1, R=1)               | cleanup
        |       |     |                                     |
        |       |<----- PCLabelUpd, PLSP-ID=1 ------------  | Label
        |       |     |      (LSP ID=1, R=1)                | cleanup
        |       |     |                                     |
        |       |     |<--- PCLabelUpd, PLSP-ID=1 --------  | Label
        |       |     |      (LSP ID=1, R=1)                | cleanup

   The modified PCECC LSP are considered to be 'up' by default.  The
   Ingress MAY further choose to deploy a data plane check mechanism and
   report the status back to the PCE via PCRpt message.

5.4.5.  Session Termination

   PCC MUST mark all labels that were previously reported by this PCE as
   stale on session down.  [RFC8231] defines the State Timeout Interval.
   The labels which are marked stale and provisioned for the Basic PCECC
   LSP on this session MUST be cleaned up at the expiration of the State
   Timeout Interval.  The labels will be retained when the Infinite
   State Timeout Interval is used.

Zhao, et al.             Expires April 29, 2018                [Page 12]
Internet-Draft                    PCECC                     October 2017

5.4.6.  LABEL-DB Synchronization

   The purpose of LABEL-DB synchronization is to make sure that the
   PCE's view of LABEL-DB matches with the PCC's LABEL-DB.  The LABEL-
   DB synchronization MUST be performed from PCE to PCC immediately
   after the LSP state synchronization.  [RFC8231] describes the basic
   mechanism for LSP state synchronization.  [RFC8233] describes the
   optimizations for LSP state synchronization.

   LABEL-DB synchronization is a two phase procedure.  In first phase,
   immediately after the LSP state synchronization PCE MUST synchronize
   its LABEL-DB to PCC.  In second phase, PCC MUST report all the stale
   marked labels to PCE.

5.4.6.1.  LABEL-DB Synchronization procedure

   During LABEL-DB Synchronization, a PCE first takes a snapshot of the
   label database for the session, then sends this snapshot to the PCC
   in a sequence of Label Update message (PCLabelUpd message).  Each
   PCLabelUpd message sent during LABEL-DB Synchronization has the SYNC
   Flag in the SRP Object(see Section 7.4) set to 1.

   The end of synchronization marker is a PCLabelUpd message with the
   SYNC Flag set to 0 for SRP Object and Label equal to a reserved value
   of 0 in the LABEL object (Section 7.3).  If the PCE has no label to
   synchronize, it will only send the end of synchronization marker.

   PCC MUST remove the stale marking for the all labels on receipt of
   corresponding PCLabelUpd message during the LABEL-DB Synchronization
   phase.  The remaining stale marked labels after the LABEL-DB
   synchronization process MUST be reported to PCE in a sequence of
   Label Report message (PCLabelRpt message) with the SYNC Flag in the
   SRP Object(see Section 7.4) set to 1.

   The end of report synchronization marker is a PCLabelRpt message with
   the SYNC Flag set to 0 for SRP Object with Label equal to reserved
   value 0 in the LABEL object ((Section 7.3)).  If the PCC has no label
   to report, it will only send the end of report synchronization
   marker.

   Either the PCE or the PCC MAY terminate the session using the PCEP
   session termination procedures during the LABEL-DB synchronization
   phase.  The session reestablishment MUST be re-attempted as per the
   procedures defined in [RFC5440], including use of a back-off timer.

   The PCC does not send positive acknowledgments for properly received
   label database synchronization messages.  It MUST respond with a
   PCErr message with Error-type TBD1 (Label Database Synchronization

Zhao, et al.             Expires April 29, 2018                [Page 13]
Internet-Draft                    PCECC                     October 2017

   Error) and Error-value 1 (indicating an error in processing the
   PCLabelUpd) if it encounters a problem with the Label Update it
   received from the PCE and it MUST terminate the session.

   If the PCE encounters a problem which prevents it from completing the
   label transfer, it MUST send a PCErr message with Error-type TBD1
   (Label Database Synchronization Error) and Error-value 2 (indicating
   an internal PCE Error) to the PCC and terminate the session.

   PCE MUST respond with a PCErr message with Error-type TBD1 (Label
   Database Report Synchronization Error) and Error-value 1 (indicating
   an error in processing the PCLabelRpt) if it encounters a problem
   with the Label Report it received from the PCC and it MUST terminate
   the session.

   The successful LABEL-DB Synchronization sequence is shown below.

Zhao, et al.             Expires April 29, 2018                [Page 14]
Internet-Draft                    PCECC                     October 2017

         + +-+-+-+-                         + +-+-+-+-
         |        |                         |  PCC   |
         |  PCE   |                         | Transit|
         |        |                         |  Node  |
         +-+-+-+-+-                         +-+-+-+-+-
             |                                   |
             |                                   |
             |                .                  |
             |                .                  |
             |                                   |
             |------- PCLabelUpd, PLSP-ID=2----->|(Label
             |            (LSP ID=2)             | Download
             |                                   | for LSP's)
             |------- PCLabelUpd, PLSP-ID=3----->|
             |            (LSP ID=3)             |
             |                                   |
             |------- PCLabelUpd, PLSP-ID=4----->|
             |            (LSP ID=4)             |
             |                .                  |
             |                .                  |(Session
             |                                   | down, mark
             |------- Session Down---------X     | all label's
             |                                   | Stale of this
             |                .                  | Session)
             |                .                  |
             |<------ Session Re-established---->|(Session up)
             |                .                  |
             |                .                  |
             |<-----PCRpt, SYNC=0----------------| (No LSP to SYNC)
             |                                   |
             |----PCLabelUpd,PLSP-ID=2,SYNC=1--->|(LABEL-DB
             |----PCLabelUpd,PLSP-ID=3,SYNC=1--->| SYNC, unmark
             |                                   | stale label)
             |------PCLabelUpd, SYNC=0---------->|
             |                                   |(End of LABEL-DB
             |                                   | SYNC)
             |                                   |
             |<-----PCLabelRpt,PLSP-ID=4,SYNC=1--|(Report all stale
             |                                   | Labels of this
             |<-----PCLabelRpt,SYNC=0------------| Session)
             |                                   |
             |------- PCLabelUpd, PLSP-ID=4 ---->|Label Cleanup
             |        (LSP ID=4, R=1)            |
             |                                   |
             |                                   |

Zhao, et al.             Expires April 29, 2018                [Page 15]
Internet-Draft                    PCECC                     October 2017

   See [I-D.palle-pce-controller-labeldb-sync] for the optimizations for
   LABEL-DB synchronization procedure.

5.4.7.  PCECC LSP State Report

   As mentioned before, an Ingress PCC MAY choose to apply any OAM
   mechanism to check the status of LSP in the Data plane and MAY
   further send its status in PCRpt message to the PCE.

6.  PCEP messages

   As defined in [RFC5440], a PCEP message consists of a common header
   followed by a variable-length body made of a set of objects that can
   be either mandatory or optional.  An object is said to be mandatory
   in a PCEP message when the object must be included for the message to
   be considered valid.  For each PCEP message type, a set of rules is
   defined that specify the set of objects that the message can carry.
   An implementation MUST form the PCEP messages using the object
   ordering specified in this document.

   LSP-IDENTIFIERS TLV MAY be included in the LSP object for PCECC LSP.

6.1.  Label Operations

   [Editor's Note: This document defines new messages PCLabelUpd and
   PCLabelRpt.  Questions where raised on the need for the new messages.
   See Appendix A on how the existing messages can be extended to add
   this functionality.  WG needs to decide the final direction i.e. new
   specific messages are needed or existing PCEP messages can be
   extended.]

6.1.1.  The PCLabelUpd message

   A new Label Update Message (also referred to as PCLabelUpd) is a PCEP
   message sent by a PCE to a PCC to download label or update the label
   map.  The same message is also used to cleanup the Label entry.  The
   Message-Type field of the PCEP common header for the PCLabelUpd
   message is set to TBD.

   The format of the PCLabelUpd message is as follows:

Zhao, et al.             Expires April 29, 2018                [Page 16]
Internet-Draft                    PCECC                     October 2017

      <PCLabelUpd Message> ::= <Common Header>
                               <pce-label-update-list>
      Where:
      <pce-label-update-list> ::= <pce-label-update>
                         [<pce-label-update-list>]

      <pce-label-update> ::= <pce-label-download>

      Where:
      <pce-label-download> ::= <SRP>
                               <LSP>
                               <label-list>

      <label-list > ::=  <LABEL>
                        [<label-list>]

   The PCLabelUpd message is used to download label along the path of
   the LSP.

   The SRP object is defined in [RFC8231] and this document extends the
   use of SRP object in PCLabelUpd message.  The SRP object is mandatory
   and MUST be included in PCLabelUpd message.  If the SRP object is
   missing, the receiving PCC MUST send a PCErr message with Error-
   type=6 (Mandatory Object missing) and Error-value=10 (SRP object
   missing).

   The LSP object is defined in [RFC8231] and this document extends the
   use of LSP object in PCLabelUpd message.  LSP Identifiers TLV is
   defined in [RFC8231], it MAY be included in the LSP object in
   PCLabelUpd message.  Either LSP object or FEC object defined in
   [I-D.zhao-pce-pcep-extension-pce-controller-sr] is mandatory in
   PCLabelUpd message.

   The LABEL object is defined in Section 7.3.  The LABEL is the
   mandatory object and MUST be included in PCLabelUpd message.  If the
   LABEL object is missing, the receiving PCC MUST send a PCErr message
   with Error-type=6 (Mandatory Object missing) and Error-value=TBD
   (LABEL object missing).  More than one LABEL object MAY be included
   in the PCLabelUpd message for the transit LSR.

   To cleanup the SRP object must set the R (remove) bit.

6.1.2.  The PCLabelRpt message

   A new Label Report Message (also referred to as PCLabelRpt) is a PCEP
   message sent by a PCC to a PCE to report the label.  The Message-Type

Zhao, et al.             Expires April 29, 2018                [Page 17]
Internet-Draft                    PCECC                     October 2017

   field of the PCEP common header for the PCLabelRpt message is set to
   TBD.

   The format of the PCLabelRpt message is as follows:

      <PCLabelRpt Message> ::= <Common Header>
                               <pce-label-report-list>
      Where:
      <pce-label-report-list> ::= <pce-label-report>
                         [<pce-label-report-list>]

      <pce-label-report> ::= <pce-label-delegate>

      Where:
      <pce-label-delegate> ::= <SRP>
                               <LSP>
                               <label-list>

      <label-list > ::=  <LABEL>
                        [<label-list>]

   The SRP object is defined in [RFC8231] and this document extends the
   use of SRP object in PCLabelRpt message.  The SRP object is mandatory
   and MUST be included in PCLabelRpt message.  If the SRP object is
   missing, the receiving PCE MUST send a PCErr message with Error-
   type=6 (Mandatory Object missing) and Error-value=10 (SRP object
   missing).

   The LSP object is defined in [RFC8231] and this document extends the
   use of LSP object in PCLabelRpt message.  LSP Identifiers TLV is
   defined in [RFC8231], it MAY be included in the LSP object in
   PCLabelRpt message.  Either LSP object or FEC object defined in
   [I-D.zhao-pce-pcep-extension-pce-controller-sr] is mandatory in
   PCLabelRpt message.

   The LABEL object is defined in Section 7.3.  The LABEL is the
   mandatory object and MUST be included in PCLabelRpt message.  If the
   LABEL object is missing, the receiving PCE MUST send a PCErr message
   with Error-type=6 (Mandatory Object missing) and Error-value=TBD
   (LABEL object missing).  More than one LABEL object MAY be included
   in the PCLabelRpt message.

Zhao, et al.             Expires April 29, 2018                [Page 18]
Internet-Draft                    PCECC                     October 2017

6.1.3.  The PCInitiate message

   Message described in [I-D.ietf-pce-pce-initiated-lsp] continue to
   apply.

7.  PCEP Objects

   The PCEP objects defined in this document are compliant with the PCEP
   object format defined in [RFC5440].  The P flag and the I flag of the
   PCEP objects defined in this document MUST always be set to 0 on
   transmission and MUST be ignored on receipt since these flags are
   exclusively related to path computation requests.

7.1.  OPEN Object

   This document defines a new optional TLVs for use in the OPEN Object.

7.1.1.  PCECC Capability TLV

   The PCECC-CAPABILITY TLV is an optional TLV for use in the OPEN
   Object for PCECC capability advertisement.  Advertisement of the
   PCECC capability implies support of LSPs that are setup through PCECC
   as per PCEP extensions defined in this document.

   Its format is shown in the following figure:

       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=TBD      |            Length=4           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                             Flags                             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The type of the TLV is TBD and it has a fixed length of 4 octets.

   The value comprises a single field - Flags (32 bits).

   No flags are assigned right now.

   Unassigned bits are considered reserved.  They MUST be set to 0 on
   transmission and MUST be ignored on receipt.

Zhao, et al.             Expires April 29, 2018                [Page 19]
Internet-Draft                    PCECC                     October 2017

7.2.  PATH-SETUP-TYPE TLV

   The PATH-SETUP-TYPE TLV is defined in [I-D.ietf-pce-lsp-setup-type];
   this document defines a new PST value:

   o  PST = TBD: Path is setup via Basic PCECC mode.

   On a PCRpt/PCUpd/PCInitiate message, the PST=TBD in PATH-SETUP-TYPE
   TLV in SRP object indicates that this LSP was setup via a basic PCECC
   based mechanism.

7.3.  Label Object

   The LABEL Object is used to specify the Label information and MUST be
   carried within PCLabelUpd message.

   LABEL Object-Class is TBD.

   LABEL Object-Type is 1.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Reserved            |              Flags           |O|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Label                 |     Reserved          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                        Optional TLV                         //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The fields in the LABEL object are as follows:

   Flags:  is used to carry any additional information pertaining to the
      label.  Currently, the following flag bit is defined:

      *  O bit(Out-label) : If the bit is set, it specifies the label is
         the OUT label and it is mandatory to encode the nexthop
         information (via IPV4-ADDRESS TLV or IPV6-ADDRESS TLV or
         UNNUMBERED-IPV4-ID-ADDRESS TLV in LABEL object).  If the bit is
         not set, it specifies the label is the IN label and it is
         optional to encode the local interface information (via
         IPV4-ADDRESS TLV or IPV6-ADDRESS TLV or UNNUMBERED-IPV4-ID-
         ADDRESS TLV in LABEL object).

Zhao, et al.             Expires April 29, 2018                [Page 20]
Internet-Draft                    PCECC                     October 2017

   Label (20-bit):  The Label information encoded such that the 20
      rightmost bits represent a label.

   Reserved (12 bit):  Set to zero while sending, ignored on receive.

7.3.1.  Address TLVs

   This document defines the following TLV for the LABEL object to
   associate the nexthop information incase of an outgoing label and
   local interface information incase of an incoming label.

   IPV4-ADDRESS TLV:

    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=TBD          |  Length = 4                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        IPv4 address                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   IPV6-ADDRESS TLV:

    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=TBD          |   Length = 16                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                IPv6 address (16 bytes)                      //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   UNNUMBERED-IPV4-ID-ADDRESS TLV:

    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=TBD          |   Length = 8                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Node-ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Interface ID                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The address TLVs are as follows:

Zhao, et al.             Expires April 29, 2018                [Page 21]
Internet-Draft                    PCECC                     October 2017

   IPV4-ADDRESS TLV:  an IPv4 address.

   IPV6-ADDRESS TLV:  an IPv6 address.

   UNNUMBERED-IPV4-ID-ADDRESS TLV:  a pair of Node ID / Interface ID
      tuples.

7.4.  Extension of SRP object

   SRP object is defined in [RFC8231] and extended in
   [I-D.ietf-pce-pce-initiated-lsp].  This draft defines a new 'SYNC'
   flag (S bit) to specify the LABEL-DB synchronization operation.

   The format of the SRP object is shown Figure 12:

    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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         Flags                             |S|R|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                     SRP-ID-number                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     //                       Optional TLVs                         //
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Figure 12: SRP Object format

   S (SYNC - 1 bit):The S Flag MUST be set to 1 on each PCLabelUpd and
   PCLabelRpt sent from a PCE and PCC respectively during LABEL-DB
   Synchronization.  The S Flag MUST be set to 0 in other messages sent
   from the PCE and PCC.

8.  Security Considerations

   The security considerations described in [RFC8231] and
   [I-D.ietf-pce-pce-initiated-lsp] apply to the extensions described in
   this document.  Additional considerations related to a malicious PCE
   are introduced.

8.1.  Malicious PCE

   PCE has complete control over PCC to update the labels and can cause
   the LSP's to behave inappropriate and cause cause major impact to the
   network.  As a general precaution, it is RECOMMENDED that these PCEP

Zhao, et al.             Expires April 29, 2018                [Page 22]
Internet-Draft                    PCECC                     October 2017

   extensions only be activated on authenticated and encrypted sessions
   across PCEs and PCCs belonging to the same administrative authority,
   using Transport Layer Security (TLS) [RFC8253], as per the
   recommendations and best current practices in [RFC7525].

9.  Manageability Considerations

9.1.  Control of Function and Policy

   A PCE or PCC implementation SHOULD allow to configure to enable/
   disable PCECC capability as a global configuration.

9.2.  Information and Data Models

   [RFC7420] describes the PCEP MIB, this MIB can be extended to get the
   PCECC capability status.

   The PCEP YANG module [I-D.ietf-pce-pcep-yang] could be extended to
   enable/disable PCECC capability.

9.3.  Liveness Detection and Monitoring

   Mechanisms defined in this document do not imply any new liveness
   detection and monitoring requirements in addition to those already
   listed in [RFC5440].

9.4.  Verify Correct Operations

   Mechanisms defined in this document do not imply any new operation
   verification requirements in addition to those already listed in
   [RFC5440] and [RFC8231].

9.5.  Requirements On Other Protocols

   PCEP extensions defined in this document do not put new requirements
   on other protocols.

9.6.  Impact On Network Operations

   PCEP implementation SHOULD allow a limit to be placed on the rate of
   PCLabelUpd messages sent by PCE and processed by PCC.  It SHOULD also
   allow sending a notification when a rate threshold is reached.

10.  IANA Considerations

Zhao, et al.             Expires April 29, 2018                [Page 23]
Internet-Draft                    PCECC                     October 2017

10.1.  PCLabelUpd-PCLabelRpt message

   IANA is requested to allocate a new message type within the "PCEP
   Messages" sub-registry of the PCEP Numbers registry for:

            Value          Meaning               Reference
            TBD            Label Update          This document
            TBD            Label Report          This document

10.2.  PCEP TLV Type Indicators

   IANA is requested to confirm the early allocation of the following
   TLV Type Indicator values within the "PCEP TLV Type Indicators" sub-
   registry of the PCEP Numbers registry, and to update the reference in
   the registry to point to this document, when it is an RFC:

        Value          Meaning                        Reference
        TBD            PCECC-CAPABILITY               This document
        TBD            IPV4-ADDRESS TLV               This document
        TBD            IPV6-ADDRESS TLV               This document
        TBD            UNNUMBERED-IPV4-ID-ADDRESS TLV This document

10.3.  New Path Setup Type Registry

   IANA is requested to allocate new PST Field in PATH- SETUP-TYPE TLV.
   The allocation policy for this new registry should be by IETF
   Consensus.  The new registry should contain the following value:

         Value          Description                  Reference
         TBD            Traffic engineering path is  This document
                        setup using Basic PCECC mode

10.4.  PCEP Object

   IANA is requested to allocate new registry for LABEL PCEP object.

          Object-Class Value Name                  Reference
          TBD                LABEL Object-Type     This document
                             1

10.5.  LABEL Object Flag Field

   IANA is requestd to create a registry to manage the Flag field of the
   LABEL object.

   One bit to be defined for the LABEL Object flag field in this
   document:

Zhao, et al.             Expires April 29, 2018                [Page 24]
Internet-Draft                    PCECC                     October 2017

   Codespace of the Flag field (LABEL Object)

            Bit            Description           Reference
            7              Specifies label       This document
                           is out label

10.6.  SRP Object Flag Field

   SRP object is defined in [RFC8231] and extended in
   [I-D.ietf-pce-pce-initiated-lsp].  IANA is requested to allocate a
   new bit in SRP object flag.  Field registry, as follows:

            Bit            Description           Reference
            30             S(SYNC Flag)          This document

10.7.  PCEP-Error Object

   IANA is requested to allocate new error types and error values within
   the "PCEP-ERROR Object Error Types and Values" sub-registry of the
   PCEP Numbers registry for the following errors:

   Error-Type   Meaning
   ----------   -------
   19           Invalid operation.

                 Error-value = TBD :                 Attempted LSP
                                                     setup/download/
                                                     label-range
                                                     reservation if
                                                     PCECC capability
                                                     was not advertised
                 Error-value = TBD :                 Stateful PCE
                                                     capability was not
                                                     advertised
                 Error-value = TBD :                 Unknown Label
   6            Mandatory Object missing.

                 Error-value = TBD :                 LABEL object
                                                     missing
   TBD          Label download failure.

                 Error-value = TBD :                 Label out of range.
                 Error-value = TBD :                 Download of label
                                                     Failed.
   TBD          Label DB synchronization failed.

Zhao, et al.             Expires April 29, 2018                [Page 25]
Internet-Draft                    PCECC                     October 2017

                 Error-value = TBD :                 Processing label
                                                     update Failed
                                                     during
                                                     synchronization.
                 Error-value = TBD :                 Internal PCE Error
                                                     during
                                                     synchronization.

11.  Acknowledgments

   We would like to thank Robert Tao, Changjing Yan, Tieying Huang and
   Avantika for their useful comments and suggestions.

12.  References

12.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC5440]  Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
              Element (PCE) Communication Protocol (PCEP)", RFC 5440,
              DOI 10.17487/RFC5440, March 2009,
              <https://www.rfc-editor.org/info/rfc5440>.

   [RFC7420]  Koushik, A., Stephan, E., Zhao, Q., King, D., and J.
              Hardwick, "Path Computation Element Communication Protocol
              (PCEP) Management Information Base (MIB) Module",
              RFC 7420, DOI 10.17487/RFC7420, December 2014,
              <https://www.rfc-editor.org/info/rfc7420>.

   [RFC7525]  Sheffer, Y., Holz, R., and P. Saint-Andre,
              "Recommendations for Secure Use of Transport Layer
              Security (TLS) and Datagram Transport Layer Security
              (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May
              2015, <https://www.rfc-editor.org/info/rfc7525>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8231]  Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path
              Computation Element Communication Protocol (PCEP)
              Extensions for Stateful PCE", RFC 8231,
              DOI 10.17487/RFC8231, September 2017,
              <https://www.rfc-editor.org/info/rfc8231>.

Zhao, et al.             Expires April 29, 2018                [Page 26]
Internet-Draft                    PCECC                     October 2017

   [RFC8233]  Dhody, D., Wu, Q., Manral, V., Ali, Z., and K. Kumaki,
              "Extensions to the Path Computation Element Communication
              Protocol (PCEP) to Compute Service-Aware Label Switched
              Paths (LSPs)", RFC 8233, DOI 10.17487/RFC8233, September
              2017, <https://www.rfc-editor.org/info/rfc8233>.

   [I-D.ietf-pce-pce-initiated-lsp]
              Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP
              Extensions for PCE-initiated LSP Setup in a Stateful PCE
              Model", draft-ietf-pce-pce-initiated-lsp-11 (work in
              progress), October 2017.

12.2.  Informative References

   [RFC8253]  Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody,
              "PCEPS: Usage of TLS to Provide a Secure Transport for the
              Path Computation Element Communication Protocol (PCEP)",
              RFC 8253, DOI 10.17487/RFC8253, October 2017,
              <https://www.rfc-editor.org/info/rfc8253>.

   [I-D.ietf-teas-pce-central-control]
              Farrel, A., Zhao, Q., Li, Z., and C. Zhou, "An
              Architecture for Use of PCE and PCEP in a Network with
              Central Control", draft-ietf-teas-pce-central-control-05
              (work in progress), September 2017.

   [I-D.ietf-teas-pcecc-use-cases]
              Zhao, Q., Li, Z., Khasanov, B., Ke, Z., Fang, L., Zhou,
              C., Communications, T., and A. Rachitskiy, "The Use Cases
              for Using PCE as the Central Controller(PCECC) of LSPs",
              draft-ietf-teas-pcecc-use-cases-01 (work in progress), May
              2017.

   [I-D.ietf-pce-lsp-setup-type]
              Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J.
              Hardwick, "Conveying path setup type in PCEP messages",
              draft-ietf-pce-lsp-setup-type-04 (work in progress), April
              2017.

   [I-D.ietf-pce-pcep-yang]
              Dhody, D., Hardwick, J., Beeram, V., and j.
              jefftant@gmail.com, "A YANG Data Model for Path
              Computation Element Communications Protocol (PCEP)",
              draft-ietf-pce-pcep-yang-05 (work in progress), June 2017.

Zhao, et al.             Expires April 29, 2018                [Page 27]
Internet-Draft                    PCECC                     October 2017

   [I-D.zhao-pce-pcep-extension-pce-controller-sr]
              Zhao, Q., Li, Z., Dhody, D., Karunanithi, S., Farrel, A.,
              and C. Zhou, "PCEP Procedures and Protocol Extensions for
              Using PCE as a Central Controller (PCECC) of SR-LSPs",
              draft-zhao-pce-pcep-extension-pce-controller-sr-00 (work
              in progress), June 2017.

   [I-D.palle-pce-controller-labeldb-sync]
              Palle, U., Dhody, D., and S. Karunanithi, "LABEL-DB
              Synchronization Procedures for a PCE as a central
              controller(PCECC)", draft-palle-pce-controller-labeldb-
              sync-01 (work in progress), June 2017.

Zhao, et al.             Expires April 29, 2018                [Page 28]
Internet-Draft                    PCECC                     October 2017

Appendix A.  Using existing PCEP message

   This is a temporary section added to this document, till the time a
   decision on the use of new messages v/s extending existing message is
   resolved.  This section should be removed before the final
   publication of the document.

   The PCInitiate message can be used to download or remove the labels -

        <PCInitiate Message> ::= <Common Header>
                                 <PCE-initiated-lsp-list>
     Where:
        <Common Header> is defined in [RFC5440]

        <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-label-download>)

        <PCE-initiated-lsp-label-download> ::= <SRP>
                                               <LSP>
                                               <label-list>

        <label-list> ::=  <LABEL>
                          [<label-list>]

     Where:
        <PCE-initiated-lsp-instantiation> and
        <PCE-initiated-lsp-deletion> are as per
         [I-D.ietf-pce-pce-initiated-lsp].

        The LSP and SRP object is defined in [RFC8231].

   The PCRpt message can be used to report the labels that were
   allocated by the PCE, to be used during the state synchronization
   phase.

Zhao, et al.             Expires April 29, 2018                [Page 29]
Internet-Draft                    PCECC                     October 2017

         <PCRpt Message> ::= <Common Header>
                             <state-report-list>
      Where:

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

         <state-report> ::= (<lsp-state-report>|
                             <pce-label-report>)

         <lsp-state-report> ::= [<SRP>]
                                <LSP>
                                <path>

         <pce-label-report> ::= <pce-label-delegate>

         <pce-label-delegate> ::= <SRP>
                                  <LSP>
                                  <label-list>

         <label-list> ::=  <LABEL>
                           [<label-list>]

       Where:
         <path> is as per [RFC8231] and the LSP and SRP object are
         also defined in [RFC8231].

   The procedure for LSP-DB synchronization would also change, in-case
   we use the existing message.  It will be the PCCs that would first
   report all the labels downloaded by the PCE during the state
   synchronization from PCC towards PCE, and then in case of any
   discrepancies PCE would use the PCInitiate message to add/remove
   labels.

Appendix B.  Contributor Addresses

Zhao, et al.             Expires April 29, 2018                [Page 30]
Internet-Draft                    PCECC                     October 2017

   Udayasree Palle
   Huawei Technologies
   Divyashree Techno Park, Whitefield
   Bangalore, Karnataka  560066
   India

   EMail: udayasreereddy@gmail.com

   Katherine Zhao
   Huawei Technologies
   2330 Central Expressway
   Santa Clara, CA  95050
   USA

   EMail: katherine.zhao@huawei.com

   Boris Zhang
   Telus Ltd.
   Toronto
   Canada

   EMail: boris.zhang@telus.com

Authors' Addresses

   Quintin Zhao
   Huawei Technologies
   125 Nagog Technology Park
   Acton, MA  01719
   USA

   EMail: quintin.zhao@huawei.com

   Zhenbin Li
   Huawei Technologies
   Huawei Bld., No.156 Beiqing Rd.
   Beijing    100095
   China

   EMail: lizhenbin@huawei.com

Zhao, et al.             Expires April 29, 2018                [Page 31]
Internet-Draft                    PCECC                     October 2017

   Dhruv Dhody
   Huawei Technologies
   Divyashree Techno Park, Whitefield
   Bangalore, Karnataka  560066
   India

   EMail: dhruv.ietf@gmail.com

   Satish Karunanithi
   Huawei Technologies
   Divyashree Techno Park, Whitefield
   Bangalore, Karnataka  560066
   India

   EMail: satishk@huawei.com

   Adrian Farrel
   Juniper Networks, Inc
   UK

   EMail: adrian@olddog.co.uk

   Chao Zhou
   Cisco Systems

   EMail: choa.zhou@cisco.com

Zhao, et al.             Expires April 29, 2018                [Page 32]