Network Working Group C. Margaria, Ed.
Internet-Draft Juniper
Intended status: Standards Track O. Gonzalez de Dios, Ed.
Expires: March 31, 2019 Telefonica Investigacion y Desarrollo
F. Zhang, Ed.
Huawei Technologies
September 27, 2018
PCEP extensions for GMPLS
draft-ietf-pce-gmpls-pcep-extensions-12
Abstract
This memo provides extensions to the Path Computation Element
communication Protocol (PCEP) for the support of GMPLS control plane.
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 March 31, 2019.
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.
Margaria, et al. Expires March 31, 2019 [Page 1]
Internet-Draft PCEP Ext for GMPLS September 2018
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Contributing Authors . . . . . . . . . . . . . . . . . . 3
1.2. PCEP Requirements for GMPLS . . . . . . . . . . . . . . . 3
1.3. Current GMPLS Support and Limitation of Base PCEP Objects 4
1.4. Requirements Language . . . . . . . . . . . . . . . . . . 5
2. PCEP Objects and Extensions . . . . . . . . . . . . . . . . . 6
2.1. GMPLS Capability Advertisement . . . . . . . . . . . . . 6
2.1.1. GMPLS Computation TLV in the Existing PCE Discovery
Protocol . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2. OPEN Object Extension GMPLS-CAPABILITY TLV . . . . . 6
2.2. RP Object Extension . . . . . . . . . . . . . . . . . . . 7
2.3. BANDWIDTH Object Extensions . . . . . . . . . . . . . . . 7
2.4. LOAD-BALANCING Object Extensions . . . . . . . . . . . . 10
2.5. END-POINTS Object Extensions . . . . . . . . . . . . . . 11
2.5.1. Generalized Endpoint Object Type . . . . . . . . . . 12
2.5.2. END-POINTS TLV Extensions . . . . . . . . . . . . . . 15
2.6. IRO Extension . . . . . . . . . . . . . . . . . . . . . . 18
2.7. XRO Extension . . . . . . . . . . . . . . . . . . . . . . 18
2.8. LSPA Extensions . . . . . . . . . . . . . . . . . . . . . 20
2.9. NO-PATH Object Extension . . . . . . . . . . . . . . . . 20
2.9.1. Extensions to NO-PATH-VECTOR TLV . . . . . . . . . . 21
3. Additional Error-Types and Error-Values Defined . . . . . . . 21
4. Manageability Considerations . . . . . . . . . . . . . . . . 23
4.1. Control of Function through Configuration and Policy . . 23
4.2. Information and Data Models . . . . . . . . . . . . . . . 23
4.3. Liveness Detection and Monitoring . . . . . . . . . . . . 23
4.4. Verifying Correct Operation . . . . . . . . . . . . . . . 24
4.5. Requirements on Other Protocols and Functional Components 24
4.6. Impact on Network Operation . . . . . . . . . . . . . . . 24
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24
5.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 24
5.2. END-POINTS Object, Object Type Generalized Endpoint . . . 25
5.3. New PCEP TLVs . . . . . . . . . . . . . . . . . . . . . . 26
5.4. RP Object Flag Field . . . . . . . . . . . . . . . . . . 26
5.5. New PCEP Error Codes . . . . . . . . . . . . . . . . . . 27
5.6. New NO-PATH-VECTOR TLV Fields . . . . . . . . . . . . . . 28
5.7. New Subobject for the Include Route Object . . . . . . . 28
5.8. New Subobject for the Exclude Route Object . . . . . . . 28
6. Security Considerations . . . . . . . . . . . . . . . . . . . 29
7. Contributing Authors . . . . . . . . . . . . . . . . . . . . 30
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 31
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.1. Normative References . . . . . . . . . . . . . . . . . . 32
9.2. Informative References . . . . . . . . . . . . . . . . . 35
Appendix A. LOAD-BALANCING Usage for SDH Virtual Concatenation . 35
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36
Margaria, et al. Expires March 31, 2019 [Page 2]
Internet-Draft PCEP Ext for GMPLS September 2018
1. Introduction
Although [RFC4655] defines the PCE architecture and framework for
both MPLS and GMPLS networks, most preexisting PCEP RFCs [RFC5440],
[RFC5521], [RFC5541], [RFC5520] are focused on MPLS networks, and do
not cover the wide range of GMPLS networks. This document
complements these RFCs by addressing the extensions required for
GMPLS applications and routing requests, for example for OTN and WSON
networks.
The functional requirements to be considered by the PCEP extensions
to support those application are described in [RFC7025] and
[RFC7449].
1.1. Contributing Authors
Elie Sfeir, Franz Rambach (Nokia Siemens Networks) Francisco Javier
Jimenez Chico (Telefonica Investigacion y Desarrollo) Suresh BR,
Young Lee, SenthilKumar S, Jun Sun (Huawei Technologies), Ramon
Casellas (CTTC)
1.2. PCEP Requirements for GMPLS
The document [RFC7025] describes the set of PCEP requirements to
support GMPLS TE-LSPs. When a PCC requests a PCE to perform a path
computation (by means of a PCReq message), the PCC should be able to
indicate the following additional information:
o Which data flow is switched by the LSP: a combination of Switching
type (for instance L2SC or TDM), LSP Encoding type (e.g.,
Ethernet, SONET/SDH) and sometimes the Signal Type (e.g. in case
of TDM/LSC switching capability)
o Data flow specific traffic parameters, which are technology
specific. For instance, in SDH/SONET and G.709 OTN networks the
Concatenation Type and the Concatenation Number have an influence
on the switched data and on which link it can be supported
o Support for asymmetric bandwidth requests.
o Support for unnumbered interface identifiers, as defined in
[RFC3477]
o Label information and technology specific label(s) such as
wavelength labels as defined in [RFC6205]. A PCC should also be
able to specify a Label restriction similar to the one supported
by RSVP-TE (Resource Reservation Protocol - Traffic Engineering).
Margaria, et al. Expires March 31, 2019 [Page 3]
Internet-Draft PCEP Ext for GMPLS September 2018
o Ability to indicate the requested granularity for the path ERO:
node, link or label. This is to allow the use of the explicit
label control feature of RSVP-TE.
We describe in this document a set of PCEP protocol extensions,
including new object types, TLVs, encodings, error codes and
procedures, in order to fulfill the aforementioned requirements.
1.3. Current GMPLS Support and Limitation of Base PCEP Objects
PCEP as of [RFC5440], [RFC5521] and [RFC8282], supports the following
objects, included in requests and responses related to the described
requirements.
From [RFC5440]:
o END-POINTS: only numbered endpoints are considered. The context
specifies whether they are node identifiers or numbered
interfaces.
o BANDWIDTH: the data rate is encoded in the bandwidth object (as
IEEE 32 bit float). [RFC5440] does not include the ability to
convey an encoding proper to all GMPLS-controlled networks.
o ERO: Unnumbered IDs are supported.
o LSPA: LSP attributes (setup and holding priorities)
From [RFC5521]:
o XRO object:
* This object allows excluding (strict or not) resources, and
includes the requested diversity (node, link or SRLG).
* When the F bit is set, the request indicates that the existing
path has failed and the resources present in the RRO can be
reused.
From [RFC8282]:
o INTER-LAYER: indicates whether inter-layer computation is allowed
o SWITCH-LAYER: indicates which layer(s) should be considered, can
be used to represent the RSVP-TE generalized label request
o REQ-ADAP-CAP: indicates the adaptation capabilities requested, can
also be used for the endpoints in case of mono-layer computation
Margaria, et al. Expires March 31, 2019 [Page 4]
Internet-Draft PCEP Ext for GMPLS September 2018
The shortcomings of the base PCEP object are:
The BANDWIDTH and LOAD-BALANCING objects do not describe the
details of the traffic request (for example NVC, multiplier) in
the context of GMPLS networks, for instance TDM or OTN networks.
The END-POINTS object does not allow specifying an unnumbered
interface, nor potential label restrictions on the interface.
Those parameters are of interest in case of switching constraints.
The Inclue/eXclude Route Objects (IRO/XRO) do not allow the
inclusion/exclusion of labels.
Base attributes do not allow expressing the requested link protection
level and/or the end-to-end protection attributes.
The covered PCEP extensions are:
Two new object types are introduced for the BANDWIDTH
object(Generalized bandwidth, Generalized bandwidth of existing
TE-LSP for which a reoptimization is requested for which a
reoptimization is requested).
A new object type is introduced for the LOAD-BALANCING object
(Generalized Load Balancing).
A new object type is introduced for the END-POINTS object
(Generalized Endpoint).
A new TLV is added to the OPEN message for capability negotiation.
A new TLV is added to the LSPA object.
A new TLV type for label is allowed in IRO and XRO objects.
In order to indicate the used routing granularity in the response,
a new flag in the RP object is added.
1.4. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
Margaria, et al. Expires March 31, 2019 [Page 5]
Internet-Draft PCEP Ext for GMPLS September 2018
2. PCEP Objects and Extensions
This section describes the necessary PCEP objects and extensions.
The PCReq and PCRep messages are defined in [RFC5440]. This document
does not change the existing grammars
2.1. GMPLS Capability Advertisement
2.1.1. GMPLS Computation TLV in the Existing PCE Discovery Protocol
IGP-based PCE Discovery (PCED) is defined in [RFC5088] and [RFC5089]
for the OSPF and IS-IS protocols. Those documents have defined bit 0
in PCE-CAP-FLAGS Sub-TLV of the PCED TLV as "Path computation with
GMPLS link constraints". This capability can be used to detect
GMPLS-capable PCEs.
2.1.2. OPEN Object Extension GMPLS-CAPABILITY TLV
In addition to the IGP advertisement, a PCEP speaker SHOULD be able
to discover the other peer GMPLS capabilities during the Open message
exchange. This capability is also useful to avoid misconfigurations.
This document defines a new OPTIONAL GMPLS-CAPABILITY TLV for use in
the OPEN object to negotiate the GMPLS capability. The inclusion of
this TLV in the OPEN message indicates that the PCC/PCE support the
PCEP extensions defined in the document. A PCE that is able to
support the GMPLS extensions defined in this document SHOULD include
the GMPLS-CAPABILITY TLV on the OPEN message. If the PCE does not
include the GMPLS-CAPABILITY TLV in the OPEN message and PCC does
include the TLV, it is RECOMMENDED that the PCC indicates a mismatch
of capabilities. Moreover, in case that the PCC does not receive the
GMPLS-CAPABILITY TLV it is RECOMMENDED that the PCC does not make use
of the objects and TLVs defined in this document.
IANA has allocated value TBA-1 from the "PCEP TLV Type Indicators"
sub-registry, as documented in Section 5.3 ("New PCEP TLVs"). The
description is "GMPLS-CAPABILITY". 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=14 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
No Flags are defined in this document, they are reserved for future
use.
Margaria, et al. Expires March 31, 2019 [Page 6]
Internet-Draft PCEP Ext for GMPLS September 2018
2.2. RP Object Extension
Explicit label control (ELC) is a procedure supported by RSVP-TE,
where the outgoing label(s) is(are) encoded in the ERO. As a
consequence, the PCE can provide such label(s) directly in the path
ERO. Depending on policies or switching layer, it can be necessary
for the PCC to use explicit label control or expect explicit link,
thus it need to indicate in the PCReq which granularity it is
expecting in the ERO. This corresponds to requirement 12 of
[RFC7025] The possible granularities can be node, link or label. The
granularities are inter-dependent, in the sense that link granularity
implies the presence of node information in the ERO; similarly, a
label granularity implies that the ERO contains node, link and label
information.
A new 2-bit routing granularity (RG) flag (Bits TBA-13) is defined in
the RP object. The values are defined as follows
0: reserved
1: node
2: link
3: label
Table 1: RG flag
The flag in the RP object indicates the requested route granularity.
The PCE SHOULD follow this granularity and MAY return a NO-PATH if
the requested granularity cannot be provided. The PCE MAY return any
granularity on the route based on its policy. The PCC can decide if
the ERO is acceptable based on its content.
If a PCE honored the requested routing granularity for a request, it
MUST indicate the selected routing granularity in the RP object
included in the response. Otherwise, the PCE MUST use the reserved
RG to leave the check of the ERO to the PCC. The RG flag is
backward-compatible with [RFC5440]: the value sent by an
implementation (PCC or PCE) not supporting it will indicate a
reserved value.
2.3. BANDWIDTH Object Extensions
From [RFC5440] the object carrying the requested size for the TE-LSP
is the BANDWIDTH object. The object types 1 and 2 defined in
[RFC5440] do not describe enough information to describe the TE-LSP
bandwidth in GMPLS networks. The BANDWIDTH object encoding has to be
extended to allow to express the bandwidth as described in [RFC7025].
RSVP-TE extensions for GMPLS provide a set of encoding allowing such
representation in an unambiguous way, this is encoded in the RSVP-TE
Margaria, et al. Expires March 31, 2019 [Page 7]
Internet-Draft PCEP Ext for GMPLS September 2018
TSpec and FlowSpec objects. This document extends the BANDWIDTH
object with new object types reusing the RSVP-TE encoding.
The following possibilities are supported by the extended encoding:
o Asymmetric bandwidth (different bandwidth in forward and reverse
direction), as described in [RFC6387]
o GMPLS (SDH/SONET, G.709, ATM, MEF etc) parameters.
This correspond to requirement 3, 4, 5 and 11 of [RFC7025] section
3.1.
This document defines two Object Types for the BANDWIDTH object:
TBA-2 Generalized bandwidth
TBA-3 Generalized bandwidth of an existing TE-LSP for which a
reoptimization is requested
The definitions below apply for Object Type TBA-2 and TBA-3. The
body is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bandwidth Spec Length | Rev. Bandwidth Spec Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bw Spec Type | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Generalized Bandwidth ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Optional: Reverse Generalized Bandwidth ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Optional TLVs ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The BANDWIDTH object type TBA-2 and TBA-3 have a variable length.
The 16-bit Bandwidth Spec Length field indicates the length of the
Generalized Bandwidth field. The Bandwidth Spec Length MUST be
strictly greater than 0. The 16-bit Reverse Bandwidth Spec Length
Margaria, et al. Expires March 31, 2019 [Page 8]
Internet-Draft PCEP Ext for GMPLS September 2018
field indicates the length of the Reverse Generalized Bandwidth
field. The Reverse Bandwidth Spec Length MAY be equal to 0.
The Bw Spec Type field determines which type of bandwidth is
represented by the object.
The Bw Spec Type correspond to the RSVP-TE SENDER_TSPEC (Object Class
12) C-Types
The encoding of the fields Generalized Bandwidth and Reverse
Generalized Bandwidth is the same as the Traffic Parameters carried
in RSVP-TE, it can be found in the following references.
Object Type Name Reference
2 Intserv [RFC2210]
4 SONET/SDH [RFC4606]
5 G.709 [RFC4328]
6 Ethernet [RFC6003]
7 OTN-TDM [RFC7139]
8 SSON [RFC7792]
Table 2: Generalized Bandwidth and Reverse Generalized Bandwidth
field encoding
When a PCC requests a bi-directional path with symmetric bandwidth,
it SHOULD only specify the Generalized Bandwidth field, and set the
Reverse Bandwidth Spec Length to 0. When a PCC needs to request a
bi-directional path with asymmetric bandwidth, it SHOULD specify the
different bandwidth in the forward and reverse directions with a
Generalized Bandwidth and Reverse Generalized Bandwidth fields.
The procedure described in [RFC5440] for the PCRep is unchanged: a
PCE MAY include the BANDWIDTH objects in the response to indicate the
BANDWIDTH of the path.
As specified in [RFC5440] in the case of the reoptimization of a TE-
LSP, the bandwidth of the existing TE-LSP MUST also be included in
addition to the requested bandwidth if and only if the two values
differ. The Object Type TBA-3 MAY be used instead of object type 2
to indicate the existing TE-LSP bandwidth. A PCC that requested a
path with a BANDWIDTH object of object type 1 SHOULD use object type
2 to represent the existing TE-LSP BANDWIDTH.
OPTIONAL TLVs MAY be included within the object body to specify more
specific bandwidth requirements. No TLVs for the Object Type TBA-2
and TBA-3 are defined by this document.
Margaria, et al. Expires March 31, 2019 [Page 9]
Internet-Draft PCEP Ext for GMPLS September 2018
2.4. LOAD-BALANCING Object Extensions
The LOAD-BALANCING object [RFC5440] is used to request a set of
maximum Max-LSP TE-LSP having in total the bandwidth specified in
BANDWIDTH, each TE-LSP having a minimum of bandwidth. The LOAD-
BALANCING follows the bandwidth encoding of the BANDWIDTH object, and
thus the existing definition from [RFC5440] does not describe enough
details for the bandwidth specification expected by GMPLS.
Similarly to the BANDWIDTH object, a new object type is defined to
allow a PCC to represent the bandwidth types supported by GMPLS
networks.
This document defines the Generalized Load Balancing object type
TBA-4 for the LOAD-BALANCING object. The Generalized Load Balancing
object type has a variable length.
The format of the Generalized Load Balancing object type is as
follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bandwidth Spec Length | Reverse Bandwidth Spec Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bw Spec Type | Max-LSP | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Min Bandwidth Spec |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Min Reverse Bandwidth Spec (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Optional TLVs ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Bandwidth Spec Length (16 bits): the total length of the Min
Bandwidth Spec field. It is to be noted that the RSVP-TE traffic
specification MAY also include TLV different from the PCEP TLVs. The
length MUST be strictly greater than 0.
Reverse Bandwidth Spec Length (16 bits): the total length of the Min
Reverse Bandwidth Spec field. It MAY be equal to 0.
Bw Spec Type (8 bits): the bandwidth specification type, it
corresponds to the RSVP-TE SENDER_TSPEC (Object Class 12) C-Types.
Max-LSP (8 bits): maximum number of TE-LSPs in the set.
Margaria, et al. Expires March 31, 2019 [Page 10]
Internet-Draft PCEP Ext for GMPLS September 2018
Min Bandwidth Spec (variable): specifies the minimum bandwidth
specification of each element of the TE-LSP set.
Min Reverse Bandwidth Spec (variable): specifies the minimum reverse
bandwidth specification of each element of the TE-LSP set.
The encoding of the fields Min Bandwidth Spec and Min Reverse
Bandwidth Spec is the same as in RSVP-TE SENDER_TSPEC object, it can
be found in Table 2 from Section 2.3.
When a PCC requests a bi-directional path with symetric bandwidth
while specifying load balancing constraints it SHOULD specify the Min
Bandwidth Spec field, and set the Reverse Bandwidth Spec Length to 0.
When a PCC needs to request a bi-directional path with asymmetric
bandwidth while specifying load balancing constraints, it MUST
specify the different bandwidth in forward and reverse directions
through a Min Bandwidth Spec and Min Reverse Bandwidth Spec fields.
OPTIONAL TLVs MAY be included within the object body to specify more
specific bandwidth requirements. No TLVs for the Generalized Load
Balancing object type are defined by this document.
The semantic of the LOAD-BALANCING object is not changed. If a PCC
requests the computation of a set of TE-LSPs so that the total of
their generalized bandwidth is X, the maximum number of TE-LSPs is N,
and each TE-LSP must at least have a bandwidth of B, it inserts a
BANDWIDTH object specifying X as the required bandwidth and a LOAD-
BALANCING object with the Max-LSP and Min Bandwidth Spec fields set
to N and B, respectively.
2.5. END-POINTS Object Extensions
The END-POINTS object is used in a PCEP request message to specify
the source and the destination of the path for which a path
computation is requested. From [RFC5440], the source IP address and
the destination IP address are used to identify those. A new Object
Type is defined to address the following possibilities:
o Different source and destination endpoint types.
o Label restrictions on the endpoint.
o Specification of unnumbered endpoints type as seen in GMPLS
networks.
The Object encoding is described in the following sections.
In path computation within a GMPLS context the endpoints can:
Margaria, et al. Expires March 31, 2019 [Page 11]
Internet-Draft PCEP Ext for GMPLS September 2018
o Be unnumbered as described in [RFC3477].
o Have label(s) associated to them, specifying a set of constraints
in the allocation of labels.
o Have different switching capabilities
The IPv4 and IPv6 endpoints are used to represent the source and
destination IP addresses. The scope of the IP address (Node or
numbered Link) is not explicitly stated. It is also possible to
request a Path between a numbered link and an unnumbered link, or a
P2MP path between different type of endpoints.
This document defines the Generalized Endpoint object type TBA-5 for
the END-POINTS object. This new type also supports the specification
of constraints on the endpoint label to be used. The PCE might know
the interface restrictions but this is not a requirement. This
corresponds to requirements 6 and 10 of [RFC7025].
2.5.1. Generalized Endpoint Object Type
The Generalized Endpoint object type format consists of a body and a
list of TLVs scoped to this object. The TLVs give the details of the
endpoints and are described in Section 2.5.2. For each Endpoint
Type, a different grammar is defined. The TLVs defined to describe
an endpoint are:
1. IPv4 address endpoint.
2. IPv6 address endpoint.
3. Unnumbered endpoint.
4. Label request.
5. Label set.
The Label set TLV is used to restrict or suggest the label allocation
in the PCE. This TLVs express the set of restrictions which may
apply to signaling. Label restriction support can be an explicit or
a suggested value (Label set describing one label, with the L bit
respectively cleared or set), mandatory range restrictions (Label set
with L bit cleared) and optional range restriction (Label set with L
bit set). Endpoints label restriction may not be part of the RRO or
IRO, they can be included when following [RFC4003] in signaling for
egress endpoint, but ingress endpoint properties can be local to the
PCC and not signaled. To support this case the label set allows to
indicate which label are used in case of reoptimization. The label
Margaria, et al. Expires March 31, 2019 [Page 12]
Internet-Draft PCEP Ext for GMPLS September 2018
range restrictions are valid in GMPLS-controlled networks, either by
PCC policy or depending on the switching technology used, for
instance on given Ethernet or ODU equipment having limited hardware
capabilities restricting the label range. Label set restriction also
applies to WSON networks where the optical senders and receivers are
limited in their frequency tunability ranges, restricting then in
GMPLS the possible label ranges on the interface. The END-POINTS
Object with Generalized Endpoint object type is encoded as follow:
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 | Endpoint Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ TLVs ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Reserved bits SHOULD be set to 0 when a message is sent and ignored
when the message is received.
The Endpoint Type is defined as follow:
Value Type Meaning
0 Point-to-Point
1 Point-to-Multipoint New leaves to add
2 Old leaves to remove
3 Old leaves whose path can be
modified/reoptimized
4 Old leaves whose path has to be
left unchanged
5-244 Reserved
245-255 Experimental range
Table 3: Generalized Endpoint endpoint types
The Endpoint Type is used to cover both point-to-point and different
point-to-multipoint endpoints. A PCE may accept only Endpoint Type
0: Endpoint Types 1-4 apply if the PCE implementation supports P2MP
path calculation. A PCE not supporting a given Endpoint Type SHOULD
respond with a PCErr with Error Type 4, Value TBD "Unsupported
endpoint type in END-POINTS Generalized Endpoint object type". As
per [RFC5440], a PCE unable to process Generalized Endpoints may
respond with Error Type 3 or 4, Value 2. The TLVs present in the
request object body MUST follow the following [RFC5511] grammar:
Margaria, et al. Expires March 31, 2019 [Page 13]
Internet-Draft PCEP Ext for GMPLS September 2018
::=
| ::=
[]
[]
::=
[]
[ []]...
For endpoint type Point-to-Multipoint, several endpoint objects MAY
be present in the message and each represents a leave, exact meaning
depend on the endpoint type defined of the object.
An endpoint is defined as follows:
::=|| ::=
[]
::=
::=
[]
::=
The different TLVs are described in the following sections. A PCE
MAY support IPV4-ADDRESS, IPV6-ADDRESS or UNNUMBERED-ENDPOINT TLVs.
When receiving a PCReq, a PCE unable to resolve the identifier in one
of those TLVs MUST respond using a PCRep with NO-PATH and set the bit
"Unknown destination" or "Unknown source" in the NO-PATH-VECTOR TLV.
The response SHOULD include the END-POINTS object with only the
unsupported TLV(s).
A PCE MAY support LABEL-REQUEST or LABEL-SET TLVs. If a PCE finds a
non-supported TLV in the END-POINTS the PCE MUST respond with a PCErr
message with Error Type 4 error value="Unsupported TLV present in
END-POINTS Generalized Endpoint object type" and the message SHOULD
include the END-POINTS object in the response with only the endpoint
and endpoint restriction TLV it did not understand. A PCE supporting
those TLVs but not being able to fulfil the label restriction MUST
send a response with a NO-PATH object which has the bit "No endpoint
label resource" or "No endpoint label resource in range" set in the
NO-PATH-VECTOR TLV. The response SHOULD include an END-POINTS object
Margaria, et al. Expires March 31, 2019 [Page 14]
Internet-Draft PCEP Ext for GMPLS September 2018
containing only the TLV(s) related to the constraints the PCE could
not meet.
2.5.2. END-POINTS TLV Extensions
All endpoint TLVs have the standard PCEP TLV header as defined in
[RFC5440] section 7.1. In this object type the order of the TLVs
MUST be followed according to the object type definition.
2.5.2.1. IPV4-ADDRESS TLV
This TLV represents a numbered endpoint using IPv4 numbering, the
format of the IPv4-ADDRESS TLV value (TLV-Type=TBA-6) is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This TLV MAY be ignored, in which case a PCRep with NO-PATH SHOULD be
responded, as described in Section 2.5.1.
2.5.2.2. IPV6-ADDRESS TLV
This TLV represents a numbered endpoint using IPV6 numbering, the
format of the IPv6-ADDRESS TLV value (TLV-Type=TBA-7) is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 address (16 bytes) |
| |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This TLV MAY be ignored, in which case a PCRep with NO-PATH SHOULD be
responded, as described in Section 2.5.1.
2.5.2.3. UNNUMBERED-ENDPOINT TLV
This TLV represents an unnumbered interface. This TLV has the same
semantic as in [RFC3477]. The TLV value is encoded as follow (TLV-
Type=TBA-8)
Margaria, et al. Expires March 31, 2019 [Page 15]
Internet-Draft PCEP Ext for GMPLS September 2018
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LSR's Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface ID (32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This TLV MAY be ignored, in which case a PCRep with NO-PATH SHOULD be
responded, as described in Section 2.5.1.
2.5.2.4. LABEL-REQUEST TLV
The LABEL-REQUEST TLV indicates the switching capability and encoding
type of the following label restriction list for the endpoint. Its
format and encoding is the same as described in [RFC3471] Section 3.1
Generalized label request. The LABEL-REQUEST TLV use TLV-Type=TBA-9.
The Encoding Type indicates the encoding type, e.g., SONET/SDH/GigE
etc., of the LSP with which the data is associated. The Switching
type indicates the type of switching that is being requested on the
endpoint. G-PID identifies the payload. This TLV and the following
one are introduced to satisfy requirement 13 of [RFC7025] for the
endpoint. It is not directly related to the TE-LSP label request,
which is expressed by the SWITCH-LAYER object.
On the path calculation request only the Tspec and switch layer need
to be coherent, the endpoint labels could be different (supporting a
different Tspec). Hence the label restrictions include a Generalized
label request in order to interpret the labels. This TLV MAY be
ignored, in which case a PCRep with NO-PATH SHOULD be responded, as
described in Section 2.5.1.
2.5.2.5. Labels TLV
Label or label range restrictions can be specified for the TE-LSP
endpoints. Those are encoded using the LABEL-SET TLV. The label
value need to be interpreted with a description on the Encoding and
switching type. The REQ-ADAP-CAP object from [RFC8282] can be used
in case of mono-layer request, however in case of multilayer it is
possible to have more than one object, so it is better to have a
dedicated TLV for the label and label request. Those TLV MAY be
ignored, in which case a response with NO-PATH SHOULD be responded,
as described in Section 2.5.1. TLVs are encoded as follow (following
[RFC5440]):
o LABEL-SET TLV, Type=TBA-10. The TLV Length is variable, Encoding
follows [RFC3471] Section 3.5 "Label set" with the addition of a U
bit, O bit and L bit. The L bit is used to represent a suggested
Margaria, et al. Expires March 31, 2019 [Page 16]
Internet-Draft PCEP Ext for GMPLS September 2018
set of label, following the semantic of SUGGESTED_LABEL defined by
[RFC3471]. The U bit is set for upstream direction in case of
bidirectional LSP and the O bit is used to represent a previously
allocated label.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Action | Reserved |L|O|U| Label Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Subchannel 1 |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : :
: : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Subchannel N |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A LABEL-SET TLV represents a set of possible labels that can be used
on an interface. If the L bit is cleared, the label allocated on the
first endpoint MUST be within the label set range. The action
parameter in the Label set indicates the type of list provided.
Those parameters are described by [RFC3471] section 3.5.1.
The U, O and L bits have the following meaning:
U: Upstream direction: set when the label or label set is in the
reverse direction
O: Old Label: set when the TLV represent the old label in case of re-
optimization. The R bit of the RP object MUST be set to 1. If the
L bit is set, this bit SHOULD be set to 0 and ignored on receipt.
When this bit is set, the Action field MUST be set to 0 (Inclusive
List) and the Label Set MUST contain one subchannel.
L: Loose Label: set when the TLV indicates to the PCE a set of
preferred (ordered) labels to be used. The PCE MAY use those
labels for label allocation.
Labels TLV bits
Several LABEL_SET TLVs MAY be present with the O bit cleared,
LABEL_SET TLVs with L bit set can be combined with a LABEL_SET TLV
with L bit cleared. At most 2 LABEL_SET TLVs MUST be present with
the O bit set, at most one with the U bit set and at most one with
the U bit cleared. For a given U bit value, if more than one
LABEL_SET TLV with the O bit set is present, the first TLV MUST be
Margaria, et al. Expires March 31, 2019 [Page 17]
Internet-Draft PCEP Ext for GMPLS September 2018
processed and the following TLVs with the same U and O bit MUST be
ignored.
A LABEL-SET TLV with the O and L bit set MUST trigger a PCErr message
with error type="Reception of an invalid object" error value="Wrong
LABEL-SET TLV present with O and L bit set".
A LABEL-SET TLV with the O bit set and an Action Field not set to 0
(Inclusive list) or containing more than one subchannel MUST trigger
a PCErr message with error type="Reception of an invalid object"
error value="Wrong LABEL-SET TLV present with O bit and wrong
format".
If a LABEL-SET TLV is present with O bit set, the R bit of the RP
object MUST be set, otherwise a PCErr message MUST be sent with error
type="Reception of an invalid object" error value="LABEL-SET TLV
present with O bit set but without R bit set in RP".
2.6. IRO Extension
The IRO as defined in [RFC5440] is used to include specific objects
in the path. RSVP-TE allows to include label definition, in order to
fulfill requirement 13 of [RFC7025] the IRO needs to support the new
subobject type as defined in [RFC3473]:
Type Sub-object
TBA-38 LABEL
The Label subobject MUST follow a subobject identifying a link,
currently an IP address subobject (Type 1 or 2) or an interface ID
(type 4) subobject. If an IP address subobject is used, then the
given IP address MUST be associated with a link. More than one label
subobject MAY follow each link subobject. The procedure associated
with this subobject is as follows.
If the PCE is able to allocate labels (e.g. via explicit label
control) the PCE MUST allocate one label from within the set of label
values for the given link. If the PCE does not assign labels, then
it sends a response with a NO-PATH object, containing a NO-PATH-
VECTOR TLV with the bit 'No label resource in range' set.
2.7. XRO Extension
The XRO as defined in [RFC5521] is used to exclude specific objects
in the path. RSVP-TE allows to exclude labels ([RFC6001]), in order
to fulfill requirement 13 of [RFC7025] section 3.1, the PCEP's XRO
needs to support a new subobject to enable label exclusion.
Margaria, et al. Expires March 31, 2019 [Page 18]
Internet-Draft PCEP Ext for GMPLS September 2018
The encoding of the XRO Label subobject follows the encoding of the
Label ERO subobject defined in [RFC3473] and XRO subobject defined in
[RFC5521]. The XRO Label subobject represent one Label and is
defined as follows:
XRO Subobject Type TBA-39: Label Subobject.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|X| Type=TBA-39 | Length |U| Reserved | C-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
X (1 bit): as per [RFC5521]. The X-bit indicates whether the
exclusion is mandatory or desired. 0 indicates that the resource
specified MUST be excluded from the path computed by the PCE. 1
indicates that the resource specified SHOULD be excluded from the
path computed by the PCE, but MAY be included subject to PCE
policy and the absence of a viable path that meets the other
constraints and excludes the resource.
Type (7 bits): The Type of the XRO Label subobject is TBA-39,
suggested value 3.
Length (8 bits): see [RFC5521], the total length of the subobject
in bytes (including the Type and Length fields). The Length is
always divisible by 4.
U (1 bit): see [RFC3471].
C-Type (8 bits): the C-Type of the included Label Object as
defined in [RFC3471].
Label: see [RFC3471].
The Label subobject MUST follow a subobject identifying a link,
currently an IP address subobject (Type 1 or 2) or an interface ID
(type 4) subobject. If an IP address subobject is used, then the
given IP address MUST be associated with a link. More than one label
subobject MAY follow each link subobject.
Type Sub-object
3 LABEL
Margaria, et al. Expires March 31, 2019 [Page 19]
Internet-Draft PCEP Ext for GMPLS September 2018
2.8. LSPA Extensions
The LSPA carries the LSP attributes. In the end-to-end recovery
context, this also includes the protection state information. This
object is introduced to fulfill requirement 7 of [RFC7025] section
3.1 and requirement 3 of [RFC7025] section 3.2. This object contains
the information of the PROTECTION object defined by [RFC4872] and can
be used as a policy input. The LSPA object MAY carry a PROTECTION-
ATTRIBUTE TLV defined as: Type TBA-12: PROTECTION-ATTRIBUTE
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 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S|P|N|O| Reserved | LSP Flags | Reserved | Link Flags|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|I|R| Reserved | Seg.Flags | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The content is as defined in [RFC4872], [RFC4873].
LSP (protection) Flags or Link flags field can be used by a PCE
implementation for routing policy input. The other attributes are
only meaningful for a stateful PCE.
This TLV is OPTIONAL and MAY be ignored by the PCE, in which case it
MUST NOT include the TLV in the LSPA, if present, of the response.
When the TLV is used by the PCE, a LSPA object and the PROTECTION-
ATTRIBUTE TLV MUST be included in the response. Fields that were not
considered MUST be set to 0.
2.9. NO-PATH Object Extension
The NO-PATH object is used in PCRep messages in response to an
unsuccessful path computation request (the PCE could not find a path
satisfying the set of constraints). In this scenario, PCE MUST
include a NO-PATH object in the PCRep message. The NO-PATH object
MAY carries the NO-PATH-VECTOR TLV that specifies more information on
the reasons that led to a negative reply. In case of GMPLS networks
there could be some additional constraints that led to the failure
like protection mismatch, lack of resources, and so on. Few new
flags have been introduced in the 32-bit flag field of the NO-PATH-
VECTOR TLV and no modifications have been made in the NO-PATH object.
Margaria, et al. Expires March 31, 2019 [Page 20]
Internet-Draft PCEP Ext for GMPLS September 2018
2.9.1. Extensions to NO-PATH-VECTOR TLV
The modified NO-PATH-VECTOR TLV carrying the additional information
is as follows:
Bit number TBA-32 - Protection Mismatch (1-bit). Specifies the
mismatch of the protection type in the PROTECTION-ATTRIBUTE TLV in
the request.
Bit number TBA-33 - No Resource (1-bit). Specifies that the
resources are not currently sufficient to provide the path.
Bit number TBA-34 - Granularity not supported (1-bit). Specifies
that the PCE is not able to provide a path with the requested
granularity.
Bit number TBA-35 - No endpoint label resource (1-bit). Specifies
that the PCE is not able to provide a path because of the endpoint
label restriction.
Bit number TBA-36 - No endpoint label resource in range (1-bit).
Specifies that the PCE is not able to provide a path because of
the endpoint label set restriction.
Bit number TBA-37 - No label resource in range (1-bit). Specifies
that the PCE is not able to provide a path because of the label
set restriction.
3. Additional Error-Types and Error-Values Defined
A PCEP-ERROR object is used to report a PCEP error and is
characterized by an Error-Type that specifies the type of error while
Error-value that provides additional information about the error. An
additional error type and few error values are defined to represent
some of the errors related to the newly identified objects related to
GMPLS networks. For each PCEP error, an Error-Type and an Error-
value are defined. Error-Type 1 to 10 are already defined in
[RFC5440]. Additional Error- values are defined for Error-Types 4
and 10. A new Error-Type is introduced (value TBA-27).
Margaria, et al. Expires March 31, 2019 [Page 21]
Internet-Draft PCEP Ext for GMPLS September 2018
Error-Type Error-value
4 Not supported
object
value=TBA-14: Bandwidth Object type TBA-2 or TBA-3 not
supported.
value=TBA-15: Unsupported endpoint type in
END-POINTS Generalized Endpoint
object type.
value=TBA-16: Unsupported TLV present in END-POINTS
Generalized Endpoint object type.
value=TBA-17: Unsupported granularity in the RP object
flags.
10 Reception of
an invalid
object
value=TBA-18: Bad Bandwidth Object type TBA-2(Generalized
bandwidth) or TBA-3( Generalized bandwidth
of existing TE-LSP for which a
reoptimization is requested).
value=TBA-19: Unsupported LSP Protection Type in
PROTECTION-ATTRIBUTE TLV.
value=TBA-20: Unsupported LSP Protection Flags in
PROTECTION-ATTRIBUTE TLV.
value=TBA-21: Unsupported Secondary LSP Protection Flags
in PROTECTION-ATTRIBUTE TLV.
value=TBA-22: Unsupported Link Protection Type in
PROTECTION-ATTRIBUTE TLV.
value=TBA-23: Unsupported Link Protection Type in
PROTECTION-ATTRIBUTE TLV.
value=TBA-24: LABEL-SET TLV present with 0 bit set but
without R bit set in RP.
value=TBA-25: Wrong LABEL-SET
TLV present with
0 and L bit set.
value=TBA-26: Wrong LABEL-SET with O bit set and wrong
format.
TBA-27 Path
computation
failure
value=0: Unassigned.
value=TBA-28: Unacceptable request message.
value=TBA-29: Generalized bandwidth value not supported.
value=TBA-30: Label Set constraint could not be
met.
value=TBA-31: Label constraint could not be
met.
Margaria, et al. Expires March 31, 2019 [Page 22]
Internet-Draft PCEP Ext for GMPLS September 2018
4. Manageability Considerations
This section follows the guidance of [RFC6123].
4.1. Control of Function through Configuration and Policy
This document makes no change to the basic operation of PCEP and so
the requirements described in [RFC5440] Section 8.1. also apply to
this document. In addition to those requirements a PCEP
implementation may allow the configuration of the following
parameters:
Accepted RG in the RP object.
Default RG to use (overriding the one present in the PCReq)
Accepted BANDWIDTH object type TBA-2 and TBA-3 parameters in
request, default mapping to use when not specified in the request
Accepted LOAD-BALANCING object type TBA-4 parameters in request.
Accepted endpoint type and allowed TLVs in object END-POINTS with
object type Generalized Endpoint.
Accepted range for label restrictions in label restriction in END-
POINTS, or IRO or XRO objects
PROTECTION-ATTRIBUTE TLV acceptance and suppression.
Those parameters configuration are applicable to the different
sessions as described in [RFC5440] Section 8.1 (by default, per PCEP
peer, etc.).
4.2. Information and Data Models
This document makes no change to the basic operation of PCEP and so
the requirements described in [RFC5440] Section 8.2. also apply to
this document. This document does not introduces new ERO sub object,
ERO information model is already covered in [RFC4802].
4.3. Liveness Detection and Monitoring
This document makes no change to the basic operation of PCEP and so
there are no changes to the requirements for liveness detection and
monitoring set out in [RFC4657] and [RFC5440] Section 8.3.
Margaria, et al. Expires March 31, 2019 [Page 23]
Internet-Draft PCEP Ext for GMPLS September 2018
4.4. Verifying Correct Operation
This document makes no change to the basic operations of PCEP and
considerations described in [RFC5440] Section 8.4. New errors
introduced by this document should be covered by the requirement to
log error events.
4.5. Requirements on Other Protocols and Functional Components
No new Requirements on Other Protocols and Functional Components are
made by this document. This document does not require ERO object
extensions. Any new ERO subobject defined in the TEAS or CCAMP
working group can be adopted without modifying the operations defined
in this document.
4.6. Impact on Network Operation
This document makes no change to the basic operations of PCEP and
considerations described in [RFC5440] Section 8.6. In addition to
the limit on the rate of messages sent by a PCEP speaker, a limit MAY
be placed on the size of the PCEP messages.
5. IANA Considerations
IANA assigns values to the PCEP protocol objects and TLVs. IANA is
requested to make some allocations for the newly defined objects and
TLVs introduced in this document. Also, IANA is requested to manage
the space of flags that are newly added in the TLVs.
5.1. PCEP Objects
As described in Section 2.3, Section 2.4 and Section 2.5.1 new
Objects types are defined. IANA is requested to make the following
Object-Type allocations from the "PCEP Objects" sub-registry.
Margaria, et al. Expires March 31, 2019 [Page 24]
Internet-Draft PCEP Ext for GMPLS September 2018
Object 5
Class
Name BANDWIDTH
Object-Type TBA-2: Generalized bandwidth
TBA-3: Generalized bandwidth of an existing TE-LSP for
which a reoptimization is requested
Reference This document (section Section 2.3)
Object 14
Class
Name LOAD-BALANCING
Object-Type TBA-4: Generalized Load Balancing
Reference This document (section Section 2.4)
Object 4
Class
Name END-POINTS
Object-Type TBA-5: Generalized Endpoint
Reference This document (section Section 2.5)
5.2. END-POINTS Object, Object Type Generalized Endpoint
IANA is requested to create a registry to manage the Endpoint Type
field of the END-POINTS object, Object Type Generalized Endpoint and
manage the code space.
New endpoint type in the Reserved range MAY be allocated by an IETF
consensus action. Each endpoint type should be tracked with the
following qualities:
o Endpoint type
o Description
o Defining RFC
New endpoint type in the Experimental range are for experimental use;
these will not be registered with IANA and MUST NOT be mentioned by
RFCs.
The following values have been defined by this document.
(Section 2.5.1, Table 3):
Margaria, et al. Expires March 31, 2019 [Page 25]
Internet-Draft PCEP Ext for GMPLS September 2018
Value Type Meaning
0 Point-to-Point
1 Point-to-Multipoint New leaves to add
2 Old leaves to remove
3 Old leaves whose path can be
modified/reoptimized
4 Old leaves whose path has to be
left unchanged
5-244 Reserved
245-255 Experimental range
5.3. New PCEP TLVs
IANA manages the PCEP TLV code point registry (see [RFC5440]). This
is maintained as the "PCEP TLV Type Indicators" sub-registry of the
"Path Computation Element Protocol (PCEP) Numbers" registry. This
document defines new PCEP TLVs, to be carried in the END-POINTS
object with Generalized Endpoint object Type. IANA is requested to
do the following allocation. The values here are suggested for use
by IANA.
Value Meaning Reference
TBA-6 IPV4-ADDRESS This document (section Section 2.5.2.1)
TBA-7 IPV6-ADDRESS This document (section Section 2.5.2.2)
TBA-8 UNNUMBERED-ENDPOINT This document (section Section 2.5.2.3)
TBA-9 LABEL-REQUEST This document (section Section 2.5.2.4)
TBA-10 LABEL-SET This document (section Section 2.5.2.5)
TBA-11 SUGGESTED-LABEL-SET This document (section Section 2.5.2.5)
TBA-12 PROTECTION-ATTRIBUTE This document (section Section 2.8)
TBA-1 GMPLS-CAPABILITY This document (section Section 2.1.2)
5.4. RP Object Flag Field
As described in Section 2.2 new flag are defined in the RP Object
Flag IANA is requested to make the following Object-Type allocations
from the "RP Object Flag Field" sub-registry. The values here are
suggested for use by IANA.
Bit Description Reference
TBA-13 (suggested bit routing granularity This document, Section
17-16) (RG) 2.2
Margaria, et al. Expires March 31, 2019 [Page 26]
Internet-Draft PCEP Ext for GMPLS September 2018
5.5. New PCEP Error Codes
As described in Section 3, new PCEP Error-Types and Error-values are
defined. IANA is requested to make the following allocation in the
"PCEP-ERROR Object Error Types and Values" registry. The values here
are suggested for use by IANA.
Error name Reference
Type=4 Not supported object [RFC5440]
Value=TBA-14: Bandwidth Object type TBA or TBA not This Document
supported.
Value=TBA-15: Unsupported endpoint type in END-POINTS This Document
Generalized Endpoint object type
Value=TBA-16: Unsupported TLV present in END-POINTS This Document
Generalized Endpoint object type
Value=TBA-17: Unsupported granularity in the RP object This Document
flags
Type=10 Reception of an invalid object [RFC5440]
Value=TBA-18: Bad Bandwidth Object type This Document
TBA-2(Generalized bandwidth) or
TBA-3(Generalized bandwidth of existing
TE-LSP for which a reoptimization is
requested).
Value=TBA-19: Unsupported LSP Protection Type in This Document
PROTECTION-ATTRIBUTE TLV.
Value=TBA-20: Unsupported LSP Protection Flags in This Document
PROTECTION-ATTRIBUTE TLV.
Value=TBA-21: Unsupported Secondary LSP Protection This Document
Flags in PROTECTION-ATTRIBUTE TLV.
Value=TBA-22: Unsupported Link Protection Type in This Document
PROTECTION-ATTRIBUTE TLV.
Value=TBA-23: Unsupported Link Protection Type in This Document
PROTECTION-ATTRIBUTE TLV.
Value=TBA-24: LABEL-SET TLV present with 0 bit set but This Document
without R bit set in RP.
Value=TBA-25: Wrong LABEL-SET TLV present with 0 and L This Document
bit set.
Value=TBA-26: Wrong LABEL-SET with O bit set and wrong This Document
format.
Type=TBA-27 Path computation failure This Document
Value=0 Unassigned. This Document
Value=TBA-28: Unacceptable request message. This Document
Value=TBA-29: Generalized bandwidth value not This Document
supported.
Value=TBA-30: Label Set constraint could not be met. This Document
Value=TBA-31: Label constraint could not be met. This Document
Margaria, et al. Expires March 31, 2019 [Page 27]
Internet-Draft PCEP Ext for GMPLS September 2018
5.6. New NO-PATH-VECTOR TLV Fields
As described in Section 2.9.1, new NO-PATH-VECTOR TLV Flag Fields
have been defined. IANA is requested to do the following allocations
in the "NO-PATH-VECTOR TLV Flag Field" sub-registry. The values here
are suggested for use by IANA.
Bit number TBA-32 - Protection Mismatch (1-bit). Specifies the
mismatch of the protection type of the PROTECTION-ATTRIBUTE TLV in
the request.
Bit number TBA-33 - No Resource (1-bit). Specifies that the
resources are not currently sufficient to provide the path.
Bit number TBA-34 - Granularity not supported (1-bit). Specifies
that the PCE is not able to provide a path with the requested
granularity.
Bit number TBA-35 - No endpoint label resource (1-bit). Specifies
that the PCE is not able to provide a path because of the endpoint
label restriction.
Bit number TBA-36 - No endpoint label resource in range (1-bit).
Specifies that the PCE is not able to provide a path because of
the endpoint label set restriction.
Bit number TBA-37 - No label resource in range (1-bit). Specifies
that the PCE is not able to provide a path because of the label
set restriction.
5.7. New Subobject for the Include Route Object
The "PCEP Parameters" registry contains a subregistry "PCEP Objects"
with an entry for the Include Route Object (IRO).
IANA is requested to add a further subobject that can be carried in
the IRO as follows:
Subobject type Reference
TBA-38, suggested value 3 Label subobject [RFC3473]
5.8. New Subobject for the Exclude Route Object
The "PCEP Parameters" registry contains a subregistry "PCEP Objects"
with an entry for the XRO object (Exclude Route Object).
Margaria, et al. Expires March 31, 2019 [Page 28]
Internet-Draft PCEP Ext for GMPLS September 2018
IANA is requested to add a further subobject that can be carried in
the XRO as follows:
Subobject type Reference
TBA-39, suggested value 3 Label subobject [RFC3473]
6. Security Considerations
GMPLS controls multiple technologies and types of network elements.
The LSPs that are established using GMPLS, whose paths can be
computed using the PCEP extensions to support GMPLS described in this
document, can carry a high amount of traffic and can be a critical
part of a network infrastructure. The PCE can then play a key role
in the use of the resources and in determining the physical paths of
the LSPs and thus it is important to ensure the identity of PCE and
PCC, as well as the communication channel. In many deployments there
will be a completely isolated network where an external attack is of
very low probability. However, there are other deployment cases in
which the PCC-PCE communication can be more exposed and there could
be more security considerations. Three main situations in case of an
attack in the GMPLS PCE context could happen:
o PCE Identity theft: A legitimate PCC could requests a path for a
GMPLS LSP to a malicious PCE, which poses as a legitimate PCE.
The answer can make that the LSP traverses some geographical place
known to the attacker where some sniffing devices could be
installed. Also, the answer can omit constraints given in the
requests (e.g. excluding certain fibers, avoiding some SRLGs)
which could make that the LSP which will be later set-up can look
perfectly fine, but will be in a risky situation. Also, the
answer can lead to provide a LSP that does not provide the desired
quality and gives less resources tan necessary.
o PCC Identity theft: A malicious PCC, acting as a legitimate PCC,
requesting LSP paths to a legitimate PCE can obtain a good
knowledge of the physical topology of a critical infrastructure.
It could get to know enough details to plan a later physical
attack.
o Message deciphering: As in the previous case, knowledge of an
infrastructure can be obtained by sniffing PCEP messages.
The security mechanisms can provide authentication and
confidentiality for those scenarios where the PCC-PCE communication
cannot be completely trusted. Authentication can provide origin
verification, message integrity and replay protection, while
Margaria, et al. Expires March 31, 2019 [Page 29]
Internet-Draft PCEP Ext for GMPLS September 2018
confidentiality ensures that a third party cannot decipher the
contents of a message.
The document [RFC8253] describes the usage of Transport Layer
Security (TLS) to enhance PCEP security. The document describes the
initiation of the TLS procedures, the TLS handshake mechanisms, the
TLS methods for peer authentication, the applicable TLS ciphersuites
for data exchange, and the handling of errors in the security checks.
Finally, as mentioned by [RFC7025] the PCEP extensions to support
GMPLS should be considered under the same security as current PCE
work and this extension will not change the underlying security
issues. However, given the critical nature of the network
infrastructures under control by GMPLS, the security issues described
above should be seriously considered when deploying a GMPLS-PCE based
control plane for such networks. For more information on the
security considerations on a GMPLS control plane, not only related to
PCE/PCEP, [RFC5920] provides an overview of security vulnerabilities
of a GMPLS control plane.
7. Contributing Authors
Elie Sfeir
Coriant
St Martin Strasse 76
Munich, 81541
Germany
Email: elie.sfeir@coriant.com
Franz Rambach
Nockherstrasse 2-4,
Munich 81541
Germany
Phone: +49 178 8855738
Email: franz.rambach@cgi.com
Francisco Javier Jimenez Chico
Telefonica Investigacion y Desarrollo
C/ Emilio Vargas 6
Madrid, 28043
Spain
Phone: +34 91 3379037
Email: fjjc@tid.es
Huawei Technologies
Margaria, et al. Expires March 31, 2019 [Page 30]
Internet-Draft PCEP Ext for GMPLS September 2018
Suresh BR
Shenzhen
China
Email: sureshbr@huawei.com
Young Lee
1700 Alma Drive, Suite 100
Plano, TX 75075
USA
Phone: (972) 509-5599 (x2240)
Email: ylee@huawei.com
SenthilKumar S
Shenzhen
China
Email: senthilkumars@huawei.com
Jun Sun
Shenzhen
China
Email: johnsun@huawei.com
CTTC - Centre Tecnologic de Telecomunicacions de Catalunya
Ramon Casellas
PMT Ed B4 Av. Carl Friedrich Gauss 7
08860 Castelldefels (Barcelona)
Spain
Phone: (34) 936452916
Email: ramon.casellas@cttc.es
8. Acknowledgments
The research of Ramon Casellas, Francisco Javier Jimenez Chico, Oscar
Gonzalez de Dios, Cyril Margaria, and Franz Rambach leading to these
results has received funding from the European Community's Seventh
Framework Program FP7/2007-2013 under grant agreement no 247674 and
no 317999.
The authors would like to thank Julien Meuric, Lyndon Ong, Giada
Lander, Jonathan Hardwick and Diego Lopez for their useful comments
to the document.
Margaria, et al. Expires March 31, 2019 [Page 31]
Internet-Draft PCEP Ext for GMPLS September 2018
9. References
9.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,
.
[RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated
Services", RFC 2210, DOI 10.17487/RFC2210, September 1997,
.
[RFC3471] Berger, L., Ed., "Generalized Multi-Protocol Label
Switching (GMPLS) Signaling Functional Description",
RFC 3471, DOI 10.17487/RFC3471, January 2003,
.
[RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label
Switching (GMPLS) Signaling Resource ReserVation Protocol-
Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
DOI 10.17487/RFC3473, January 2003,
.
[RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links
in Resource ReSerVation Protocol - Traffic Engineering
(RSVP-TE)", RFC 3477, DOI 10.17487/RFC3477, January 2003,
.
[RFC4003] Berger, L., "GMPLS Signaling Procedure for Egress
Control", RFC 4003, DOI 10.17487/RFC4003, February 2005,
.
[RFC4328] Papadimitriou, D., Ed., "Generalized Multi-Protocol Label
Switching (GMPLS) Signaling Extensions for G.709 Optical
Transport Networks Control", RFC 4328,
DOI 10.17487/RFC4328, January 2006,
.
[RFC4606] Mannie, E. and D. Papadimitriou, "Generalized Multi-
Protocol Label Switching (GMPLS) Extensions for
Synchronous Optical Network (SONET) and Synchronous
Digital Hierarchy (SDH) Control", RFC 4606,
DOI 10.17487/RFC4606, August 2006,
.
Margaria, et al. Expires March 31, 2019 [Page 32]
Internet-Draft PCEP Ext for GMPLS September 2018
[RFC4802] Nadeau, T., Ed., Farrel, A., and , "Generalized
Multiprotocol Label Switching (GMPLS) Traffic Engineering
Management Information Base", RFC 4802,
DOI 10.17487/RFC4802, February 2007,
.
[RFC4872] Lang, J., Ed., Rekhter, Y., Ed., and D. Papadimitriou,
Ed., "RSVP-TE Extensions in Support of End-to-End
Generalized Multi-Protocol Label Switching (GMPLS)
Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007,
.
[RFC4873] Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel,
"GMPLS Segment Recovery", RFC 4873, DOI 10.17487/RFC4873,
May 2007, .
[RFC5088] Le Roux, JL., Ed., Vasseur, JP., Ed., Ikejiri, Y., and R.
Zhang, "OSPF Protocol Extensions for Path Computation
Element (PCE) Discovery", RFC 5088, DOI 10.17487/RFC5088,
January 2008, .
[RFC5089] Le Roux, JL., Ed., Vasseur, JP., Ed., Ikejiri, Y., and R.
Zhang, "IS-IS Protocol Extensions for Path Computation
Element (PCE) Discovery", RFC 5089, DOI 10.17487/RFC5089,
January 2008, .
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol (PCEP)", RFC 5440,
DOI 10.17487/RFC5440, March 2009,
.
[RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax
Used to Form Encoding Rules in Various Routing Protocol
Specifications", RFC 5511, DOI 10.17487/RFC5511, April
2009, .
[RFC5520] Bradford, R., Ed., Vasseur, JP., and A. Farrel,
"Preserving Topology Confidentiality in Inter-Domain Path
Computation Using a Path-Key-Based Mechanism", RFC 5520,
DOI 10.17487/RFC5520, April 2009,
.
[RFC5521] Oki, E., Takeda, T., and A. Farrel, "Extensions to the
Path Computation Element Communication Protocol (PCEP) for
Route Exclusions", RFC 5521, DOI 10.17487/RFC5521, April
2009, .
Margaria, et al. Expires March 31, 2019 [Page 33]
Internet-Draft PCEP Ext for GMPLS September 2018
[RFC5541] Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of
Objective Functions in the Path Computation Element
Communication Protocol (PCEP)", RFC 5541,
DOI 10.17487/RFC5541, June 2009,
.
[RFC6001] Papadimitriou, D., Vigoureux, M., Shiomoto, K., Brungard,
D., and JL. Le Roux, "Generalized MPLS (GMPLS) Protocol
Extensions for Multi-Layer and Multi-Region Networks (MLN/
MRN)", RFC 6001, DOI 10.17487/RFC6001, October 2010,
.
[RFC6003] Papadimitriou, D., "Ethernet Traffic Parameters",
RFC 6003, DOI 10.17487/RFC6003, October 2010,
.
[RFC6205] Otani, T., Ed. and D. Li, Ed., "Generalized Labels for
Lambda-Switch-Capable (LSC) Label Switching Routers",
RFC 6205, DOI 10.17487/RFC6205, March 2011,
.
[RFC6387] Takacs, A., Berger, L., Caviglia, D., Fedyk, D., and J.
Meuric, "GMPLS Asymmetric Bandwidth Bidirectional Label
Switched Paths (LSPs)", RFC 6387, DOI 10.17487/RFC6387,
September 2011, .
[RFC7139] Zhang, F., Ed., Zhang, G., Belotti, S., Ceccarelli, D.,
and K. Pithewan, "GMPLS Signaling Extensions for Control
of Evolving G.709 Optical Transport Networks", RFC 7139,
DOI 10.17487/RFC7139, March 2014,
.
[RFC7792] Zhang, F., Zhang, X., Farrel, A., Gonzalez de Dios, O.,
and D. Ceccarelli, "RSVP-TE Signaling Extensions in
Support of Flexi-Grid Dense Wavelength Division
Multiplexing (DWDM) Networks", RFC 7792,
DOI 10.17487/RFC7792, March 2016,
.
[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,
.
Margaria, et al. Expires March 31, 2019 [Page 34]
Internet-Draft PCEP Ext for GMPLS September 2018
[RFC8282] Oki, E., Takeda, T., Farrel, A., and F. Zhang, "Extensions
to the Path Computation Element Communication Protocol
(PCEP) for Inter-Layer MPLS and GMPLS Traffic
Engineering", RFC 8282, DOI 10.17487/RFC8282, December
2017, .
9.2. Informative References
[RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
Element (PCE)-Based Architecture", RFC 4655,
DOI 10.17487/RFC4655, August 2006,
.
[RFC4657] Ash, J., Ed. and J. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol Generic
Requirements", RFC 4657, DOI 10.17487/RFC4657, September
2006, .
[RFC5920] Fang, L., Ed., "Security Framework for MPLS and GMPLS
Networks", RFC 5920, DOI 10.17487/RFC5920, July 2010,
.
[RFC6123] Farrel, A., "Inclusion of Manageability Sections in Path
Computation Element (PCE) Working Group Drafts", RFC 6123,
DOI 10.17487/RFC6123, February 2011,
.
[RFC7025] Otani, T., Ogaki, K., Caviglia, D., Zhang, F., and C.
Margaria, "Requirements for GMPLS Applications of PCE",
RFC 7025, DOI 10.17487/RFC7025, September 2013,
.
[RFC7449] Lee, Y., Ed., Bernstein, G., Ed., Martensson, J., Takeda,
T., Tsuritani, T., and O. Gonzalez de Dios, "Path
Computation Element Communication Protocol (PCEP)
Requirements for Wavelength Switched Optical Network
(WSON) Routing and Wavelength Assignment", RFC 7449,
DOI 10.17487/RFC7449, February 2015,
.
Appendix A. LOAD-BALANCING Usage for SDH Virtual Concatenation
For example a request for one co-signaled n x VC-4 TE-LSP will not
use the LOAD-BALANCING. In case the VC-4 components can use
different paths, the BANDWIDTH with object type TBA-2 will contain a
traffic specification indicating the complete n x VC-4 traffic
specification and the LOAD-BALANCING the minimum co-signaled VC-4.
For an SDH network, a request to have a TE-LSP group with 10 VC-4
Margaria, et al. Expires March 31, 2019 [Page 35]
Internet-Draft PCEP Ext for GMPLS September 2018
containers, each path using at minimum 2 x VC-4 containers, can be
represented with a BANDWIDTH object with OT=TBA-2, Bw Spec Type set
to 4, the content of the Generalized Bandwidth is ST=6, RCC=0, NCC=0,
NVC=10, MT=1. The LOAD-BALANCING, OT=TBA-4 with Bw Spec Type set to
4, Max-LSP=5, Min Bandwidth Spec is (ST=6, RCC=0, NCC=0, NVC=2,
MT=1). The PCE can respond with a response with maximum 5 paths,
each of them having a BANDWIDTH OT=TBA-2 and Generalized Bandwidth
matching the Min Bandwidth Spec from the LOAD-BALANCING object of the
corresponding request.
Authors' Addresses
Cyril Margaria (editor)
Juniper
1133 Innovation Way,
Sunnyvale, CA 94089
USA
Email: cmargaria@juniper.net
Oscar Gonzalez de Dios (editor)
Telefonica Investigacion y Desarrollo
C/ Ronda de la Comunicacion
Madrid 28050
Spain
Phone: +34 91 4833441
Email: oscar.gonzalezdedios@telefonica.com
Fatai Zhang (editor)
Huawei Technologies
F3-5-B R&D Center, Huawei Base
Bantian, Longgang District
Shenzhen 518129
P.R.China
Email: zhangfatai@huawei.com
Margaria, et al. Expires March 31, 2019 [Page 36]