idnits 2.17.1 draft-zhang-pce-hierarchy-extensions-02.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 : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([I-D.ietf-pce-hierarchy-fwk]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 16, 2012) is 4273 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) == Missing Reference: 'RFC3477' is mentioned on line 723, but not defined ** Downref: Normative reference to an Informational RFC: RFC 4655 ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) ** Obsolete normative reference: RFC 5316 (Obsoleted by RFC 9346) == Outdated reference: A later version (-05) exists of draft-ietf-pce-hierarchy-fwk-04 Summary: 4 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group F. Zhang, Ed. 3 Internet-Draft Q. Zhao 4 Intended status: Standards Track Huawei 5 Expires: January 17, 2013 O. Gonzalez de Dios, Ed. 6 Telefonica I+D 7 R. Casellas 8 CTTC 9 D. King 10 Old Dog Consulting 11 July 16, 2012 13 Extensions to Path Computation Element Communication Protocol (PCEP) for 14 Hierarchical Path Computation Elements (PCE) 15 draft-zhang-pce-hierarchy-extensions-02 17 Abstract 19 The Hierarchical Path Computation Element (H-PCE) architecture, 20 defined in the companion framework document [I-D.ietf-pce-hierarchy- 21 fwk], facilitates to obtain optimum end-to-end, multi-domain paths 22 when the sequence of domains is not known in advance. Such H-PCE 23 architecture allows the selection of an optimum domain sequence and, 24 through the use of a hierarchical relationship between domains, 25 derive the optimum end-to-end path. 27 This document defines the Path Computation Element Protocol (PCEP) 28 extensions for the purpose of implementing Hierarchical PCE 29 procedures which are described the aforementioned document. 31 Status of this Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at http://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on January 17, 2013. 48 Copyright Notice 49 Copyright (c) 2012 IETF Trust and the persons identified as the 50 document authors. All rights reserved. 52 This document is subject to BCP 78 and the IETF Trust's Legal 53 Provisions Relating to IETF Documents 54 (http://trustee.ietf.org/license-info) in effect on the date of 55 publication of this document. Please review these documents 56 carefully, as they describe your rights and restrictions with respect 57 to this document. Code Components extracted from this document must 58 include Simplified BSD License text as described in Section 4.e of 59 the Trust Legal Provisions and are provided without warranty as 60 described in the Simplified BSD License. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 65 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 66 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 5 67 2. PCEP Protocol Extensions Requirements . . . . . . . . . . . . 5 68 2.1. PCEP Requests . . . . . . . . . . . . . . . . . . . . . . 5 69 2.1.1. PCEP Request Qualifiers . . . . . . . . . . . . . . . 5 70 2.1.2. New Objective Functions . . . . . . . . . . . . . . . 6 71 2.1.3. New Metrics . . . . . . . . . . . . . . . . . . . . . 6 72 2.2. Communication to the parent PCE of the Domain 73 Conectivity information . . . . . . . . . . . . . . . . . 7 74 2.3. Parent PCE Capability Discovery . . . . . . . . . . . . . 8 75 2.4. PCE Domain and PCE ID Discovery . . . . . . . . . . . . . 8 76 2.5. Error Case Handling . . . . . . . . . . . . . . . . . . . 8 77 2.6. Determination of destination domain . . . . . . . . . . . 9 78 3. PCEP Extensions . . . . . . . . . . . . . . . . . . . . . . . 9 79 3.1. Extensions to OPEN object . . . . . . . . . . . . . . . . 9 80 3.1.1. OF Codes . . . . . . . . . . . . . . . . . . . . . . . 9 81 3.1.2. OPEN Object Flags . . . . . . . . . . . . . . . . . . 10 82 3.1.3. Domain-ID TLV . . . . . . . . . . . . . . . . . . . . 10 83 3.1.4. PCE-ID TLV . . . . . . . . . . . . . . . . . . . . . . 11 84 3.1.5. Procedures . . . . . . . . . . . . . . . . . . . . . . 12 85 3.2. Extensions to RP object . . . . . . . . . . . . . . . . . 12 86 3.2.1. RP Object Flags . . . . . . . . . . . . . . . . . . . 12 87 3.2.2. Domain-ID TLV . . . . . . . . . . . . . . . . . . . . 12 88 3.2.3. Procedures . . . . . . . . . . . . . . . . . . . . . . 13 89 3.3. Extensions to Metric object . . . . . . . . . . . . . . . 13 90 3.4. Extensions to NOTIFICATION object . . . . . . . . . . . . 13 91 3.4.1. Notification Types . . . . . . . . . . . . . . . . . . 13 92 3.4.2. Inter-domain Link TLV . . . . . . . . . . . . . . . . 14 93 3.4.3. Inter-domain Node TLV . . . . . . . . . . . . . . . . 15 94 3.4.4. Domain-ID TLV . . . . . . . . . . . . . . . . . . . . 16 95 3.4.5. PCE-ID TLV . . . . . . . . . . . . . . . . . . . . . . 16 96 3.4.6. Reachability TLV . . . . . . . . . . . . . . . . . . . 16 97 3.4.7. Procedures . . . . . . . . . . . . . . . . . . . . . . 17 98 3.5. Extensions to PCEP-ERROR object . . . . . . . . . . . . . 17 99 3.5.1. Hierarchy PCE Error-Type . . . . . . . . . . . . . . . 17 100 3.5.2. Procedures . . . . . . . . . . . . . . . . . . . . . . 18 101 4. Manageability Considerations . . . . . . . . . . . . . . . . . 18 102 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 103 5.1. Objective Function (OF) codes . . . . . . . . . . . . . . 18 104 5.2. OPEN Object Flags . . . . . . . . . . . . . . . . . . . . 18 105 5.3. RP Object Flags . . . . . . . . . . . . . . . . . . . . . 18 106 5.4. PCEP TLVs . . . . . . . . . . . . . . . . . . . . . . . . 18 107 5.5. PCEP NOTIFICATION types . . . . . . . . . . . . . . . . . 19 108 5.6. PCEP PCEP-ERROR types . . . . . . . . . . . . . . . . . . 19 109 6. Security Considerations . . . . . . . . . . . . . . . . . . . 19 110 7. Contributing Authors . . . . . . . . . . . . . . . . . . . . . 19 111 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 112 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 19 113 9.1. Normative References . . . . . . . . . . . . . . . . . . . 19 114 9.2. Informative References . . . . . . . . . . . . . . . . . . 20 115 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20 117 1. Introduction 119 [I-D.ietf-pce-hierarchy-fwk] describes a Hierarchical PCE (H-PCE) 120 architecture which can be used for computing end-to-end paths for 121 inter-domain MPLS Traffic Engineering (TE) and GMPLS Label Switched 122 Paths (LSPs). In the hierarchical PCE architecture, the parent PCE 123 can compute a multi-domain path based on the domain connectivity 124 information and each child PCE is able to compute the intra-domain 125 path based on its domain topology information. The end-to-end domain 126 path computing procedures can be abstracted as follows: 128 o A path computation client (PCC) requests its own child PCE the 129 computation of an inter-domain path. 131 o The child PCE forwards the request to the parent PCE. 133 o The parent PCE computes one or multiple domain paths from the 134 ingress domain to the egress domain. 136 o The parent PCE sends the intra-domain path computation requests 137 (between the domain border nodes) to the child PCEs which are 138 responsible for the domains along the domain path(s). 140 o The child PCEs return the intra-domain paths to the parent PCE. 142 o The parent PCE constructs the end-to-end inter-domain path based 143 on the intra-domain paths 145 o The parent PCE returns the inter-domain path to the child PCE. 147 o The child PCE forwards the inter-domain path to the PCC. 149 Alternatively, the parent PCE, instead of building the complete end- 150 to-end path, can reply with the sequence of domains and later 151 standard procedures, like BRPC, can be applied. 153 This document defines the PCEP extensions for the purpose of 154 implementing Hierarchical PCE procedures, which are described in 155 [I-D.ietf-pce-hierarchy-fwk]. 157 The document also uses a number of editor notes to describe options 158 and alternative solutions. These options and notes will be removed 159 before publication once agreement is reached. 161 1.1. Terminology 163 This document uses the terminology defined in [RFC4655], [RFC5440] 164 and the additional terms defined in section 1.4 of 166 [I-D.ietf-pce-hierarchy-fwk]. 168 1.2. Requirements Language 170 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 171 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 172 document are to be interpreted as described in [RFC2119]. 174 2. PCEP Protocol Extensions Requirements 176 This section compiles the set of requirements of the extensions 177 needed in the PCEP protocol to support the H-PCE archicture and 178 procedures. 180 2.1. PCEP Requests 182 The PCReq messages are used by a PCC or PCE to make a path 183 computation request to a PCE. In order the achieve the full 184 functionality of the H-PCE procedures, some extensions are needed in 185 the pcReq messages: 187 o Qualify PCE Requests 189 o New Objective Functions 191 o New Metrics 193 2.1.1. PCEP Request Qualifiers 195 As described in section 5.8.1 of [I-D.ietf-pce-hierarchy-fwk], the 196 H-PCE architecture will introduce new request qualifications as 197 follows: 199 o It MUST be possible for a child PCE to indicate that a request it 200 sends to a parent PCE should be satisfied by a domain sequence 201 only, that is, not by a full end-to-end path. This allows the 202 child PCE to initiate a per-domain [RFC5152] or a backward 203 recursive path computation (BRPC) [RFC5441]. 205 o A parent PCE needs to be able to ask a child PCE whether a 206 particular node address (the destination of an end-to-end path) is 207 present in the domain that the child PCE serves. 209 o As stated in [I-D.ietf-pce-hierarchy-fwk], section 5.5, if a PCC 210 knows the egress domain, it can supply this information as the 211 path computation request. It SHOULD be possible to specify the 212 destination domain information in a PCEP request, if it is known. 214 To meet the above requirements, the PCEP PCReq message should be 215 extended. 217 2.1.2. New Objective Functions 219 For inter-domain path computation, there are two new objective 220 functions which are defined in section 1.3.1 and 5.1 of 221 [I-D.ietf-pce-hierarchy-fwk]: 223 o Minimize the number of domains crossed. 225 o Disallow domain re-entry.[Editor's note: Disallow domain re-entry 226 may not be an objective function, but an option in the request] 228 During the PCEP session establishment procedure, the parent PCE needs 229 to be capable of indicating the objective functions (OF) capability 230 in the Open message. This information can be, in turn, announced by 231 child PCEs and used for selecting the PCE when a PCC want a path that 232 satisfies a certain inter-domain objective function. 234 When a PCC requests a PCE to compute an inter-domain path, the PCC 235 needs also to be capable of indicating the new objective functions 236 for inter-domain path. Note that a given PCE may act as a regular 237 PCE and as a parent PCE. 239 For the reasons described above, new OF codes need to be defined for 240 the new inter-domain objective functions. Then the PCE can notify 241 its new inter-domain objective functions to the PCC by carrying them 242 in the OF-list TLV which is carried in the OPEN object. The PCC can 243 specify which objective function code to use, which is carried in the 244 OF object when requesting a PCE to compute an inter-domain path. 246 The proposed solutions may need to differentiate between the OF code 247 that is requested at the parent level and the OF code that is 248 requested at the intra-domain (child) level. 250 A parent PCE needs to be able to insure homogeneity when applying OF 251 codes for the intra-domain requests. 253 2.1.3. New Metrics 255 For inter-domain path computation, there are several path metrics of 256 interest [Editor's note: Current framework only mentions metric 257 objectives. The metric itself should be also defined]: 259 o Domain count (number of domains crosses). 261 o Border Node count 263 A PCC may be able to limit the number of domains crossed by applying 264 a limit on the metric. 266 2.2. Communication to the parent PCE of the Domain Conectivity 267 information 269 A parent PCE maintains a domain topology map of the child domains and 270 their interconnectivity, as mentioned in section 4.4 of 271 [I-D.ietf-pce-hierarchy-fwk]. Consequently, a parent PCE maintains a 272 Traffic Engineering Database (TED) for the parent domain. 274 The parent PCE TED may be administratively configured or learnt from 275 information received from the child PCEs. Thus, entities from the 276 child domains (such as the child PCEs) can convey its neighbour 277 information to the parent PCE to maintain the parent TED. One 278 possible option is to use a separate instance of an IGP runnning 279 within the parent domain in which parent and child PCEs establish an 280 IGP adjacency. Alternatively, as mentioned in section 4.8.4 of 281 [I-D.ietf-pce-hierarchy-fwk], a child PCE may forward the its 282 neighbour domain connectivity (inter-domain links or ABRs) to the 283 parent PCE, for example within PCNtf messages or any other 284 mechanisms, without an IGP adjacency. 286 There are two types of domain borders for providing the domain 287 connectivity information: 289 o Domain border is a TE link, e.g. the inter-AS TE link which 290 connects two ASs. 292 o Domain border is a node, e.g. the IGP ABR which connects two IGP 293 areas. 295 The information that would be exchanged for inter-AS TE links 296 includes: 298 o Identifier of advertising child PCE 300 o Identifier of PCE's domain 302 o Identifier of the link 304 o TE properties of the link (metrics, bandwidth) 306 o Other properties of the link (technology-specific) 307 o Identifier of link end-points 309 o Identifier of adjacent domain 311 For the ABR, the following information needs to be notified to the 312 parent PCE: 314 o Identifier of the ABR. 316 o Identifier of the IGP Area IDs. 318 [Editor's Note: Further discussion of the discovery mechanism based 319 on the requirements of section 4.8.4 of [I-D.ietf-pce-hierarchy-fwk] 320 and scope will be discussed in later versions of this document. Note 321 that using PCNtf messages will require PCEP Protocol extensions.] 323 2.3. Parent PCE Capability Discovery 325 Parent/Child relationships are likely to be configured. However, as 326 mentioned in [I-D.ietf-pce-hierarchy-fwk] , it helps network 327 operations that the parent PCE indicates its H-PCE capability and 328 that the PCC indicates its intention of using parent PCE 329 capabilities. Thus, during the PCEP session establishment procedure, 330 the child PCE needs to be capable of indicating to the parent PCE 331 whether it requests the parent PCE capability or not. Also, during 332 the PCEP session establishment procedur, the parent PCE needs to be 333 capable of indicating whether its parent capability can be provided 334 or not. 336 2.4. PCE Domain and PCE ID Discovery 338 A PCE domain is a single domain with an associated PCE. it is 339 possible for a PCE to manage multiple domains. The PCE domain may be 340 an IGP area or AS. 342 The PCE ID is an IPv4 and/or IPv6 address that is used to reach the 343 parent/child PCE. It is RECOMMENDED to use an address that is always 344 reachable if there is any connectivity to the PCE. 346 The PCE ID information and PCE domain identifiers may be provided 347 during the PCEP session establishment procedure or the domain 348 connectivity information collection procedure. 350 2.5. Error Case Handling 352 A PCE that is capable of acting as a parent PCE might not be 353 configured or willing to act as the parent for a specific child PCE. 354 This fact could be determined when the child sends a PCReq that 355 requires parental activity (such as querying other child PCEs), and 356 could result in a negative response in a PCEP Error (PCErr) message 357 and indicate the hierarchy PCE error types. 359 2.6. Determination of destination domain 361 The PCC that asks for an inter-domain path computation is aware of 362 the identity of the destination node by definition. If the PCC also 363 knows the egress domain to which the destination node belongs to, it 364 can supply the information as part of the path computation request. 365 Otherwise, it must be determined by the parent PCE. 367 The parent PCE can query the child PCEs to obtain the destination 368 domain, using the PCEP Request Qualifiers mentioned before. 369 Alternatively, the child PCEs can forward in PCNtf the set of 370 reachable addresses of the domain. [Editor's note: This point 371 requires further ellaboration] 373 3. PCEP Extensions 375 3.1. Extensions to OPEN object 377 3.1.1. OF Codes 379 There are two new OF codes defined here for H-PCE: 381 o MTD 383 * Name: Minimize the number of Transit Domains 385 * Objective Function Code: (to be assigned by IANA, recommended 386 12) 388 * Description: Find a path P such that passes through the least 389 ransit domains. 391 o DDR 393 * Name: Disallow Domain Re-entry (DDR) 395 * Objective Function Code: (to be assigned by IANA, recommended 396 13) 398 * Description: Find a path P such that does not entry a domain 399 more than once. 401 3.1.2. OPEN Object Flags 403 There are two OPEN object flags defined here for H-PCE: 405 o Parent PCE request bit (to be assigned by IANA, recommended bit 406 0): if set it means the child PCE wishes to use the peer PCE as a 407 parent PCE. 409 o Parent PCE indication bit (to be assigned by IANA, recommended bit 410 1): if set it means the PCE can be used as a parent PCE by the 411 peer PCE. 413 o [Editors Note: It is possible that a parent PCE will also act as a 414 child PCE] 416 3.1.3. Domain-ID TLV 418 The type of Domain-ID TLV is to be assigned by IANA (recommended 7). 419 The length is 8 octets. The format of this TLV is defined below: 421 0 1 2 3 422 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 423 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 424 | Domain Type | Reserved | 425 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 426 | Domain ID | 427 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 429 Figure 1: Domain-ID TLV 431 Domain Type (8 bits): Indicates the domain type. There are two types 432 of domain defined currently: 434 o Type=1: the Domain ID field carries an IGP Area ID. 436 o Type=2: the Domain ID field carries an AS number. 438 Domain ID (32 bits): Indicates an IGP Area ID or AS number. 440 An AS number may be 2 or 4 bytes long. For 2-byte AS numbers, the AS 441 value is left-padded with 0. 443 [Editor's note: it may be necessary to support 64 bit domain IDs.] 445 [Editor's note: draft-dhody-pce-pcep-domain-sequence, section 3.2 446 deals with the encoding of domain sequences, using ERO-subobjects. 447 Work is ongoing to define domain identifiers for OSPF-TE areas, IS-IS 448 area (which are variable sized), 2-byte and 4-byte AS number, and any 449 other domain that may be defined in the future. It uses RSVP-TE 450 subobject discriminators, rather than new type 1/ type 2. A domain 451 sequence may be encoded as a route object. The "VALUE" part of the 452 TLV could follow common RSVP-TE subobject format: 454 0 1 2 3 455 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 456 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 457 |0| Type | Length | Reserved | 458 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 459 | AS Id (4 bytes) | 460 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 462 0 1 2 3 463 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 464 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 465 |0| Type | Length | AS Id (2 bytes) | 466 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 468 Figure 2: Alternative Domain-ID TLV 470 3.1.4. PCE-ID TLV 472 The type of PCE-ID TLV is to be assigned by IANA (recommended 8). 473 The length is 8. The format of this TLV is defined below: 475 0 1 2 3 476 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 477 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 478 | Address Type | Reserved | 479 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 480 | | 481 // PCE IP Address // 482 | | 483 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 485 Figure 3: PCE-ID TLV 487 Address Type (16 bits): Indicates the address type of PCE IP Address. 488 1 means IPv4 address type, 2 means IPv6 address type. 490 PCE IP Address: Indicates the reachable address of a PCE. 492 [Editor's note: [RFC5886] already defines the PCE-ID object. If a 493 semantically equivalent PCE-ID TLV is needed (to avoid modifying 494 message grammars to include the object), it can align with the PCEP 495 object: n any case, the length (4 / 16 bytes) can be used to know 496 whether it is an IPv4 or an IPv6 PCE, the address type is not 497 needed.] 499 3.1.5. Procedures 501 The OF codes defined in this document can be carried in the OF-list 502 TLV of the OPEN object. If the OF-list TLV carries the OF codes, it 503 means that the PCE is capable of implementing the corresponding 504 objective functions. This information can be used for selecting a 505 proper parent PCE when a child PCE wants to get a path that satisfies 506 a certain objective function. 508 If a child PCE wants to use the peer PCE as a parent, it can set the 509 parent PCE request bit in the OPEN object carried in the Open message 510 during the PCEP session creation procedure. If the peer PCE does not 511 want to provide the parent function to the child PCE, it must send a 512 PCErr message to the child PCE and clear the parent PCE indication 513 bit in the OPEN object. 515 If the parent PCE can provide the parent function to the peer PCE, it 516 may set the parent PCE indication bit in the OPEN object carried in 517 the Open message during the PCEP session creation procedure. 519 The PCE may also report its PCE ID and list of domain ID to the peer 520 PCE by specifying them in the PCE-ID TLV and List of Domain-ID TLVs 521 in the OPEN object carried in the Open message during the PCEP 522 session creation procedure. 524 3.2. Extensions to RP object 526 3.2.1. RP Object Flags 528 Domain Path Request bit (to be assigned by IANA, recommended bit 17): 529 if set it means the child PCE wishes to get the domain sequence. 531 Destination Domain Query bit (to be assigned by IANA, recommended bit 532 16): if set it means the parent PCE wishes to get the destination 533 domain ID. 535 3.2.2. Domain-ID TLV 537 The format of this TLV is defined in Section 3.1.3. This TLV can be 538 carried in an OPEN object to indicate a (list of) managed domains, or 539 carried in a RP object to indicate the destination domain ID when a 540 child PCE responds to the parent PCE's destination domain query by a 541 PCRep message. 543 [Editors note. In some cases, the Parent PCE may need to allocate a 544 node which is not necessarily the destination node.] 546 3.2.3. Procedures 548 If a child PCE only wants to get the domain sequence for a multi- 549 domain path computation from a parent PCE, it can set the Domain Path 550 Request bit in the RP object carried in a PCReq message. The parent 551 PCE which receives the PCReq message tries to compute a domain 552 sequence for it. If the domain path computation succeeds the parent 553 PCE sends a PCRep message which carries the domain sequence in the 554 ERO to the child PCE . The domain sequence is specified as AS or 555 AREA ERO sub-objects (type 32 for AS [RFC3209] or a to-be-defined IGP 556 area type). Otherwise it sends a PCReq message which carries the NO- 557 PATH object to the child PCE. 559 The parent PCE can set the Destination Domain Query bit in a PCReq 560 message to query the destination (which is specified in the END- 561 POINTS objects) domain ID from a child PCE. If the child PCE knows 562 the destination(s) domain ID, it sends a PCRep message to the parent 563 PCE and specifies the domain ID in the Domain-ID TLV which is carried 564 in the RP object. Otherwise it sends a PCRep message with a NO-PATH 565 object to the parent PCE. 567 3.3. Extensions to Metric object 569 There are two new metrics defined here for H-PCE: 571 o Domain count (number of domains crosses). 573 o Border Node Count 575 3.4. Extensions to NOTIFICATION object 577 Because there will not be too many PCEP sessions between the child 578 PCE(s) and parent PCE, it is recommended that the PCEP sessions 579 between them keeping alive all the time . Then the child PCE can 580 report all of the domain connectivity information to the parent PCE 581 when the PCEP session is established successfully. It can also 582 notify the parent PCE to update or delete the domain connectivity 583 information when it detects the changes. 585 3.4.1. Notification Types 587 There is a new notification type defined in this document: 589 o Domain Connectivity Information notification-type (to be assigned 590 by IANA, recommended 3). 592 o Notification-value=1: sent from the parent to the child to query 593 all of the domain connectivity information maintained by the child 594 PCE. 596 o Notification-value=2: sent from the child to the parent to update 597 the domain connectivity information maintained by the child PCE. 599 o Notification-value=3: sent from the child to the parent to delete 600 the domain connectivity information maintained by the child PCE. 602 3.4.2. Inter-domain Link TLV 604 IGP in each neighbor domain can advertise its inter-domain TE link 605 capabilities [RFC5316],[RFC5392]. This information can be collected 606 by the child PCEs and forwarded to the parent PCE. PCEP Inter-domain 607 Link TLV is used for carrying the inter-domain TE link attributes for 608 this purpose. Each Inter-domain Link TLV can carry the attributes of 609 one inter-domain link at the most. 611 The type of Inter-domain Link TLV is to be assigned by IANA 612 (recommended 9). The length is variable. The format of this TLV is 613 defined below: 615 0 1 2 3 616 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 617 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 618 | Advertise Router ID | 619 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 620 | | 621 // sub-TLVS // 622 | | 623 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 625 Figure 4: Inter-domain Link TLV 627 Editor's note: evaluate other possibilities regarding the wrapping 628 and encoding (LSAs / LSUs). Other fields may be needed, such as LSA 629 age (max age methods can be used to "withdraw" or remove a link). 630 Sub-TLVs may need to be defined in the context of a Link TLV (top 631 TLV). 633 Advertise Router ID (32 bits): indicates the router ID which 634 advertises the TE LSA or LSP. 636 Sub-TLVs: the OSPF sub-TLVs for a TE link which defined in [RFC5392] 637 and other associated OSPF RFCs. It is noted that if the IGP is IS-IS 638 for the child domain the sub-TLVs must be converted to the OSPF sub- 639 TLVs format when sending this information to the parent PCE through 640 PCEP PCNtf message. 642 Each inter-domain link is identified by the combination of advertise 643 router ID and the link local IP address or link local unnumbered 644 identifier. The PCNtf message which is used for notifying the parent 645 PCE to update or delete a inter-domain link must contain the 646 information identifies a TE link exclusively. 648 3.4.3. Inter-domain Node TLV 650 The Inter-domain Node TLV carries only the two adjacent domain ID and 651 the router (IGP ABR) ID. 653 he type of Inter-domain Node Information TLV is to be assigned by 654 IANA (recommended 10). The length is variable . The format of this 655 TLV is defined below: 657 0 1 2 3 658 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 659 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 660 | ABR ID | 661 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 662 | Area ID1 | 663 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 664 | Area ID2 | 665 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 667 Figure 5: Inter-domain Node TLV 669 ABR ID (32 bits): indicates the domain border router ID. 671 Area ID1 and Area ID2 (32 bits): indicates the two neighbor area IDs. 673 Editor's note (1): a node may be an inter-domain node for more than 674 just 2 areas, the encoding is wrong, unless we explicitly state that 675 this TLV can be repeated and we give an example. Alternatively, we 676 can use the generic concept of "domain id" as introduced earlier, to 677 avoid the restriction of 4 byte areas only. 679 Editor's note (2): do we homogenize so we also have a Advertising 680 Router ID? would it be different from the ABR id? 681 0 1 2 3 682 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 683 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 684 | Advertise Router ID | 685 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 686 | ABR ID | 687 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 688 |0| Type | Length | Reserved | 689 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 690 | IS/IS area 1 ... | 691 .. | 692 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 693 |0| Type | Length | Reserved | 694 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 695 | IS/IS area 2 ... | 696 .. | 697 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 699 Figure 6: Alternative Inter-domain Node TLV 701 3.4.4. Domain-ID TLV 703 The format of this TLV is defined in Section 3.1.3. This TLV can be 704 carried in a NOTIFICATION object to indicate the domain ID of the PCE 705 who sends the PCNtf message. 707 [Editors note: A PCE may be responsible for several domains, it may 708 be beneficial to use a list of TLVs] 710 3.4.5. PCE-ID TLV 712 The format of this TLV is defined in Section 3.1.4. This TLV can be 713 carried in a NOTIFICATION object to indicate the PCE ID of the PCE 714 who sends the PCNtf message. 716 3.4.6. Reachability TLV 718 The reachability TLV carries information of the set of end-points 719 reachable in a given domain. 721 The format of the TLV is a list of IPv4 Prefix, IPv6 Prefix, AS and 722 unnumbered Interface ERO subojects, as defined in [RFC3209] 723 and[RFC3477]. This TLV can be carried in a NOTIFICATION object to 724 indicate the reachable end-points of the domain of the PCE who sends 725 the PCNtf message. 727 [Editor's note]: If the child PCE represents several domains, the 728 reachability TLV should be sent together with a domain_tlv 730 3.4.7. Procedures 732 When a parent PCE establishes a PCEP session with a child PCE 733 successfully, the parent PCE may request the child PCE to report the 734 domain connectivity information. This procedure can be done by 735 sending a PCNtf message from the parent to the child, setting the 736 notification-type to 3 and notification-value to 0 in the 737 NOTIFICATION object. 739 When a child PCE receives the PCNtf message, it may send all of the 740 domain connectivity information to the parent PCE by the PCNtf 741 message(s). The notification-type is 3 and notification-value is 1 742 in the NOTIFICATION object. The NOTIFICATION object may carry the 743 inter-domain link TLV and inter-domain node TLV to describe the 744 inter-domain connectivity information. It is noted that if the child 745 PCE does not support this function, it will ignore the received PCNtf 746 message and the parent PCE will not receive the response. 748 The child PCE can also update the domain connectivity information by 749 re-sending the PCNtf message(s) with the newly information. 751 When the child PCE detects a deletion of domain connectivity (e.g., 752 the inter-domain link TLV is aged out), it must notify the parent PCE 753 to delete the inter-domain link by sending the PCNtf message. The 754 notification-type is 3 and notification-value is 2 in the 755 NOTIFICATION object. 757 When a parent PCE establishes a PCEP session with a child PCE 758 successfully, the parent PCE may request the child PCE to report the 759 end-points reachability information of the represented domain. This 760 procedure can be done by sending a PCNtf message from the parent to 761 the child, setting the notification-type to 3 and notification-value 762 to 0 in the NOTIFICATION object. 764 3.5. Extensions to PCEP-ERROR object 766 3.5.1. Hierarchy PCE Error-Type 768 A new PCEP Error-Type is allocated for hierarchy PCE (to be assigned 769 by IANA, recommended 19): 771 +------------+------------------------------------------------------+ 772 | Error-Type | Meaning | 773 +------------+------------------------------------------------------+ 774 | 19 | H-PCE error Error-value=1: parent PCE capability | 775 | | cannot be provided | 776 +------------+------------------------------------------------------+ 777 H-PCE error table 779 3.5.2. Procedures 781 When a specific child PCE sends a PCReq to a peer PCE that requires 782 parental activity and the peer PCE does not want to act as the parent 783 for it, the peer PCE should send a PCErr message to the child PCE and 784 specify the error-type (IANA) and error-value (1) in the PCEP-ERROR 785 object. 787 4. Manageability Considerations 789 TBD. 791 5. IANA Considerations 793 As per [RFC5226], IANA is requested to create/update the following 794 registries 796 5.1. Objective Function (OF) codes 798 +-------+---------+---------------+ 799 | Value | Meaning | Reference | 800 +-------+---------+---------------+ 801 | 11 | MBN | This document | 802 | 12 | MTD | This document | 803 | 13 | DDR | This document | 804 +-------+---------+---------------+ 806 5.2. OPEN Object Flags 808 5.3. RP Object Flags 810 5.4. PCEP TLVs 812 +-------+---------------------+-------------------------------------+ 813 | Value | Meaning | Reference | 814 +-------+---------------------+-------------------------------------+ 815 | x | Interdomain Link | This document (section Section | 816 | | TLV | 3.3.2) | 817 | x | Interdomain Node | This document (section Section | 818 | | TLV | 3.3.3) | 819 +-------+---------------------+-------------------------------------+ 821 5.5. PCEP NOTIFICATION types 823 Type Value Meaning 824 DC Notification 1 query all of the domain connectivity 825 2 update domain connectivity information 826 3 delete domain connectivity information 828 5.6. PCEP PCEP-ERROR types 830 Type Value Meaning 831 H-PCE Error 19 1 parent PCE capability cannot be provided 832 2 TBD 833 3 TBD 835 6. Security Considerations 837 TBD 839 7. Contributing Authors 841 Xian Zhang 842 Huawei 843 zhang.xian@huawei.com 845 8. Acknowledgments 847 9. References 849 9.1. Normative References 851 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 852 Requirement Levels", BCP 14, RFC 2119, March 1997. 854 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 855 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 856 Tunnels", RFC 3209, December 2001. 858 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 859 Element (PCE)-Based Architecture", RFC 4655, August 2006. 861 [RFC5152] Vasseur, JP., Ayyangar, A., and R. Zhang, "A Per-Domain 862 Path Computation Method for Establishing Inter-Domain 863 Traffic Engineering (TE) Label Switched Paths (LSPs)", 864 RFC 5152, February 2008. 866 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 867 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 868 May 2008. 870 [RFC5316] Chen, M., Zhang, R., and X. Duan, "ISIS Extensions in 871 Support of Inter-Autonomous System (AS) MPLS and GMPLS 872 Traffic Engineering", RFC 5316, December 2008. 874 [RFC5392] Chen, M., Zhang, R., and X. Duan, "OSPF Extensions in 875 Support of Inter-Autonomous System (AS) MPLS and GMPLS 876 Traffic Engineering", RFC 5392, January 2009. 878 [RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element 879 (PCE) Communication Protocol (PCEP)", RFC 5440, 880 March 2009. 882 [RFC5441] Vasseur, JP., Zhang, R., Bitar, N., and JL. Le Roux, "A 883 Backward-Recursive PCE-Based Computation (BRPC) Procedure 884 to Compute Shortest Constrained Inter-Domain Traffic 885 Engineering Label Switched Paths", RFC 5441, April 2009. 887 [RFC5886] Vasseur, JP., Le Roux, JL., and Y. Ikejiri, "A Set of 888 Monitoring Tools for Path Computation Element (PCE)-Based 889 Architecture", RFC 5886, June 2010. 891 9.2. Informative References 893 [I-D.ietf-pce-hierarchy-fwk] 894 King, D. and A. Farrel, "The Application of the Path 895 Computation Element Architecture to the Determination of a 896 Sequence of Domains in MPLS and GMPLS, 897 draft-ietf-pce-hierarchy-fwk-04", June 2012. 899 Authors' Addresses 901 Fatai Zhang (editor) 902 Huawei 903 Huawei Base, Bantian, Longgang District 904 Shenzhen, 518129 905 China 907 Phone: +86-755-28972912 908 Email: zhangfatai@huawei.com 909 Quintin Zhao 910 Huawei 911 125 Nagog Technology Park 912 Acton, MA 01719 913 US 915 Phone: 916 Email: qzhao@huawei.com 918 Oscar Gonzalez de Dios (editor) 919 Telefonica I+D 920 Don Ramon de la Cruz 82-84 921 Madrid, 28045 922 Spain 924 Phone: +34913128832 925 Email: ogondio@tid.es 927 Ramon Casellas 928 CTTC 929 Av. Carl Friedrich Gauss n.7 930 Castelldefels, Barcelona 931 Spain 933 Phone: +34 93 645 29 00 934 Email: ramon.casellas@cttc.es 936 Daniel King 937 Old Dog Consulting 938 UK 940 Phone: 941 Email: adrian@olddog.co.uk