PCE Working Group Q. Zhao
Internet-Draft Z. Li
Intended status: Standards Track D. Dhody
Expires: September 5, 2018 S. Karunanithi
Huawei Technologies
A. Farrel
Juniper Networks, Inc
C. Zhou
Cisco Systems
March 4, 2018
PCEP Procedures and Protocol Extensions for Using PCE as a Central
Controller (PCECC) of LSPs
draft-zhao-pce-pcep-extension-for-pce-controller-07
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 September 5, 2018.
Zhao, et al. Expires September 5, 2018 [Page 1]
Internet-Draft PCECC March 2018
Copyright Notice
Copyright (c) 2018 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 . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Basic PCECC Mode . . . . . . . . . . . . . . . . . . . . . . 5
4. PCEP Requirements . . . . . . . . . . . . . . . . . . . . . . 5
5. Procedures for Using the PCE as the Central Controller
(PCECC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Stateful PCE Model . . . . . . . . . . . . . . . . . . . 6
5.2. New LSP Functions . . . . . . . . . . . . . . . . . . . . 6
5.3. PCECC Capability Advertisement . . . . . . . . . . . . . 7
5.4. LSP Operations . . . . . . . . . . . . . . . . . . . . . 8
5.4.1. Basic PCECC LSP Setup . . . . . . . . . . . . . . . . 8
5.4.2. Label Operations . . . . . . . . . . . . . . . . . . 9
5.4.2.1. Label Download . . . . . . . . . . . . . . . . . 10
5.4.2.2. Label Cleanup . . . . . . . . . . . . . . . . . . 10
5.4.3. PCE Initiated PCECC LSP . . . . . . . . . . . . . . . 11
5.4.4. PCECC LSP Update . . . . . . . . . . . . . . . . . . 12
5.4.5. Session Termination . . . . . . . . . . . . . . . . . 13
5.4.6. LABEL-DB Synchronization . . . . . . . . . . . . . . 14
5.4.6.1. LABEL-DB Synchronization procedure . . . . . . . 14
5.4.7. PCECC LSP State Report . . . . . . . . . . . . . . . 17
6. PCEP messages . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1. Label Operations . . . . . . . . . . . . . . . . . . . . 17
6.1.1. The PCLabelUpd message . . . . . . . . . . . . . . . 17
6.1.2. The PCLabelRpt message . . . . . . . . . . . . . . . 18
6.1.3. The PCInitiate message . . . . . . . . . . . . . . . 20
7. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . . . 20
7.1. OPEN Object . . . . . . . . . . . . . . . . . . . . . . . 20
7.1.1. PCECC Capability sub-TLV . . . . . . . . . . . . . . 20
7.2. PATH-SETUP-TYPE TLV . . . . . . . . . . . . . . . . . . . 21
7.3. Label Object . . . . . . . . . . . . . . . . . . . . . . 21
Zhao, et al. Expires September 5, 2018 [Page 2]
Internet-Draft PCECC March 2018
7.3.1. Address TLVs . . . . . . . . . . . . . . . . . . . . 22
7.4. Extension of SRP object . . . . . . . . . . . . . . . . . 23
8. Security Considerations . . . . . . . . . . . . . . . . . . . 23
8.1. Malicious PCE . . . . . . . . . . . . . . . . . . . . . . 23
9. Manageability Considerations . . . . . . . . . . . . . . . . 24
9.1. Control of Function and Policy . . . . . . . . . . . . . 24
9.2. Information and Data Models . . . . . . . . . . . . . . . 24
9.3. Liveness Detection and Monitoring . . . . . . . . . . . . 24
9.4. Verify Correct Operations . . . . . . . . . . . . . . . . 24
9.5. Requirements On Other Protocols . . . . . . . . . . . . . 24
9.6. Impact On Network Operations . . . . . . . . . . . . . . 24
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24
10.1. PCLabelUpd-PCLabelRpt message . . . . . . . . . . . . . 25
10.2. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 25
10.3. New Path Setup Type Registry . . . . . . . . . . . . . . 25
10.4. PCEP Object . . . . . . . . . . . . . . . . . . . . . . 25
10.5. LABEL Object Flag Field . . . . . . . . . . . . . . . . 25
10.6. SRP Object Flag Field . . . . . . . . . . . . . . . . . 26
10.7. PCEP-Error Object . . . . . . . . . . . . . . . . . . . 26
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 27
12.1. Normative References . . . . . . . . . . . . . . . . . . 27
12.2. Informative References . . . . . . . . . . . . . . . . . 28
Appendix A. Using existing PCEP message . . . . . . . . . . . . 30
Appendix B. Contributor Addresses . . . . . . . . . . . . . . . 31
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32
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 September 5, 2018 [Page 3]
Internet-Draft PCECC March 2018
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.
[RFC8281] 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.
[RFC8283] introduces the architecture for PCE as a central
controller, examines the motivations and applicability for PCEP as a
Southbound Interface (SBI), 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].
[Important Note - Note that this document achieves this by defining a
new PCEP message. The authors and WG also debated on the use of
existing PCEP messages. Section 5 defines the first approach where
as Appendix A defines the latter. The authors are open to either of
the approach and will follow the direction of the WG.]
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.
Zhao, et al. Expires September 5, 2018 [Page 4]
Internet-Draft PCECC March 2018
2. Terminology
Terminologies used in this document is same as described in the draft
[RFC8283] and [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
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
[RFC8283]. For the purpose of this document, it is assumed that
label range to be used by a PCE is known and 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 extentions 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.
Zhao, et al. Expires September 5, 2018 [Page 5]
Internet-Draft PCECC March 2018
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:
(PCRpt): a PCEP message described in [RFC8231]. PCRpt message is
used to send PCECC LSP Reports.
(PCInitiate): a PCEP message described in [RFC8281]. 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. The authors and WG also debated on the use of existing
PCEP 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.
Zhao, et al. Expires September 5, 2018 [Page 6]
Internet-Draft PCECC March 2018
+----------------------------------------+--------------------------+
| Function | Message |
+----------------------------------------+--------------------------+
| PCECC Capability advertisement | Open |
| Label entry Update | PCLabelUpd |
| | (or PCInitiate) |
| Label entry Cleanup | PCLabelUpd |
| | (or PCInitiate) |
| PCECC Initiated LSP | PCInitiate |
| PCECC LSP Update | PCUpd |
| PCECC LSP State Report | PCRpt |
| PCECC LSP Delegation | PCRpt |
| PCECC Label Report | PCLabelRpt |
| | (or PCRpt) |
+----------------------------------------+--------------------------+
5.3. PCECC Capability Advertisement
During PCEP Initialization Phase, PCEP Speakers (PCE or PCC)
advertise their support of PCECC extensions.
This document defines a new Path Setup Type (PST)
[I-D.ietf-pce-lsp-setup-type] for PCECC, as follows:
o PST = TBD: Path is setup via PCECC mode.
A PCEP speaker SHOULD indicate its support of the function described
in this document by sending a PATH-SETUP-TYPE-CAPABILITY TLV in the
OPEN object with this new PST included in the PST list.
This document also defines the PCECC Capability sub-TLV
Section 7.1.1. PCEP speakers use this sub-TLV to exchange
information about their PCECC capability. If a PCEP speaker includes
PST=TBD in the PST List of the PATH-SETUP-TYPE-CAPABILITY TLV then it
MUST also include the PCECC Capability sub-TLV inside the PATH-SETUP-
TYPE-CAPABILITY TLV.
The presence of the PST and PCECC Capability sub-TLV in PCC's OPEN
Object indicates that the PCC is willing to function as a PCECC
client.
The presence of the PST and PCECC Capability sub-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 PST or the PCECC Capability
Zhao, et al. Expires September 5, 2018 [Page 7]
Internet-Draft PCECC March 2018
sub-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 sub-TLV and
STATEFUL-PCE-CAPABILITY TLV ([RFC8231]) in OPEN Object to support the
extensions defined in this document. If PCECC-CAPABILITY sub-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 PST set for PCECC (see
Section 7.2) and D (Delegate) flag (see [RFC8231]) set in the LSP
object.
LSP-IDENTIFIER TLV MUST be included for PCECC LSP, the LSP-ID MAY be
generated by the PCE for PCECC LSP, in that case the first PCRpt
message of PCECC LSP, LSP-ID of LSP-IDENTIFIER TLV is set to zero.
The LSP-ID is further used during label download and this
relationship is useful for maintainability reasons.
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 set up the path by sending PCLabelUpd message to each
node along the path of the LSP. [Note: See Appendix A for how we
could use PCInitiate message instead.]
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
Zhao, et al. Expires September 5, 2018 [Page 8]
Internet-Draft PCECC March 2018
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
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. [Note: See
Appendix A for how we could use PCInitiate message instead.]
Zhao, et al. Expires September 5, 2018 [Page 9]
Internet-Draft PCECC March 2018
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. [Note: See Appendix A for how we could
use PCInitiate message instead.]
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. [Note: See Appendix A for how we could use PCInitiate message
instead.]
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 [RFC8281] specifies the deletion
of Label Entry in the new PCLabelUpd message.
Zhao, et al. Expires September 5, 2018 [Page 10]
Internet-Draft PCECC March 2018
+-------+ +-------+
|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 [RFC8281].
In order to setup a PCE Initiated LSP based on PCECC mechanism, a PCE
sends PCInitiate message with Path Setup Type set for 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 [RFC8281]) 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 [RFC8281]. 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 September 5, 2018 [Page 11]
Internet-Draft PCECC March 2018
+-------+ +-------+
|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
| | | |
[Note: See Appendix A for how we could use PCInitiate message instead
of PCLabelUpd message.]
5.4.4. PCECC LSP Update
In case 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 MUST
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 September 5, 2018 [Page 12]
Internet-Draft PCECC March 2018
+-------+ +-------+
|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.
[Note: We could use PCInitiate message instead of PCLabelUpd message,
See Appendix A]
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
Zhao, et al. Expires September 5, 2018 [Page 13]
Internet-Draft PCECC March 2018
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.
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 the PCE.
[Note: This section currently describe procedure based on new
messages, suitable modification can be made if existing message are
used instead Appendix A. In the case, some modifications needs to be
made to the existing LSP-DB synchronization mechanism to also handle
the label synchronization.]
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
Zhao, et al. Expires September 5, 2018 [Page 14]
Internet-Draft PCECC March 2018
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
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 September 5, 2018 [Page 15]
Internet-Draft PCECC March 2018
+ +-+-+-+- + +-+-+-+-
| | | 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 September 5, 2018 [Page 16]
Internet-Draft PCECC March 2018
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 MUST be included in the LSP object for PCECC LSP.
6.1. Label Operations
[Editor's Note: This document defines new messages PCLabelUpd and
PCLabelRpt. The authors and WG also debated on the use of existing
PCEP 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 September 5, 2018 [Page 17]
Internet-Draft PCECC March 2018
<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 September 5, 2018 [Page 18]
Internet-Draft PCECC March 2018
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 September 5, 2018 [Page 19]
Internet-Draft PCECC March 2018
6.1.3. The PCInitiate message
Message described in [RFC8281] 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 sub-TLV
The PCECC-CAPABILITY sub-TLV is an optional TLV for use in the OPEN
Object for PCECC capability advertisement in PATH-SETUP-TYPE-
CAPABILITY TLV. 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 September 5, 2018 [Page 20]
Internet-Draft PCECC March 2018
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 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 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 next-hop
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 September 5, 2018 [Page 21]
Internet-Draft PCECC March 2018
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 next-hop information in case of an outgoing label and
local interface information in case 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 September 5, 2018 [Page 22]
Internet-Draft PCECC March 2018
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 [RFC8281]. 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 [RFC8281]
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
extensions only be activated on authenticated and encrypted sessions
Zhao, et al. Expires September 5, 2018 [Page 23]
Internet-Draft PCECC March 2018
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 September 5, 2018 [Page 24]
Internet-Draft PCECC March 2018
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 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 September 5, 2018 [Page 25]
Internet-Draft PCECC March 2018
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 [RFC8281]. 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 September 5, 2018 [Page 26]
Internet-Draft PCECC March 2018
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 September 5, 2018 [Page 27]
Internet-Draft PCECC March 2018
[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>.
[RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path
Computation Element Communication Protocol (PCEP)
Extensions for PCE-Initiated LSP Setup in a Stateful PCE
Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
<https://www.rfc-editor.org/info/rfc8281>.
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>.
[RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An
Architecture for Use of PCE and the PCE Communication
Protocol (PCEP) in a Network with Central Control",
RFC 8283, DOI 10.17487/RFC8283, December 2017,
<https://www.rfc-editor.org/info/rfc8283>.
[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-08 (work in progress),
January 2018.
[I-D.ietf-pce-pcep-yang]
Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A
YANG Data Model for Path Computation Element
Communications Protocol (PCEP)", draft-ietf-pce-pcep-
yang-06 (work in progress), January 2018.
Zhao, et al. Expires September 5, 2018 [Page 28]
Internet-Draft PCECC March 2018
[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-01 (work
in progress), October 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-02 (work in progress), October 2017.
Zhao, et al. Expires September 5, 2018 [Page 29]
Internet-Draft PCECC March 2018
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
[RFC8281].
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 September 5, 2018 [Page 30]
Internet-Draft PCECC March 2018
<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 September 5, 2018 [Page 31]
Internet-Draft PCECC March 2018
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 September 5, 2018 [Page 32]
Internet-Draft PCECC March 2018
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 September 5, 2018 [Page 33]