idnits 2.17.1 draft-ietf-pce-gmpls-pcep-extensions-16.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 12, 2019) is 1596 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Possible downref: Non-RFC (?) normative reference: ref. 'G.709-v3' Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group C. Margaria, Ed. 3 Internet-Draft Juniper 4 Intended status: Standards Track O. Gonzalez de Dios, Ed. 5 Expires: June 14, 2020 Telefonica Investigacion y Desarrollo 6 F. Zhang, Ed. 7 Huawei Technologies 8 December 12, 2019 10 PCEP extensions for GMPLS 11 draft-ietf-pce-gmpls-pcep-extensions-16 13 Abstract 15 A Path Computation Element (PCE) provides path computation functions 16 for Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) 17 networks. Additional requirements for GMPLS are identified in 18 RFC7025. 20 This memo provides extensions to the Path Computation Element 21 communication Protocol (PCEP) for the support of the GMPLS control 22 plane to address those requirements. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on June 14, 2020. 41 Copyright Notice 43 Copyright (c) 2019 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 59 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 60 1.2. PCEP Requirements for GMPLS . . . . . . . . . . . . . . . 5 61 1.3. Requirements Applicability . . . . . . . . . . . . . . . 5 62 1.3.1. Requirements on Path Computation Request . . . . . . 6 63 1.3.2. Requirements on Path Computation Response . . . . . . 7 64 1.4. Existing Support for GMPLS in Base PCEP Objects and its 65 Limitations . . . . . . . . . . . . . . . . . . . . . . . 7 66 2. PCEP Objects and Extensions . . . . . . . . . . . . . . . . . 10 67 2.1. GMPLS Capability Advertisement . . . . . . . . . . . . . 10 68 2.1.1. GMPLS Computation TLV in the Existing PCE Discovery 69 Protocol . . . . . . . . . . . . . . . . . . . . . . 10 70 2.1.2. OPEN Object Extension GMPLS-CAPABILITY TLV . . . . . 10 71 2.2. RP Object Extension . . . . . . . . . . . . . . . . . . . 11 72 2.3. BANDWIDTH Object Extensions . . . . . . . . . . . . . . . 12 73 2.4. LOAD-BALANCING Object Extensions . . . . . . . . . . . . 14 74 2.5. END-POINTS Object Extensions . . . . . . . . . . . . . . 16 75 2.5.1. Generalized Endpoint Object Type . . . . . . . . . . 17 76 2.5.2. END-POINTS TLV Extensions . . . . . . . . . . . . . . 20 77 2.6. IRO Extension . . . . . . . . . . . . . . . . . . . . . . 24 78 2.7. XRO Extension . . . . . . . . . . . . . . . . . . . . . . 24 79 2.8. LSPA Extensions . . . . . . . . . . . . . . . . . . . . . 26 80 2.9. NO-PATH Object Extension . . . . . . . . . . . . . . . . 26 81 2.9.1. Extensions to NO-PATH-VECTOR TLV . . . . . . . . . . 27 82 3. Additional Error-Types and Error-Values Defined . . . . . . . 27 83 4. Manageability Considerations . . . . . . . . . . . . . . . . 29 84 4.1. Control of Function through Configuration and Policy . . 29 85 4.2. Information and Data Models . . . . . . . . . . . . . . . 29 86 4.3. Liveness Detection and Monitoring . . . . . . . . . . . . 29 87 4.4. Verifying Correct Operation . . . . . . . . . . . . . . . 30 88 4.5. Requirements on Other Protocols and Functional Components 30 89 4.6. Impact on Network Operation . . . . . . . . . . . . . . . 30 90 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 91 5.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 30 92 5.2. Endpoint type field in Generalized END-POINTS Object . . 31 93 5.3. New PCEP TLVs . . . . . . . . . . . . . . . . . . . . . . 32 94 5.4. RP Object Flag Field . . . . . . . . . . . . . . . . . . 32 95 5.5. New PCEP Error Codes . . . . . . . . . . . . . . . . . . 32 96 5.6. New NO-PATH-VECTOR TLV Fields . . . . . . . . . . . . . . 33 97 5.7. New Subobject for the Include Route Object . . . . . . . 34 98 5.8. New Subobject for the Exclude Route Object . . . . . . . 34 99 5.9. New GMPLS-CAPABILITY TLV Flag Field . . . . . . . . . . . 35 100 6. Security Considerations . . . . . . . . . . . . . . . . . . . 35 101 7. Contributing Authors . . . . . . . . . . . . . . . . . . . . 36 102 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 38 103 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 38 104 9.1. Normative References . . . . . . . . . . . . . . . . . . 38 105 9.2. Informative References . . . . . . . . . . . . . . . . . 42 106 Appendix A. LOAD-BALANCING Usage for SDH Virtual Concatenation . 43 107 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 43 109 1. Introduction 111 Although [RFC4655] defines the PCE architecture and framework for 112 both MPLS and GMPLS networks, most preexisting PCEP RFCs [RFC5440], 113 [RFC5521], [RFC5541], [RFC5520] are focused on MPLS networks, and do 114 not cover the wide range of GMPLS networks. This document 115 complements these RFCs by addressing the extensions required for 116 GMPLS applications and routing requests, for example for Optical 117 Transport Network (OTN) and Wavelength Switched Optical Network 118 (WSON) networks. 120 The functional requirements to be addressed by the PCEP extensions to 121 support these applications are fully described in [RFC7025] and 122 [RFC7449]. 124 1.1. Terminology 126 This document uses terminologies from the PCE architecture document 127 [RFC4655], the PCEP documents including [RFC5440], [RFC5521], 128 [RFC5541], [RFC5520], [RFC7025] and [RFC7449], and the GMPLS 129 documents such as [RFC3471], [RFC3473] and so on. Note that it is 130 expected the reader is familiar with these documents. The following 131 abbreviations are used in this document 133 ODU ODU Optical Channel Data Unit [G.709-v3] 135 OTN Optical Transport Network [G.709-v3] 137 L2SC Layer-2 Switch Capable [RFC3471] 139 TDM Time-Division Multiplex Capable [RFC3471] 141 LSC Lambda Switch Capable [RFC3471] 143 SONET Synchronous Optical Networking 144 SDH Synchronous Digital Hierarchy 146 PCC Path Computation Client 148 RSVP-TE Resource Reservation Protocol - Traffic Engineering 150 LSP Label Switched Path 152 TE-LSP Traffic Engineering LSP 154 IRO Include Route Object 156 ERO Explicit Route Object 158 XRO eXclude Route Object 160 RRO Record Route Object 162 LSPA LSP Attribute 164 SRLG Shared Risk Link Group 166 NVC Number of Virtual Components [RFC4328][RFC4606] 168 NCC Number of Contiguous Components [RFC4328][RFC4606] 170 MT Multiplier [RFC4328][RFC4606] 172 RCC Requested Contiguous Concatenation [RFC4606] 174 PCReq Path Computation Request [RFC5440] 176 PCRep Path Computation Reply [RFC5440] 178 MEF Metro Ethernet Forum 180 SSON Spectrum-Switched Optical Network 182 P2MP Point to Multi-Point 184 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 185 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 186 "OPTIONAL" in this document are to be interpreted as described in BCP 187 14 [RFC2119] [RFC8174] when, and only when, they appear in all 188 capitals, as shown here. 190 1.2. PCEP Requirements for GMPLS 192 The document [RFC7025] describes the set of PCEP requirements to 193 support GMPLS TE-LSPs. This document assumes a significant 194 familiarity with [RFC7025] and existing PCEP extensions. As a short 195 overview, those requirements can be broken down into the following 196 categories. 198 o Which data flow is switched by the LSP: a combination of Switching 199 type (for instance L2SC or TDM ), LSP Encoding type (e.g., 200 Ethernet, SONET/SDH) and sometimes the Signal Type (e.g., in case 201 of TDM/LSC switching capability). 203 o Data flow specific traffic parameters, which are technology 204 specific. For instance, in SDH/SONET and [G.709-v3] OTN networks 205 the Concatenation Type and the Concatenation Number have an 206 influence on the switched data and on which link it can be 207 supported 209 o Support for asymmetric bandwidth requests. 211 o Support for unnumbered interface identifiers, as defined in 212 [RFC3477] 214 o Label information and technology specific label(s) such as 215 wavelength labels as defined in [RFC6205]. A PCC should also be 216 able to specify a label restriction similar to the one supported 217 by RSVP-TE in [RFC3473]. 219 o Ability to indicate the requested granularity for the path ERO: 220 node, link or label. This is to allow the use of the explicit 221 label control feature of RSVP-TE. 223 The requirements of [RFC7025] apply to several objects conveyed by 224 PCEP, this is described in Section 1.3. Some of the requirements of 225 [RFC7025] are already supported in existing documents, as described 226 in Section 1.4. 228 This document describes a set of PCEP extensions, including new 229 object types, TLVs, encodings, error codes and procedures, in order 230 to fulfill the aforementioned requirements not covered in existing 231 RFCs. 233 1.3. Requirements Applicability 235 This section follows the organization of [RFC7025] Section 3 and 236 indicates, for each requirement, the affected piece of information 237 carried by PCEP and its scope. 239 1.3.1. Requirements on Path Computation Request 241 (1) Switching capability/type: as described in [RFC3471] this piece 242 of information is used with the Encoding Type and Signal Type 243 to fully describe the switching technology and data carried by 244 the TE-LSP. This is applicable to the TE-LSP itself and also 245 to the TE-LSP endpoint (Carried in the END-POINTS object for 246 MPLS networks in [RFC5440]) when considering multiple network 247 layers. Inter-layer path computation requirements are 248 addressed in in [RFC8282] which addressing the TE-LSP itself, 249 but the TE-LSP endpoints are not addressed. 251 (2) Encoding type: see (1). 253 (3) Signal type: see (1). 255 (4) Concatenation type: this parameter and the Concatenation Number 256 (5) are specific to some TDM (SDH and ODU) switching 257 technology. They MUST be described together and are used to 258 derive the requested resource allocation for the TE-LSP. It is 259 scoped to the TE-LSP and is related to the [RFC5440] BANDWIDTH 260 object in MPLS networks. See [RFC4606] and [RFC4328] about 261 concatenation information. 263 (5) Concatenation number: see (4). 265 (6) Technology-specific label(s): as described in [RFC3471] the 266 GMPLS Labels are specific to each switching technology. They 267 can be specified on each link and also on the TE-LSP endpoints 268 , in WSON networks for instance, as described in [RFC6163]. 269 The label restriction can apply to endpoints and on each hop, 270 the related PCEP objects are END-POINTS, IRO, XRO and RRO. 272 (7) End-to-End (E2E) path protection type: as defined in [RFC4872], 273 this is applicable to the TE-LSP. In MPLS networks the related 274 PCEP object is LSPA (carrying local protection information). 276 (8) Administrative group: as defined in [RFC3630], this information 277 is already carried in the LSPA object. 279 (9) Link protection type: as defined in [RFC4872], this is 280 applicable to the TE-LSP and is carried in association with the 281 E2E path protection type. 283 (10) Support for unnumbered interfaces: as defined in [RFC3477]. 284 Its scope and related objects are the same as labels 286 (11) Support for asymmetric bandwidth requests: as defined 287 [RFC6387], the scope is similar to (4) 289 (12) Support for explicit label control during the path computation. 290 This affects the TE-LSP and amount of information returned in 291 the ERO. 293 (13) Support of label restrictions in the requests/responses: This 294 is described in (6). 296 1.3.2. Requirements on Path Computation Response 298 (1) Path computation with concatenation: This is related to Path 299 Computation request requirement (4). In addition there is a 300 specific type of concatenation called virtual concatenation that 301 allows different routes to be used between the endpoints. It is 302 similar to the semantic and scope of the LOAD-BALANCING in MPLS 303 networks. 305 (2) Label constraint: The PCE should be able to include Labels in 306 the path returned to the PCC, the related object is the ERO 307 object. 309 (3) Roles of the routes: as defined in [RFC4872], this is applicable 310 to the TE-LSP and is carried in association with the E2E path 311 protection type. 313 1.4. Existing Support for GMPLS in Base PCEP Objects and its 314 Limitations 316 The support provided by specifications in [RFC8282] and [RFC5440] for 317 the requirements listed in [RFC7025] is summarized in Table 1 and 318 Table 2. In some cases the support may not be complete, as noted, 319 and additional support need to be provided in this specification. 321 Req. Name Support 322 1 Switching capability/type SWITCH-LAYER 323 (RFC8282) 324 2 Encoding type SWITCH-LAYER 325 (RFC8282) 326 3 Signal type SWITCH-LAYER 327 (RFC8282) 328 4 Concatenation type No 329 5 Concatenation number No 330 6 Technology-specific label (Partial) ERO 331 (RFC5440) 332 7 End-to-End (E2E) path protection type No 333 8 Administrative group LSPA (RFC5440) 334 9 Link protection type No 335 10 Support for unnumbered interfaces (Partial) ERO 336 (RFC5440) 337 11 Support for asymmetric bandwidth requests No 338 12 Support for explicit label control during the No 339 path computation 340 13 Support of label restrictions in the No 341 requests/responses 343 Table 1: RFC7025 Section 3.1 requirements support 345 Req. Name Support 346 1 Path computation with concatenation No 347 2 Label constraint No 348 3 Roles of the routes No 350 Table 2: RFC7025 Section 3.2 requirements support 352 As described in Section 1.3 PCEP as of [RFC5440], [RFC5521] and 353 [RFC8282], supports the following objects, included in requests and 354 responses, related to the described requirements. 356 From [RFC5440]: 358 o END-POINTS: related to requirements (1, 2, 3, 6, 10 and 13). The 359 object only supports numbered endpoints. The context specifies 360 whether they are node identifiers or numbered interfaces. 362 o BANDWIDTH: related to requirements (4, 5 and 11). The data rate 363 is encoded in the bandwidth object (as IEEE 32 bit float). 364 [RFC5440] does not include the ability to convey an encoding 365 proper to all GMPLS-controlled networks. 367 o ERO: related to requirements (6, 10, 12 and 13). The ERO content 368 is defined in RSVP in [RFC3209][RFC3473][RFC3477][RFC7570] and 369 supports all the requirements already. 371 o LSPA: related to requirements (7, 8 and 9). The requirement 8 372 (setup and holding priorities) is already supported. 374 From [RFC5521]: 376 o XRO: 378 * This object allows excluding (strict or not) resources and is 379 related to requirements (6, 10 and 13). It also includes the 380 requested diversity (node, link or SRLG). 382 * When the F bit is set, the request indicates that the existing 383 path has failed and the resources present in the RRO can be 384 reused. 386 From [RFC8282]: 388 o SWITCH-LAYER: addresses requirements (1, 2 and 3) for the TE-LSP 389 and indicates which layer(s) should be considered. The object can 390 be used to represent the RSVP-TE generalized label request. It 391 does not address the endpoints case of requirements (1, 2 and 3). 393 o REQ-ADAP-CAP: indicates the adaptation capabilities requested, can 394 also be used for the endpoints in case of mono-layer computation 396 The gaps in functional coverage of the base PCEP objects are: 398 The BANDWIDTH and LOAD-BALANCING objects do not describe the 399 details of the traffic request (requirements 4 and 5, for example 400 NVC, multiplier) in the context of GMPLS networks, for instance 401 TDM or OTN networks. 403 The END-POINTS object does not allow specifying an unnumbered 404 interface, nor potential label restrictions on the interface 405 (requirements 6, 10 and 13). Those parameters are of interest in 406 case of switching constraints. 408 The Include/eXclude Route Objects (IRO/XRO) do not allow the 409 inclusion/exclusion of labels (requirements 6, 10 and 13). 411 Base attributes do not allow expressing the requested link 412 protection level and/or the end-to-end protection attributes. 414 The PCEP extensions defined later in this document to cover the gaps 415 are: 417 Two new object types are defined for the BANDWIDTH object 418 (Generalized bandwidth, Generalized bandwidth of existing TE-LSP 419 for which a reoptimization is requested). 421 A new object type is defined for the LOAD-BALANCING object 422 (Generalized Load Balancing). 424 A new object type is defined for the END-POINTS object 425 (Generalized Endpoint). 427 A new TLV is added to the Open message for capability negotiation. 429 A new TLV is added to the LSPA object. 431 The Label TLV is now allowed in the IRO and XRO objects. 433 In order to indicate the used routing granularity in the response, 434 a new flag in the RP object is added. 436 2. PCEP Objects and Extensions 438 This section describes the necessary PCEP objects and extensions. 439 The PCReq and PCRep messages are defined in [RFC5440]. This document 440 does not change the existing grammars. 442 2.1. GMPLS Capability Advertisement 444 2.1.1. GMPLS Computation TLV in the Existing PCE Discovery Protocol 446 IGP-based PCE Discovery (PCED) is defined in [RFC5088] and [RFC5089] 447 for the OSPF and IS-IS protocols. Those documents have defined bit 0 448 in PCE-CAP-FLAGS Sub-TLV of the PCED TLV as "Path computation with 449 GMPLS link constraints". This capability is optional and can be used 450 to detect GMPLS-capable PCEs. PCEs that set the bit to indicate 451 support of GMPLS path computation MUST follow the procedures in 452 Section 2.1.2 to further qualify the level of support during PCEP 453 session establishment. 455 2.1.2. OPEN Object Extension GMPLS-CAPABILITY TLV 457 In addition to the IGP advertisement, a PCEP speaker MUST be able to 458 discover the other peer GMPLS capabilities during the Open message 459 exchange. This capability is also useful to avoid misconfigurations. 460 This document defines a GMPLS-CAPABILITY TLV for use in the OPEN 461 object to negotiate the GMPLS capability. The inclusion of this TLV 462 in the Open message indicates that the PCEP speaker support the PCEP 463 extensions defined in the document. A PCEP speaker that is able to 464 support the GMPLS extensions defined in this document MUST include 465 the GMPLS-CAPABILITY TLV on the Open message. If one of the PCEP 466 peers does not include the GMPLS-CAPABILITY TLV in the Open message, 467 the peers MUST NOT make use of the objects and TLVs defined in this 468 document. 470 If the PCEP speaker supports the extensions of this specification but 471 did not advertise the GMPLS-CAPABILITY capability, upon receipt of a 472 message from the PCE including an extension defined in this document, 473 it MUST generate a PCEP Error (PCErr) with Error-Type=10 (Reception 474 of an invalid object) and Error-value=TBA-42 (Missing GMPLS- 475 CAPABILITY TLV), and it SHOULD terminate the PCEP session. 477 IANA has allocated value TBA-1 from the "PCEP TLV Type Indicators" 478 sub-registry, as documented in Section 5.3 ("New PCEP TLVs"). The 479 description is "GMPLS-CAPABILITY". Its format is shown in the 480 following figure. 482 0 1 2 3 483 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 484 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 485 | Type=TBA-1 | Length | 486 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 487 | Flags | 488 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 490 No Flags are defined in this document, they are reserved for future 491 use. 493 2.2. RP Object Extension 495 Explicit label control (ELC) is a procedure supported by RSVP-TE, 496 where the outgoing labels are encoded in the ERO. As a consequence, 497 the PCE can provide such labels directly in the path ERO. Depending 498 on policies or switching layer, it can be necessary for the PCC to 499 use explicit label control or explicit link ids, thus it needs to 500 indicate in the PCReq which granularity it is expecting in the ERO. 501 This corresponds to requirement 12 of [RFC7025]. The possible 502 granularities can be node, link or label. The granularities are 503 inter-dependent, in the sense that link granularity implies the 504 presence of node information in the ERO; similarly, a label 505 granularity implies that the ERO contains node, link and label 506 information. 508 A new 2-bit routing granularity (RG) flag (Bits TBA-13) is defined in 509 the RP object. The values are defined as follows 510 0: reserved 511 1: node 512 2: link 513 3: label 515 Table 3: RG flag 517 The flag in the RP object indicates the requested route granularity. 518 The PCE SHOULD follow this granularity and MAY return a NO-PATH if 519 the requested granularity cannot be provided. The PCE MAY return any 520 granularity on the route based on its policy. The PCC can decide if 521 the ERO is acceptable based on its content. 523 If a PCE honored the requested routing granularity for a request, it 524 MUST indicate the selected routing granularity in the RP object 525 included in the response. Otherwise, the PCE MUST use the reserved 526 RG to leave the check of the ERO to the PCC. The RG flag is 527 backward-compatible with [RFC5440]: the value sent by an 528 implementation (PCC or PCE) not supporting it will indicate a 529 reserved value. 531 2.3. BANDWIDTH Object Extensions 533 From [RFC5440] the object carrying the requested size for the TE-LSP 534 is the BANDWIDTH object. The object types 1 and 2 defined in 535 [RFC5440] do not describe enough information to describe the TE-LSP 536 bandwidth in GMPLS networks. The BANDWIDTH object encoding has to be 537 extended to allow the object to express the bandwidth as described in 538 [RFC7025]. RSVP-TE extensions for GMPLS provide a set of encodings 539 allowing such representation in an unambiguous way, this is encoded 540 in the RSVP-TE TSpec and FlowSpec objects. This document extends the 541 BANDWIDTH object with new object types reusing the RSVP-TE encoding. 543 The following possibilities are supported by the extended encoding: 545 o Asymmetric bandwidth (different bandwidth in forward and reverse 546 direction), as described in [RFC6387] 548 o GMPLS (SDH/SONET, G.709, ATM, MEF, etc.) parameters. 550 This corresponds to requirements 3, 4, 5 and 11 of [RFC7025] 551 Section 3.1. 553 This document defines two Object Types for the BANDWIDTH object: 555 TBA-2 Generalized bandwidth 556 TBA-3 Generalized bandwidth of an existing TE-LSP for which a 557 reoptimization is requested 559 The definitions below apply for Object Type TBA-2 and TBA-3. The 560 body is as follows: 562 0 1 2 3 563 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 564 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 565 | Bandwidth Spec Length | Rev. Bandwidth Spec Length | 566 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 567 | Bw Spec Type | Reserved | 568 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 569 | | 570 ~ Generalized Bandwidth ~ 571 | | 572 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 573 | | 574 ~ Optional: Reverse Generalized Bandwidth ~ 575 | | 576 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 577 | | 578 ~ Optional TLVs ~ 579 | | 580 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 582 The BANDWIDTH object type TBA-2 and TBA-3 have a variable length. 583 The 16-bit Bandwidth Spec Length field indicates the length of the 584 Generalized Bandwidth field. The Bandwidth Spec Length MUST be 585 strictly greater than 0. The 16-bit Reverse Bandwidth Spec Length 586 field indicates the length of the Reverse Generalized Bandwidth 587 field. The Reverse Bandwidth Spec Length MAY be equal to 0. 589 The Bw Spec Type field determines which type of bandwidth is 590 represented by the object. 592 The Bw Spec Type corresponds to the RSVP-TE SENDER_TSPEC (Object 593 Class 12) C-Types 595 The encoding of the fields Generalized Bandwidth and Reverse 596 Generalized Bandwidth is the same as the Traffic Parameters carried 597 in RSVP-TE, it can be found in the following references. It is to be 598 noted that the RSVP-TE traffic specification MAY also include TLVs 599 (e.g., [RFC6003] different from the PCEP TLVs). 601 Bw Spec Type Name Reference 603 2 Intserv [RFC2210] 604 4 SONET/SDH [RFC4606] 605 5 G.709 [RFC4328] 606 6 Ethernet [RFC6003] 607 7 OTN-TDM [RFC7139] 608 8 SSON [RFC7792] 610 Table 4: Generalized Bandwidth and Reverse Generalized Bandwidth 611 field encoding 613 When a PCC requests a bi-directional path with symmetric bandwidth, 614 it SHOULD only specify the Generalized Bandwidth field, and set the 615 Reverse Bandwidth Spec Length to 0. When a PCC needs to request a 616 bi-directional path with asymmetric bandwidth, it SHOULD specify the 617 different bandwidth in the forward and reverse directions with a 618 Generalized Bandwidth and Reverse Generalized Bandwidth fields. 620 The procedure described in [RFC5440] for the PCRep is unchanged: a 621 PCE MAY include the BANDWIDTH objects in the response to indicate the 622 BANDWIDTH of the path. 624 As specified in [RFC5440] in the case of the reoptimization of a TE- 625 LSP, the bandwidth of the existing TE-LSP MUST also be included in 626 addition to the requested bandwidth if and only if the two values 627 differ. The Object Type TBA-3 MAY be used instead of the previously 628 specified object type 2 to indicate the existing TE-LSP bandwidth 629 originally specified with object type TBA-2. A PCC that requested a 630 path with a BANDWIDTH object of object type 1 MUST use object type 2 631 to represent the existing TE-LSP BANDWIDTH. 633 OPTIONAL TLVs MAY be included within the object body to specify more 634 specific bandwidth requirements. No TLVs for the Object Type TBA-2 635 and TBA-3 are defined by this document. 637 2.4. LOAD-BALANCING Object Extensions 639 The LOAD-BALANCING object [RFC5440] is used to request a set of at 640 most Max-LSP TE-LSP having in total the bandwidth specified in 641 BANDWIDTH, with each TE-LSP having at least a specified minimum 642 bandwidth. The LOAD-BALANCING follows the bandwidth encoding of the 643 BANDWIDTH object, and thus the existing definition from [RFC5440] 644 does not describe enough details for the bandwidth specification 645 expected by GMPLS. 647 Similarly to the BANDWIDTH object, a new object type is defined to 648 allow a PCC to represent the bandwidth types supported by GMPLS 649 networks. 651 This document defines the Generalized Load Balancing object type 652 TBA-4 for the LOAD-BALANCING object. The Generalized Load Balancing 653 object type has a variable length. 655 The format of the Generalized Load Balancing object type is as 656 follows: 658 0 1 2 3 659 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 660 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 661 | Bandwidth Spec Length | Reverse Bandwidth Spec Length | 662 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 663 | Bw Spec Type | Max-LSP | Reserved | 664 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 665 | Min Bandwidth Spec | 666 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 667 | Min Reverse Bandwidth Spec (optional) | 668 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 669 | | 670 ~ Optional TLVs ~ 671 | | 672 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 674 Bandwidth Spec Length (16 bits): the total length of the Min 675 Bandwidth Spec field. The length MUST be strictly greater than 0. 677 Reverse Bandwidth Spec Length (16 bits): the total length of the Min 678 Reverse Bandwidth Spec field. It MAY be equal to 0. 680 Bw Spec Type (8 bits): the bandwidth specification type, it 681 corresponds to the RSVP-TE SENDER_TSPEC (Object Class 12) C-Types. 683 Max-LSP (8 bits): maximum number of TE-LSPs in the set. 685 Min Bandwidth Spec (variable): specifies the minimum bandwidth 686 specification of each element of the TE-LSP set. 688 Min Reverse Bandwidth Spec (variable): specifies the minimum reverse 689 bandwidth specification of each element of the TE-LSP set. 691 The encoding of the fields Min Bandwidth Spec and Min Reverse 692 Bandwidth Spec is the same as in RSVP-TE SENDER_TSPEC object, it can 693 be found in Table 4 from Section 2.3 from this document. 695 When a PCC requests a bi-directional path with symmetric bandwidth 696 while specifying load balancing constraints it SHOULD specify the Min 697 Bandwidth Spec field, and set the Reverse Bandwidth Spec Length to 0. 698 When a PCC needs to request a bi-directional path with asymmetric 699 bandwidth while specifying load balancing constraints, it MUST 700 specify the different bandwidth in forward and reverse directions 701 through a Min Bandwidth Spec and Min Reverse Bandwidth Spec fields. 703 OPTIONAL TLVs MAY be included within the object body to specify more 704 specific bandwidth requirements. No TLVs for the Generalized Load 705 Balancing object type are defined by this document. 707 The semantic of the LOAD-BALANCING object is not changed. If a PCC 708 requests the computation of a set of TE-LSPs with at most N TE-LSPs 709 so that it can carry generalized bandwidth X , each TE-LSP must at 710 least transport bandwidth B, it inserts a BANDWIDTH object specifying 711 X as the required bandwidth and a LOAD-BALANCING object with the Max- 712 LSP and Min Bandwidth Spec fields set to N and B, respectively. When 713 the BANDWIDTH and Min Bandwidth Spec can be summarized as scalars, 714 the sum of all TE-LSPs bandwith in the set is greater than X. The 715 mapping of X over N path with (at least) bandwidth B is technology 716 and possibly node specific. Each standard definition of the 717 transport technology is defining those mappings and are not repeated 718 in this document. A simplified example for SDH is described in 719 Appendix A 721 In all other cases, including for technologies based on statistical 722 multiplexing (e.g., InterServ, Ethernet), the exact bandwidth 723 management (e.g., Ethernet's Excessive Rate) is left to the PCE's 724 policies, according to the operator's configuration. If required, 725 further documents may introduce a new mechanism to finely express 726 complex load balancing policies within PCEP. 728 The BANDWITH and LOAD-BALANCING Bw Spec Type can be different 729 depending on the endpoint nodes architecture. When the PCE is not 730 able to handle those two Bw Spec Type, it MUST return a NO-PATH with 731 the bit "LOAD-BALANCING could not be performed with the bandwidth 732 constraits " set in the NO-PATH-VECTOR TLV. 734 2.5. END-POINTS Object Extensions 736 The END-POINTS object is used in a PCEP request message to specify 737 the source and the destination of the path for which a path 738 computation is requested. From [RFC5440], the source IP address and 739 the destination IP address are used to identify those. A new Object 740 Type is defined to address the following possibilities: 742 o Different source and destination endpoint types. 744 o Label restrictions on the endpoint. 746 o Specification of unnumbered endpoints type as seen in GMPLS 747 networks. 749 The Object encoding is described in the following sections. 751 In path computation within a GMPLS context the endpoints can: 753 o Be unnumbered as described in [RFC3477]. 755 o Have labels associated to them, specifying a set of constraints on 756 the allocation of labels. 758 o Have different switching capabilities 760 The IPv4 and IPv6 endpoints are used to represent the source and 761 destination IP addresses. The scope of the IP address (Node or 762 numbered Link) is not explicitly stated. It is also possible to 763 request a Path between a numbered link and an unnumbered link, or a 764 P2MP path between different type of endpoints. 766 This document defines the Generalized Endpoint object type TBA-5 for 767 the END-POINTS object. This new type also supports the specification 768 of constraints on the endpoint label to be used. The PCE might know 769 the interface restrictions but this is not a requirement. This 770 corresponds to requirements 6 and 10 of [RFC7025]. 772 2.5.1. Generalized Endpoint Object Type 774 The Generalized Endpoint object type format consists of a body and a 775 list of TLVs scoped to this object. The TLVs give the details of the 776 endpoints and are described in Section 2.5.2. For each Endpoint 777 Type, a different grammar is defined. The TLVs defined to describe 778 an endpoint are: 780 1. IPv4 address endpoint. 782 2. IPv6 address endpoint. 784 3. Unnumbered endpoint. 786 4. Label request. 788 5. Label set. 790 The Label set TLV is used to restrict or suggest the label allocation 791 in the PCE. This TLV expresses the set of restrictions which may 792 apply to signaling. Label restriction support can be an explicit or 793 a suggested value (Label set describing one label, with the L bit 794 respectively cleared or set), mandatory range restrictions (Label set 795 with L bit cleared) and optional range restriction (Label set with L 796 bit set). Endpoints label restriction may not be part of the RRO or 797 IRO. They can be included when following [RFC4003] in signaling for 798 egress endpoint, but ingress endpoint properties can be local to the 799 PCC and not signaled. To support this case the label set allows 800 indication which label are used in case of reoptimization. The label 801 range restrictions are valid in GMPLS-controlled networks, either by 802 PCC policy or depending on the switching technology used, for 803 instance on given Ethernet or ODU equipment having limited hardware 804 capabilities restricting the label range. Label set restriction also 805 applies to WSON networks where the optical senders and receivers are 806 limited in their frequency tunability ranges, consequently 807 restricting the possible label ranges on the interface in GMPLS. The 808 END-POINTS Object with Generalized Endpoint object type is encoded as 809 follow: 811 0 1 2 3 812 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 813 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 814 | Reserved | Endpoint Type | 815 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 816 | | 817 ~ TLVs ~ 818 | | 819 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 821 Reserved bits SHOULD be set to 0 when a message is sent and ignored 822 when the message is received. 824 The Endpoint Type is defined as follow: 826 Value Type Meaning 828 0 Point-to-Point 829 1 Point-to-Multipoint New leaves to add 830 2 Old leaves to remove 831 3 Old leaves whose path can be 832 modified/reoptimized 833 4 Old leaves whose path has to be 834 left unchanged 835 5-244 Reserved 836 245-255 Experimental range 838 Table 5: Generalized Endpoint endpoint types 840 The Endpoint Type is used to cover both point-to-point and different 841 point-to-multipoint endpoints. A PCE may accept only Endpoint Type 842 0: Endpoint Types 1-4 apply if the PCE implementation supports P2MP 843 path calculation. A PCE not supporting a given Endpoint Type SHOULD 844 respond with a PCErr with Error-Type=4 (Not supported object), Error- 845 value=TBA-15 (Unsupported endpoint type in END-POINTS Generalized 846 Endpoint object type). As per [RFC5440], a PCE unable to process 847 Generalized Endpoints may respond with Error-Type=3 (Unknown Object), 848 Error-value=2 (Unrecognized object Type) or Error-Type=4 (Not 849 supported object), Error-value=2 (Not supported object Type). The 850 TLVs present in the request object body MUST follow the following 851 [RFC5511] grammar: 853 ::= 854 | 856 ::= 857 [] 858 [] 860 ::= 861 [] 862 [] 863 [ []]... 865 For endpoint type Point-to-Point, 2 endpoint TLVs MUST be present in 866 the message. The first endpoint is the source and the second is the 867 destination. 869 For endpoint type Point-to-Multipoint, several END-POINT objects MAY 870 be present in the message and the exact meaning depending on the 871 endpoint type defined for the object. The first endpoint TLV is the 872 root and other endpoints TLVs are the leaves. The root endpoint MUST 873 be the same for all END-POINTS objects for that P2MP tree request. 874 If the root endpoint is not the same for all END-POINTS, a PCErr with 875 Error-Type=17 (P2MP END-POINTS Error), Error-value=4 (The PCE cannot 876 satisfy the request due to inconsistent END-POINTS) MUST be returned. 877 The procedure defined in [RFC8306] Section 3.10 also apply to the 878 Generalized Endpoint with Point-to-Multipoint endpoint types. 880 An endpoint is defined as follows: 882 ::=|| 883 ::= 884 [] 886 ::= 887 [][] 889 ::= 890 [] 891 ::= 893 The different TLVs are described in the following sections. A PCE 894 MAY support any or all of IPV4-ADDRESS, IPV6-ADDRESS, and UNNUMBERED- 895 ENDPOINT TLVs. When receiving a PCReq, a PCE unable to resolve the 896 identifier in one of those TLVs MUST respond using a PCRep with NO- 897 PATH and set the bit "Unknown destination" or "Unknown source" in the 898 NO-PATH-VECTOR TLV. The response SHOULD include the END-POINTS 899 object with only the unsupported TLV(s). 901 A PCE MAY support either or both of the LABEL-REQUEST and LABEL-SET 902 TLVs. If a PCE finds a non-supported TLV in the END-POINTS the PCE 903 MUST respond with a PCErr message with Error-Type=4 (Not supported 904 object) and Error-value=TBA-15 (Unsupported TLV present in END-POINTS 905 Generalized Endpoint object type) and the message SHOULD include the 906 END-POINTS object in the response with only the endpoint and endpoint 907 restriction TLV it did not understand. A PCE supporting those TLVs 908 but not being able to fulfil the label restriction MUST send a 909 response with a NO-PATH object which has the bit "No endpoint label 910 resource" or "No endpoint label resource in range" set in the NO- 911 PATH-VECTOR TLV. The response SHOULD include an END-POINTS object 912 containing only the TLV(s) related to the constraints the PCE could 913 not meet. 915 2.5.2. END-POINTS TLV Extensions 917 All endpoint TLVs have the standard PCEP TLV header as defined in 918 [RFC5440] Section 7.1. For the Generalized Endpoint Object Type the 919 TLVs MUST follow the ordering defined in Section 2.5.1. 921 2.5.2.1. IPV4-ADDRESS TLV 923 This TLV represents a numbered endpoint using IPv4 numbering, the 924 format of the IPv4-ADDRESS TLV value (TLV-Type=TBA-6) is as follows: 926 0 1 2 3 927 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 928 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 929 | IPv4 address | 930 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 932 This TLV MAY be ignored, in which case a PCRep with NO-PATH SHOULD be 933 returned, as described in Section 2.5.1. 935 2.5.2.2. IPV6-ADDRESS TLV 937 This TLV represents a numbered endpoint using IPV6 numbering, the 938 format of the IPv6-ADDRESS TLV value (TLV-Type=TBA-7) is as follows: 940 0 1 2 3 941 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 942 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 943 | IPv6 address (16 bytes) | 944 | | 945 | | 946 | | 947 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 949 This TLV MAY be ignored, in which case a PCRep with NO-PATH SHOULD be 950 returned, as described in Section 2.5.1. 952 2.5.2.3. UNNUMBERED-ENDPOINT TLV 954 This TLV represents an unnumbered interface. This TLV has the same 955 semantic as in [RFC3477]. The TLV value is encoded as follows (TLV- 956 Type=TBA-8) 958 0 1 2 3 959 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 960 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 961 | LSR's Router ID | 962 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 963 | Interface ID (32 bits) | 964 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 966 This TLV MAY be ignored, in which case a PCRep with NO-PATH SHOULD be 967 returned, as described in Section 2.5.1. 969 2.5.2.4. LABEL-REQUEST TLV 971 The LABEL-REQUEST TLV indicates the switching capability and encoding 972 type of the following label restriction list for the endpoint. The 973 value format and encoding is the same as described in [RFC3471] 974 Section 3.1 Generalized label request. The LABEL-REQUEST TLV uses 975 TLV-Type=TBA-9. The Encoding Type indicates the encoding type, e.g., 976 SONET/SDH/GigE etc., of the LSP with which the data is associated. 977 The Switching type indicates the type of switching that is being 978 requested on the endpoint. G-PID identifies the payload. This TLV 979 and the following one are defined to satisfy requirement 13 of 980 [RFC7025] for the endpoint. It is not directly related to the TE-LSP 981 label request, which is expressed by the SWITCH-LAYER object. 983 On the path calculation request only the GENERALIZED-BANDWIDTH and 984 SWITCH-LAYER need to be coherent, the endpoint labels could be 985 different (supporting a different LABEL-REQUEST). Hence the label 986 restrictions include a Generalized label request in order to 987 interpret the labels. This TLV MAY be ignored, in which case a PCRep 988 with NO-PATH SHOULD be returned, as described in Section 2.5.1. 990 2.5.2.5. LABEL-SET TLV 992 Label or label range restrictions can be specified for the TE-LSP 993 endpoints. Those are encoded using the LABEL-SET TLV. The label 994 value need to be interpreted with a description on the Encoding and 995 switching type. The REQ-ADAP-CAP object from [RFC8282] can be used 996 in case of mono-layer request, however in case of multilayer it is 997 possible to have more than one object, so it is better to have a 998 dedicated TLV for the label and label request. These TLVs MAY be 999 ignored, in which case a response with NO-PATH SHOULD be returned, as 1000 described in Section 2.5.1. TLVs are encoded as follows (following 1001 [RFC5440]): 1003 o LABEL-SET TLV, Type=TBA-10. The TLV Length is variable, Encoding 1004 follows [RFC3471] Section 3.5 "Label set" with the addition of a U 1005 bit, O bit and L bit. The L bit is used to represent a suggested 1006 set of labels, following the semantic of SUGGESTED_LABEL defined 1007 by [RFC3471]. 1009 0 1 2 3 1010 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 1011 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1012 | Action | Reserved |L|O|U| Label Type | 1013 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1014 | Subchannel 1 | 1015 | ... | 1016 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1017 : : : 1018 : : : 1019 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1020 | Subchannel N | 1021 | ... | 1022 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1024 A LABEL-SET TLV represents a set of possible labels that can be used 1025 on an interface. If the L bit is cleared, the label allocated on the 1026 first endpoint MUST be within the label set range. The action 1027 parameter in the Label set indicates the type of list provided. 1028 These parameters are described by [RFC3471] Section 3.5.1. 1030 The U, O and L bits have the following meaning: 1032 U: Upstream direction: The U bit is set for upstream (revers) 1033 direction in case of bidirectional LSP. 1034 O: Old Label: set when the TLV represent the old (previously 1035 allocated) label in case of re-optimization. The R bit of the RP 1036 object MUST be set to 1. If the L bit is set, this bit SHOULD be 1037 set to 0 and ignored on receipt. When this bit is set, the Action 1038 field MUST be set to 0 (Inclusive List) and the Label Set MUST 1039 contain one subchannel. 1040 L: Loose Label: set when the TLV indicates to the PCE a set of 1041 preferred (ordered) labels to be used. The PCE MAY use those 1042 labels for label allocation. 1044 Labels TLV bits 1046 Several LABEL_SET TLVs MAY be present with the O bit cleared, 1047 LABEL_SET TLVs with L bit set can be combined with a LABEL_SET TLV 1048 with L bit cleared. There MUST NOT be more than two LABEL_SET TLVs 1049 present with the O bit set. If there are two LABEL_SET TLVs present, 1050 there MUST NOT be more than one with the U bit set, and there MUST 1051 NOT be more than one with the U bit cleared. For a given U bit 1052 value, if more than one LABEL_SET TLV with the O bit set is present, 1053 the first TLV MUST be processed and the following TLVs with the same 1054 U and O bit MUST be ignored. 1056 A LABEL-SET TLV with the O and L bit set MUST trigger a PCErr message 1057 with Error-Type=10 (Reception of an invalid object) Error- 1058 value=TBA-25 (Wrong LABEL-SET TLV present with O and L bit set). 1060 A LABEL-SET TLV with the O bit set and an Action Field not set to 0 1061 (Inclusive list) or containing more than one subchannel MUST trigger 1062 a PCErr message with Error-Type=10 (Reception of an invalid object) 1063 Error-value=TBA-26 (Wrong LABEL-SET TLV present with O bit and wrong 1064 format). 1066 If a LABEL-SET TLV is present with O bit set, the R bit of the RP 1067 object MUST be set, otherwise a PCErr message MUST be sent with 1068 Error-Type=10 (Reception of an invalid object) Error-value=TBA-24 1069 (LABEL-SET TLV present with O bit set but without R bit set in RP). 1071 2.6. IRO Extension 1073 The IRO as defined in [RFC5440] is used to include specific objects 1074 in the path. RSVP-TE allows the inclusion of a label definition. In 1075 order to fulfill requirement 13 of [RFC7025] the IRO needs to support 1076 the new subobject type as defined in [RFC3473]: 1078 Type Sub-object 1079 TBA-38 LABEL 1081 The Label subobject MUST follow a subobject identifying a link, 1082 currently an IP address subobject (Type 1 or 2) or an interface ID 1083 (type 4) subobject. If an IP address subobject is used, then the 1084 given IP address MUST be associated with a link. More than one label 1085 subobject MAY follow each link subobject. The procedure associated 1086 with this subobject is as follows. 1088 If the PCE is able to allocate labels (e.g., via explicit label 1089 control) the PCE MUST allocate one label from within the set of label 1090 values for the given link. If the PCE does not assign labels, then 1091 it sends a response with a NO-PATH object, containing a NO-PATH- 1092 VECTOR TLV with the bit 'No label resource in range' set. 1094 2.7. XRO Extension 1096 The XRO as defined in [RFC5521] is used to exclude specific objects 1097 in the path. RSVP-TE allows the exclusion of certain labels 1098 ([RFC6001]). In order to fulfill requirement 13 of [RFC7025] 1099 Section 3.1, the PCEP's XRO needs to support a new subobject to 1100 enable label exclusion. 1102 The encoding of the XRO Label subobject follows the encoding of the 1103 Label ERO subobject defined in [RFC3473] and XRO subobject defined in 1105 [RFC5521]. The XRO Label subobject represent one Label and is 1106 defined as follows: 1108 XRO Subobject Type TBA-39: Label Subobject. 1110 0 1 2 3 1111 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 1112 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1113 |X| Type=TBA-39 | Length |U| Reserved | C-Type | 1114 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1115 | Label | 1116 | ... | 1117 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1119 X (1 bit): as per [RFC5521]. The X-bit indicates whether the 1120 exclusion is mandatory or desired. 0 indicates that the resource 1121 specified MUST be excluded from the path computed by the PCE. 1 1122 indicates that the resource specified SHOULD be excluded from the 1123 path computed by the PCE, but MAY be included subject to PCE 1124 policy and the absence of a viable path that meets the other 1125 constraints and excludes the resource. 1127 Type (7 bits): The Type of the XRO Label subobject is TBA-39. 1129 Length (8 bits): see [RFC5521], the total length of the subobject 1130 in bytes (including the Type and Length fields). The Length is 1131 always divisible by 4. 1133 U (1 bit): see [RFC3471] Section 6.1. 1135 C-Type (8 bits): the C-Type of the included Label Object as 1136 defined in [RFC3473]. 1138 Label: see [RFC3471]. 1140 The Label subobject MUST follow a subobject identifying a link, 1141 currently an IP address subobject (Type 1 or 2) or an interface ID 1142 (type 4) subobject. If an IP address subobject is used, then the 1143 given IP address MUST be associated with a link. More than one label 1144 subobject MAY follow each link subobject. 1146 Type Sub-object 1147 3 LABEL 1149 2.8. LSPA Extensions 1151 The LSPA carries the LSP attributes. In the end-to-end recovery 1152 context, this also includes the protection state information. A new 1153 TLV is defined to fulfil requirement 7 of [RFC7025] Section 3.1 and 1154 requirement 3 of [RFC7025] Section 3.2. This TLV contains the 1155 information of the PROTECTION object defined by [RFC4872] and can be 1156 used as a policy input. The LSPA object MAY carry a PROTECTION- 1157 ATTRIBUTE TLV defined as: Type TBA-12: PROTECTION-ATTRIBUTE 1159 0 1 2 3 1160 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 1161 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1162 | Type | Length | 1163 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1164 |S|P|N|O| Reserved | LSP Flags | Reserved | Link Flags| 1165 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1166 |I|R| Reserved | Seg.Flags | Reserved | 1167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1169 The content is as defined in [RFC4872] Section 14, [RFC4873] 1170 Section 6.1. 1172 LSP (protection) Flags or Link flags field can be used by a PCE 1173 implementation for routing policy input. The other attributes are 1174 only meaningful for a stateful PCE. 1176 This TLV is OPTIONAL and MAY be ignored by the PCE. If ignored by 1177 the PCE, it MUST NOT include the TLV in the LSPA of the response. 1178 When the TLV is used by the PCE, a LSPA object and the PROTECTION- 1179 ATTRIBUTE TLV MUST be included in the response. Fields that were not 1180 considered MUST be set to 0. 1182 2.9. NO-PATH Object Extension 1184 The NO-PATH object is used in PCRep messages in response to an 1185 unsuccessful path computation request (the PCE could not find a path 1186 satisfying the set of constraints). In this scenario, PCE MUST 1187 include a NO-PATH object in the PCRep message. The NO-PATH object 1188 MAY carry the NO-PATH-VECTOR TLV that specifies more information on 1189 the reasons that led to a negative reply. In case of GMPLS networks 1190 there could be some additional constraints that led to the failure 1191 such as protection mismatch, lack of resources, and so on. Several 1192 new flags have been defined in the 32-bit flag field of the NO-PATH- 1193 VECTOR TLV but no modifications have been made in the NO-PATH object. 1195 2.9.1. Extensions to NO-PATH-VECTOR TLV 1197 The modified NO-PATH-VECTOR TLV carrying the additional information 1198 is as follows: 1200 Bit number TBA-32 - Protection Mismatch (1-bit). Specifies the 1201 mismatch of the protection type in the PROTECTION-ATTRIBUTE TLV in 1202 the request. 1204 Bit number TBA-33 - No Resource (1-bit). Specifies that the 1205 resources are not currently sufficient to provide the path. 1207 Bit number TBA-34 - Granularity not supported (1-bit). Specifies 1208 that the PCE is not able to provide a path with the requested 1209 granularity. 1211 Bit number TBA-35 - No endpoint label resource (1-bit). Specifies 1212 that the PCE is not able to provide a path because of the endpoint 1213 label restriction. 1215 Bit number TBA-36 - No endpoint label resource in range (1-bit). 1216 Specifies that the PCE is not able to provide a path because of 1217 the endpoint label set restriction. 1219 Bit number TBA-37 - No label resource in range (1-bit). Specifies 1220 that the PCE is not able to provide a path because of the label 1221 set restriction. 1223 3. Additional Error-Types and Error-Values Defined 1225 A PCEP-ERROR object is used to report a PCEP error and is 1226 characterized by an Error-Type that specifies the type of error while 1227 Error-value that provides additional information about the error. An 1228 additional error type and several error values are defined to 1229 represent some of the errors related to the newly identified objects 1230 related to GMPLS networks. For each PCEP error, an Error-Type and an 1231 Error-value are defined. Error-Type 1 to 10 are already defined in 1232 [RFC5440]. Additional Error-values are defined for Error-Types 4 and 1233 10. A new Error-Type is defined (value TBA-27). 1235 The Error-Type TBA-27 (path computation failure) is used to reflect 1236 constraints not understood by the PCE, for instance when the PCE is 1237 not able to understand the generalized bandwidth. If the constraints 1238 are understood, but the PCE is unable to find with those constraints, 1239 the NO-PATH is to be used. 1241 Error-Type Error-value 1243 4 Not supported 1244 object 1245 value=TBA-14: Bandwidth Object type TBA-2 or TBA-3 not 1246 supported 1247 value=TBA-15: Unsupported endpoint type in 1248 END-POINTS Generalized Endpoint 1249 object type 1250 value=TBA-16: Unsupported TLV present in END-POINTS 1251 Generalized Endpoint object type 1252 value=TBA-17: Unsupported granularity in the RP object 1253 flags 1254 10 Reception of 1255 an invalid 1256 object 1257 value=TBA-18: Bad Bandwidth Object type TBA-2(Generalized 1258 bandwidth) or TBA-3( Generalized bandwidth 1259 of existing TE-LSP for which a 1260 reoptimization is requested) 1261 value=TBA-20: Unsupported LSP Protection Flags in 1262 PROTECTION-ATTRIBUTE TLV 1263 value=TBA-21: Unsupported Secondary LSP Protection Flags 1264 in PROTECTION-ATTRIBUTE TLV 1265 value=TBA-22: Unsupported Link Protection Type in 1266 PROTECTION-ATTRIBUTE TLV 1267 value=TBA-24: LABEL-SET TLV present with 0 bit set but 1268 without R bit set in RP 1269 value=TBA-25: Wrong LABEL-SET 1270 TLV present with 1271 0 and L bit set 1272 value=TBA-26: Wrong LABEL-SET with O bit set and wrong 1273 format 1274 value=TBA-42: Missing GMPLS-CAPABILITY TLV 1275 TBA-27 Path 1276 computation 1277 failure 1278 value=0: Unassigned 1279 value=TBA-28: Unacceptable request message 1280 value=TBA-29: Generalized bandwidth value not supported 1281 value=TBA-30: Label Set constraint could not be 1282 met 1283 value=TBA-31: Label constraint could not be 1284 met 1286 4. Manageability Considerations 1288 This section follows the guidance of [RFC6123]. 1290 4.1. Control of Function through Configuration and Policy 1292 This document makes no change to the basic operation of PCEP and so 1293 the requirements described in [RFC5440] Section 8.1. also apply to 1294 this document. In addition to those requirements a PCEP 1295 implementation may allow the configuration of the following 1296 parameters: 1298 Accepted RG in the RP object. 1300 Default RG to use (overriding the one present in the PCReq) 1302 Accepted BANDWIDTH object type TBA-2 and TBA-3 parameters in 1303 request, default mapping to use when not specified in the request 1305 Accepted LOAD-BALANCING object type TBA-4 parameters in request. 1307 Accepted endpoint type and allowed TLVs in object END-POINTS with 1308 object type Generalized Endpoint. 1310 Accepted range for label restrictions in label restriction in END- 1311 POINTS, or IRO or XRO objects 1313 PROTECTION-ATTRIBUTE TLV acceptance and suppression. 1315 The configuration of the above parameters is applicable to the 1316 different sessions as described in [RFC5440] Section 8.1 (by default, 1317 per PCEP peer, etc.). 1319 4.2. Information and Data Models 1321 This document makes no change to the basic operation of PCEP and so 1322 the requirements described in [RFC5440] Section 8.2. also apply to 1323 this document. This document does not introduce any new ERO sub 1324 objects, so that the, ERO information model is already covered in 1325 [RFC4802]. 1327 4.3. Liveness Detection and Monitoring 1329 This document makes no change to the basic operation of PCEP and so 1330 there are no changes to the requirements for liveness detection and 1331 monitoring set out in [RFC4657] and [RFC5440] Section 8.3. 1333 4.4. Verifying Correct Operation 1335 This document makes no change to the basic operations of PCEP and 1336 considerations described in [RFC5440] Section 8.4. New errors 1337 defined by this document should satisfy the requirement to log error 1338 events. 1340 4.5. Requirements on Other Protocols and Functional Components 1342 No new Requirements on Other Protocols and Functional Components are 1343 made by this document. This document does not require ERO object 1344 extensions. Any new ERO subobject defined in the TEAS or CCAMP 1345 working group can be adopted without modifying the operations defined 1346 in this document. 1348 4.6. Impact on Network Operation 1350 This document makes no change to the basic operations of PCEP and 1351 considerations described in [RFC5440] Section 8.6. In addition to 1352 the limit on the rate of messages sent by a PCEP speaker, a limit MAY 1353 be placed on the size of the PCEP messages. 1355 5. IANA Considerations 1357 IANA assigns values to the PCEP objects and TLVs. IANA is requested 1358 to make some allocations for the newly defined objects and TLVs 1359 defined in this document. Also, IANA is requested to manage the 1360 space of flags that are newly added in the TLVs. 1362 5.1. PCEP Objects 1364 As described in Section 2.3, Section 2.4 and Section 2.5.1 new 1365 Objects types are defined. IANA is requested to make the following 1366 Object-Type allocations from the "PCEP Objects" sub-registry. 1368 Object 5 1369 Class 1370 Name BANDWIDTH 1371 Object-Type TBA-2: Generalized bandwidth 1372 TBA-3: Generalized bandwidth of an existing TE-LSP for 1373 which a reoptimization is requested 1374 Reference This document (Section 2.3) 1376 Object 14 1377 Class 1378 Name LOAD-BALANCING 1379 Object-Type TBA-4: Generalized Load Balancing 1381 Reference This document (Section 2.4) 1382 Object 4 1383 Class 1384 Name END-POINTS 1385 Object-Type TBA-5: Generalized Endpoint 1386 Reference This document (Section 2.5) 1388 5.2. Endpoint type field in Generalized END-POINTS Object 1390 IANA is requested to create a registry to manage the Endpoint Type 1391 field of the END-POINTS object, Object Type Generalized Endpoint and 1392 manage the code space. 1394 New endpoint type in the Reserved range are assigned by Standards 1395 Action [RFC8126]. Each endpoint type should be tracked with the 1396 following attributes: 1398 o Endpoint type 1400 o Description 1402 o Defining RFC 1404 New endpoint type in the Experimental range are for experimental use; 1405 these will not be registered with IANA and MUST NOT be mentioned by 1406 RFCs. 1408 The following values have been defined by this document. 1409 (Section 2.5.1, Table 5): 1411 Value Type Meaning 1413 0 Point-to-Point 1414 1 Point-to-Multipoint New leaves to add 1415 2 Old leaves to remove 1416 3 Old leaves whose path can be 1417 modified/reoptimized 1418 4 Old leaves whose path has to be 1419 left unchanged 1420 5-244 Unassigned 1421 245-255 Experimental range 1423 5.3. New PCEP TLVs 1425 IANA manages the PCEP TLV code point registry (see [RFC5440]). This 1426 is maintained as the "PCEP TLV Type Indicators" sub-registry of the 1427 "Path Computation Element Protocol (PCEP) Numbers" registry. IANA is 1428 requested to do the following allocation. Note: TBA-11 is not used 1430 Value Meaning Reference 1432 TBA-6 IPV4-ADDRESS This document (Section 2.5.2.1) 1433 TBA-7 IPV6-ADDRESS This document (Section 2.5.2.2) 1434 TBA-8 UNNUMBERED-ENDPOINT This document (Section 2.5.2.3) 1435 TBA-9 LABEL-REQUEST This document (Section 2.5.2.4) 1436 TBA-10 LABEL-SET This document (Section 2.5.2.5) 1437 TBA-12 PROTECTION-ATTRIBUTE This document (Section 2.8) 1438 TBA-1 GMPLS-CAPABILITY This document (Section 2.1.2) 1440 5.4. RP Object Flag Field 1442 As described in Section 2.2 new flag are defined in the RP Object 1443 Flag IANA is requested to make the following Object-Type allocations 1444 from the "RP Object Flag Field" sub-registry. 1446 Bit Description Reference 1448 TBA-13 routing granularity (2 bits) This document, Section 2.2 1449 (RG) 1451 5.5. New PCEP Error Codes 1453 As described in Section 3, new PCEP Error-Types and Error-values are 1454 defined. IANA is requested to make the following allocation in the 1455 "PCEP-ERROR Object Error Types and Values" registry. 1457 Error name Reference 1459 Type=4 Not supported object [RFC5440] 1460 Value=TBA-14: Bandwidth Object type TBA-2 or TBA-3 not This Document 1461 supported 1462 Value=TBA-15: Unsupported endpoint type in END-POINTS This Document 1463 Generalized Endpoint object type 1464 Value=TBA-16: Unsupported TLV present in END-POINTS This Document 1465 Generalized Endpoint object type 1466 Value=TBA-17: Unsupported granularity in the RP object This Document 1467 flags 1468 Type=10 Reception of an invalid object [RFC5440] 1469 Value=TBA-18: Bad Bandwidth Object type This Document 1470 TBA-2(Generalized bandwidth) or 1471 TBA-3(Generalized bandwidth of existing 1472 TE-LSP for which a reoptimization is 1473 requested) 1474 Value=TBA-20: Unsupported LSP Protection Flags in This Document 1475 PROTECTION-ATTRIBUTE TLV 1476 Value=TBA-21: Unsupported Secondary LSP Protection This Document 1477 Flags in PROTECTION-ATTRIBUTE TLV 1478 Value=TBA-22: Unsupported Link Protection Type in This Document 1479 PROTECTION-ATTRIBUTE TLV 1480 Value=TBA-24: LABEL-SET TLV present with 0 bit set but This Document 1481 without R bit set in RP 1482 Value=TBA-25: Wrong LABEL-SET TLV present with 0 and L This Document 1483 bit set 1484 Value=TBA-26: Wrong LABEL-SET with O bit set and wrong This Document 1485 format 1486 Value=TBA-42: Missing GMPLS-CAPABILITY TLV This Document 1487 Type=TBA-27 Path computation failure This Document 1488 Value=0 Unassigned This Document 1489 Value=TBA-28: Unacceptable request message This Document 1490 Value=TBA-29: Generalized bandwidth value not supported This Document 1491 Value=TBA-30: Label Set constraint could not be met This Document 1492 Value=TBA-31: Label constraint could not be met This Document 1494 5.6. New NO-PATH-VECTOR TLV Fields 1496 As described in Section 2.9.1, new NO-PATH-VECTOR TLV Flag Fields 1497 have been defined. IANA is requested to do the following allocations 1498 in the "NO-PATH-VECTOR TLV Flag Field" sub-registry. 1500 Bit number TBA-32 - Protection Mismatch (1-bit). Specifies the 1501 mismatch of the protection type of the PROTECTION-ATTRIBUTE TLV in 1502 the request. 1504 Bit number TBA-33 - No Resource (1-bit). Specifies that the 1505 resources are not currently sufficient to provide the path. 1507 Bit number TBA-34 - Granularity not supported (1-bit). Specifies 1508 that the PCE is not able to provide a path with the requested 1509 granularity. 1511 Bit number TBA-35 - No endpoint label resource (1-bit). Specifies 1512 that the PCE is not able to provide a path because of the endpoint 1513 label restriction. 1515 Bit number TBA-36 - No endpoint label resource in range (1-bit). 1516 Specifies that the PCE is not able to provide a path because of 1517 the endpoint label set restriction. 1519 Bit number TBA-37 - No label resource in range (1-bit). Specifies 1520 that the PCE is not able to provide a path because of the label 1521 set restriction. 1523 Bit number TBA-40 - LOAD-BALANCING could not be performed with the 1524 bandwidth constraits (1 bit). Specifies that the PCE is not able 1525 to provide a path because it could not map the BANDWIDTH into the 1526 parameters specified by the LOAD-BALANCING. 1528 5.7. New Subobject for the Include Route Object 1530 The "PCEP Parameters" registry contains a subregistry "IRO 1531 Subobjects" with an entry for the Include Route Object (IRO). 1533 IANA is requested to add a further subobject that can be carried in 1534 the IRO as follows: 1536 Subobject type Reference 1538 TBA-38 Label subobject This Document 1540 5.8. New Subobject for the Exclude Route Object 1542 The "PCEP Parameters" registry contains a subregistry "XRO 1543 Subobjects" with an entry for the XRO object (Exclude Route Object). 1545 IANA is requested to add a further subobject that can be carried in 1546 the XRO as follows: 1548 Subobject type Reference 1550 TBA-39 Label subobject This Document 1552 5.9. New GMPLS-CAPABILITY TLV Flag Field 1554 IANA is requested to create a sub-registry to manage the Flag field 1555 of the GMPLS-CAPABILITY TLV within the "Path Computation Element 1556 Protocol (PCEP) Numbers" registry. 1558 New bit numbers are to be assigned by Standards Action [RFC8126]. 1559 Each bit should be tracked with the following qualities: 1561 o Bit number (counting from bit 0 as the most significant bit) 1563 o Capability description 1565 o Defining RFC 1567 The initial contents of the sub-registry are empty, with all bits 1568 marked unassigned 1570 6. Security Considerations 1572 GMPLS controls multiple technologies and types of network elements. 1573 The LSPs that are established using GMPLS, whose paths can be 1574 computed using the PCEP extensions to support GMPLS described in this 1575 document, can carry a high volume of traffic and can be a critical 1576 part of a network infrastructure. The PCE can then play a key role 1577 in the use of the resources and in determining the physical paths of 1578 the LSPs and thus it is important to ensure the identity of PCE and 1579 PCC, as well as the communication channel. In many deployments there 1580 will be a completely isolated network where an external attack is of 1581 very low probability. However, there are other deployment cases in 1582 which the PCC-PCE communication can be more exposed and there could 1583 be more security considerations. Three main situations in case of an 1584 attack in the GMPLS PCE context could happen: 1586 o PCE Identity theft: A legitimate PCC could request a path for a 1587 GMPLS LSP to a malicious PCE, which poses as a legitimate PCE. 1588 The answer can make that the LSP traverses some geographical place 1589 known to the attacker where confidentiality (sniffing), integrity 1590 (traffic modification) or availability (traffic drop) attacks 1591 could be performed by use of an attacker-controlled middlebox 1592 device. Also, the resulting LSP can omit constraints given in the 1593 requests (e.g., excluding certain fibers, avoiding some SRLGs) 1594 which could make that the LSP which will be later set-up can look 1595 perfectly fine, but will be in a risky situation. Also, the 1596 result can lead to the creation of an LSP that does not provide 1597 the desired quality and gives less resources than necessary. 1599 o PCC Identity theft: A malicious PCC, acting as a legitimate PCC, 1600 requesting LSP paths to a legitimate PCE can obtain a good 1601 knowledge of the physical topology of a critical infrastructure. 1602 It could get to know enough details to plan a later physical 1603 attack. 1605 o Message inspection: As in the previous case, knowledge of an 1606 infrastructure can be obtained by sniffing PCEP messages. 1608 The security mechanisms can provide authentication and 1609 confidentiality for those scenarios where the PCC-PCE communication 1610 cannot be completely trusted. [RFC8253] provides origin 1611 verification, message integrity and replay protection, and ensures 1612 that a third party cannot decipher the contents of a message. 1614 In order to protect against the malicious PCE case the PCC SHOULD 1615 have policies in place to accept or not the path provided by the PCE. 1616 Those policies can verify if the path follows the provided 1617 constraints. In addition, technology specific data plane mechanism 1618 can be used (following [RFC5920] Section 5.8) to verify the data 1619 plane connectivity and deviation from constraints. 1621 The document [RFC8253] describes the usage of Transport Layer 1622 Security (TLS) to enhance PCEP security. The document describes the 1623 initiation of the TLS procedures, the TLS handshake mechanisms, the 1624 TLS methods for peer authentication, the applicable TLS ciphersuites 1625 for data exchange, and the handling of errors in the security checks. 1626 PCE and PCC SHOULD use [RFC8253] mechanism to protect against 1627 malicious PCC and PCE. 1629 Finally, as mentioned by [RFC7025] the PCEP extensions to support 1630 GMPLS should be considered under the same security as current PCE 1631 work and this extension will not change the underlying security 1632 issues. However, given the critical nature of the network 1633 infrastructures under control by GMPLS, the security issues described 1634 above should be seriously considered when deploying a GMPLS-PCE based 1635 control plane for such networks. For more information on the 1636 security considerations on a GMPLS control plane, not only related to 1637 PCE/PCEP, [RFC5920] provides an overview of security vulnerabilities 1638 of a GMPLS control plane. 1640 7. Contributing Authors 1642 Elie Sfeir 1643 Coriant 1644 St Martin Strasse 76 1645 Munich, 81541 1646 Germany 1647 Email: elie.sfeir@coriant.com 1649 Franz Rambach 1650 Nockherstrasse 2-4, 1651 Munich 81541 1652 Germany 1654 Phone: +49 178 8855738 1655 Email: franz.rambach@cgi.com 1657 Francisco Javier Jimenez Chico 1658 Telefonica Investigacion y Desarrollo 1659 C/ Emilio Vargas 6 1660 Madrid, 28043 1661 Spain 1663 Phone: +34 91 3379037 1664 Email: fjjc@tid.es 1666 Huawei Technologies 1668 Suresh BR 1669 Shenzhen 1670 China 1671 Email: sureshbr@huawei.com 1673 Young Lee 1674 1700 Alma Drive, Suite 100 1675 Plano, TX 75075 1676 USA 1678 Phone: (972) 509-5599 (x2240) 1679 Email: ylee@huawei.com 1681 SenthilKumar S 1682 Shenzhen 1683 China 1684 Email: senthilkumars@huawei.com 1686 Jun Sun 1687 Shenzhen 1688 China 1689 Email: johnsun@huawei.com 1691 CTTC - Centre Tecnologic de Telecomunicacions de Catalunya 1693 Ramon Casellas 1694 PMT Ed B4 Av. Carl Friedrich Gauss 7 1695 08860 Castelldefels (Barcelona) 1696 Spain 1697 Phone: (34) 936452916 1698 Email: ramon.casellas@cttc.es 1700 8. Acknowledgments 1702 The research of Ramon Casellas, Francisco Javier Jimenez Chico, Oscar 1703 Gonzalez de Dios, Cyril Margaria, and Franz Rambach leading to these 1704 results has received funding from the European Community's Seventh 1705 Framework Program FP7/2007-2013 under grant agreement no 247674 and 1706 no 317999. 1708 The authors would like to thank Julien Meuric, Lyndon Ong, Giada 1709 Lander, Jonathan Hardwick, Diego Lopez, David Sinicrope, Vincent 1710 Roca, Dhruv Dhody, Adrian Farrel and Tianran Zhou for their review 1711 and useful comments to the document. 1713 Thanks to Alisa Cooper, Benjamin Kaduk, Elwun-davies, Martin 1714 Vigoureux, Roman Danyliw, and Suresh Krishnan for the IESG comments 1716 9. References 1718 9.1. Normative References 1720 [G.709-v3] 1721 ITU-T, "Interfaces for the optical transport network, 1722 Recommendation G.709/Y.1331", June 2016, 1723 . 1725 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1726 Requirement Levels", BCP 14, RFC 2119, 1727 DOI 10.17487/RFC2119, March 1997, 1728 . 1730 [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated 1731 Services", RFC 2210, DOI 10.17487/RFC2210, September 1997, 1732 . 1734 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 1735 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 1736 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 1737 . 1739 [RFC3471] Berger, L., Ed., "Generalized Multi-Protocol Label 1740 Switching (GMPLS) Signaling Functional Description", 1741 RFC 3471, DOI 10.17487/RFC3471, January 2003, 1742 . 1744 [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label 1745 Switching (GMPLS) Signaling Resource ReserVation Protocol- 1746 Traffic Engineering (RSVP-TE) Extensions", RFC 3473, 1747 DOI 10.17487/RFC3473, January 2003, 1748 . 1750 [RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links 1751 in Resource ReSerVation Protocol - Traffic Engineering 1752 (RSVP-TE)", RFC 3477, DOI 10.17487/RFC3477, January 2003, 1753 . 1755 [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering 1756 (TE) Extensions to OSPF Version 2", RFC 3630, 1757 DOI 10.17487/RFC3630, September 2003, 1758 . 1760 [RFC4003] Berger, L., "GMPLS Signaling Procedure for Egress 1761 Control", RFC 4003, DOI 10.17487/RFC4003, February 2005, 1762 . 1764 [RFC4328] Papadimitriou, D., Ed., "Generalized Multi-Protocol Label 1765 Switching (GMPLS) Signaling Extensions for G.709 Optical 1766 Transport Networks Control", RFC 4328, 1767 DOI 10.17487/RFC4328, January 2006, 1768 . 1770 [RFC4606] Mannie, E. and D. Papadimitriou, "Generalized Multi- 1771 Protocol Label Switching (GMPLS) Extensions for 1772 Synchronous Optical Network (SONET) and Synchronous 1773 Digital Hierarchy (SDH) Control", RFC 4606, 1774 DOI 10.17487/RFC4606, August 2006, 1775 . 1777 [RFC4802] Nadeau, T., Ed. and A. Farrel, Ed., "Generalized 1778 Multiprotocol Label Switching (GMPLS) Traffic Engineering 1779 Management Information Base", RFC 4802, 1780 DOI 10.17487/RFC4802, February 2007, 1781 . 1783 [RFC4872] Lang, J., Ed., Rekhter, Y., Ed., and D. Papadimitriou, 1784 Ed., "RSVP-TE Extensions in Support of End-to-End 1785 Generalized Multi-Protocol Label Switching (GMPLS) 1786 Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007, 1787 . 1789 [RFC4873] Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel, 1790 "GMPLS Segment Recovery", RFC 4873, DOI 10.17487/RFC4873, 1791 May 2007, . 1793 [RFC5088] Le Roux, JL., Ed., Vasseur, JP., Ed., Ikejiri, Y., and R. 1794 Zhang, "OSPF Protocol Extensions for Path Computation 1795 Element (PCE) Discovery", RFC 5088, DOI 10.17487/RFC5088, 1796 January 2008, . 1798 [RFC5089] Le Roux, JL., Ed., Vasseur, JP., Ed., Ikejiri, Y., and R. 1799 Zhang, "IS-IS Protocol Extensions for Path Computation 1800 Element (PCE) Discovery", RFC 5089, DOI 10.17487/RFC5089, 1801 January 2008, . 1803 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 1804 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 1805 DOI 10.17487/RFC5440, March 2009, 1806 . 1808 [RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax 1809 Used to Form Encoding Rules in Various Routing Protocol 1810 Specifications", RFC 5511, DOI 10.17487/RFC5511, April 1811 2009, . 1813 [RFC5520] Bradford, R., Ed., Vasseur, JP., and A. Farrel, 1814 "Preserving Topology Confidentiality in Inter-Domain Path 1815 Computation Using a Path-Key-Based Mechanism", RFC 5520, 1816 DOI 10.17487/RFC5520, April 2009, 1817 . 1819 [RFC5521] Oki, E., Takeda, T., and A. Farrel, "Extensions to the 1820 Path Computation Element Communication Protocol (PCEP) for 1821 Route Exclusions", RFC 5521, DOI 10.17487/RFC5521, April 1822 2009, . 1824 [RFC5541] Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of 1825 Objective Functions in the Path Computation Element 1826 Communication Protocol (PCEP)", RFC 5541, 1827 DOI 10.17487/RFC5541, June 2009, 1828 . 1830 [RFC6001] Papadimitriou, D., Vigoureux, M., Shiomoto, K., Brungard, 1831 D., and JL. Le Roux, "Generalized MPLS (GMPLS) Protocol 1832 Extensions for Multi-Layer and Multi-Region Networks (MLN/ 1833 MRN)", RFC 6001, DOI 10.17487/RFC6001, October 2010, 1834 . 1836 [RFC6003] Papadimitriou, D., "Ethernet Traffic Parameters", 1837 RFC 6003, DOI 10.17487/RFC6003, October 2010, 1838 . 1840 [RFC6205] Otani, T., Ed. and D. Li, Ed., "Generalized Labels for 1841 Lambda-Switch-Capable (LSC) Label Switching Routers", 1842 RFC 6205, DOI 10.17487/RFC6205, March 2011, 1843 . 1845 [RFC6387] Takacs, A., Berger, L., Caviglia, D., Fedyk, D., and J. 1846 Meuric, "GMPLS Asymmetric Bandwidth Bidirectional Label 1847 Switched Paths (LSPs)", RFC 6387, DOI 10.17487/RFC6387, 1848 September 2011, . 1850 [RFC7139] Zhang, F., Ed., Zhang, G., Belotti, S., Ceccarelli, D., 1851 and K. Pithewan, "GMPLS Signaling Extensions for Control 1852 of Evolving G.709 Optical Transport Networks", RFC 7139, 1853 DOI 10.17487/RFC7139, March 2014, 1854 . 1856 [RFC7570] Margaria, C., Ed., Martinelli, G., Balls, S., and B. 1857 Wright, "Label Switched Path (LSP) Attribute in the 1858 Explicit Route Object (ERO)", RFC 7570, 1859 DOI 10.17487/RFC7570, July 2015, 1860 . 1862 [RFC7792] Zhang, F., Zhang, X., Farrel, A., Gonzalez de Dios, O., 1863 and D. Ceccarelli, "RSVP-TE Signaling Extensions in 1864 Support of Flexi-Grid Dense Wavelength Division 1865 Multiplexing (DWDM) Networks", RFC 7792, 1866 DOI 10.17487/RFC7792, March 2016, 1867 . 1869 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1870 Writing an IANA Considerations Section in RFCs", BCP 26, 1871 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1872 . 1874 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1875 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1876 May 2017, . 1878 [RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, 1879 "PCEPS: Usage of TLS to Provide a Secure Transport for the 1880 Path Computation Element Communication Protocol (PCEP)", 1881 RFC 8253, DOI 10.17487/RFC8253, October 2017, 1882 . 1884 [RFC8282] Oki, E., Takeda, T., Farrel, A., and F. Zhang, "Extensions 1885 to the Path Computation Element Communication Protocol 1886 (PCEP) for Inter-Layer MPLS and GMPLS Traffic 1887 Engineering", RFC 8282, DOI 10.17487/RFC8282, December 1888 2017, . 1890 [RFC8306] Zhao, Q., Dhody, D., Ed., Palleti, R., and D. King, 1891 "Extensions to the Path Computation Element Communication 1892 Protocol (PCEP) for Point-to-Multipoint Traffic 1893 Engineering Label Switched Paths", RFC 8306, 1894 DOI 10.17487/RFC8306, November 2017, 1895 . 1897 9.2. Informative References 1899 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 1900 Element (PCE)-Based Architecture", RFC 4655, 1901 DOI 10.17487/RFC4655, August 2006, 1902 . 1904 [RFC4657] Ash, J., Ed. and J. Le Roux, Ed., "Path Computation 1905 Element (PCE) Communication Protocol Generic 1906 Requirements", RFC 4657, DOI 10.17487/RFC4657, September 1907 2006, . 1909 [RFC5920] Fang, L., Ed., "Security Framework for MPLS and GMPLS 1910 Networks", RFC 5920, DOI 10.17487/RFC5920, July 2010, 1911 . 1913 [RFC6123] Farrel, A., "Inclusion of Manageability Sections in Path 1914 Computation Element (PCE) Working Group Drafts", RFC 6123, 1915 DOI 10.17487/RFC6123, February 2011, 1916 . 1918 [RFC6163] Lee, Y., Ed., Bernstein, G., Ed., and W. Imajuku, 1919 "Framework for GMPLS and Path Computation Element (PCE) 1920 Control of Wavelength Switched Optical Networks (WSONs)", 1921 RFC 6163, DOI 10.17487/RFC6163, April 2011, 1922 . 1924 [RFC7025] Otani, T., Ogaki, K., Caviglia, D., Zhang, F., and C. 1925 Margaria, "Requirements for GMPLS Applications of PCE", 1926 RFC 7025, DOI 10.17487/RFC7025, September 2013, 1927 . 1929 [RFC7449] Lee, Y., Ed., Bernstein, G., Ed., Martensson, J., Takeda, 1930 T., Tsuritani, T., and O. Gonzalez de Dios, "Path 1931 Computation Element Communication Protocol (PCEP) 1932 Requirements for Wavelength Switched Optical Network 1933 (WSON) Routing and Wavelength Assignment", RFC 7449, 1934 DOI 10.17487/RFC7449, February 2015, 1935 . 1937 Appendix A. LOAD-BALANCING Usage for SDH Virtual Concatenation 1939 For example a request for one co-signaled n x VC-4 TE-LSP will not 1940 use the LOAD-BALANCING. In case the VC-4 components can use 1941 different paths, the BANDWIDTH with object type TBA-2 will contain a 1942 traffic specification indicating the complete n x VC-4 traffic 1943 specification and the LOAD-BALANCING the minimum co-signaled VC-4. 1944 For an SDH network, a request to have a TE-LSP group with 10 VC-4 1945 containers, each path using at minimum 2 x VC-4 containers, can be 1946 represented with a BANDWIDTH object with OT=TBA-2, Bw Spec Type set 1947 to 4, the content of the Generalized Bandwidth is ST=6, RCC=0, NCC=0, 1948 NVC=10, MT=1. The LOAD-BALANCING, OT=TBA-4 with Bw Spec Type set to 1949 4, Max-LSP=5, Min Bandwidth Spec is (ST=6, RCC=0, NCC=0, NVC=2, 1950 MT=1). The PCE can respond with a response with maximum 5 paths, 1951 each of them having a BANDWIDTH OT=TBA-2 and Generalized Bandwidth 1952 matching the Min Bandwidth Spec from the LOAD-BALANCING object of the 1953 corresponding request. 1955 Authors' Addresses 1957 Cyril Margaria (editor) 1958 Juniper 1960 Email: cmargaria@juniper.net 1962 Oscar Gonzalez de Dios (editor) 1963 Telefonica Investigacion y Desarrollo 1964 C/ Ronda de la Comunicacion 1965 Madrid 28050 1966 Spain 1968 Phone: +34 91 4833441 1969 Email: oscar.gonzalezdedios@telefonica.com 1970 Fatai Zhang (editor) 1971 Huawei Technologies 1972 F3-5-B R&D Center, Huawei Base 1973 Bantian, Longgang District 1974 Shenzhen 518129 1975 P.R.China 1977 Email: zhangfatai@huawei.com