idnits 2.17.00 (12 Aug 2021) /tmp/idnits37396/draft-ietf-pce-disco-proto-isis-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 25. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 964. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 940. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 947. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 953. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? == There are 2 instances of lines with non-ascii characters in the document. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There is 1 instance of too long lines in the document, the longest one being 1 character in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: A change in PCED information MUST not trigger any SPF computation at a receiving router. -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (April 2007) is 5514 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) == Unused Reference: 'RFC2119' is defined on line 854, but no explicit reference was found in the text == Unused Reference: 'RFC4205' is defined on line 874, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO' ** Obsolete normative reference: RFC 3784 (Obsoleted by RFC 5305) == Outdated reference: draft-ietf-isis-caps has been published as RFC 4971 ** Downref: Normative reference to an Informational RFC: RFC 4655 ** Downref: Normative reference to an Informational RFC: RFC 4674 ** Obsolete normative reference: RFC 4205 (Obsoleted by RFC 5307) ** Obsolete normative reference: RFC 3567 (Obsoleted by RFC 5304) == Outdated reference: draft-ietf-pce-pcep has been published as RFC 5440 == Outdated reference: A later version (-04) exists of draft-ietf-pce-disc-mib-00 -- No information found for draft-ietf-pce-disco-proto-ospf - is the name correct? Summary: 8 errors (**), 0 flaws (~~), 8 warnings (==), 9 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J.L. Le Roux (Editor) 3 Internet Draft France Telecom 4 Category: Standard Track 5 Expires: October 2007 J.P. Vasseur (Editor) 6 Cisco System Inc. 8 Yuichi Ikejiri 9 NTT Communications 11 Raymond Zhang 12 BT Infonet 14 April 2007 16 IS-IS protocol extensions for Path Computation Element (PCE) Discovery 18 draft-ietf-pce-disco-proto-isis-03.txt 20 Status of this Memo 22 By submitting this Internet-Draft, each author represents that any 23 applicable patent or other IPR claims of which he or she is aware 24 have been or will be disclosed, and any of which he or she becomes 25 aware will be disclosed, in accordance with Section 6 of BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF), its areas, and its working groups. Note that other 29 groups may also distribute working documents as Internet-Drafts. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet- Drafts as reference 34 material or to cite them other than as "work in progress." 36 The list of current Internet-Drafts can be accessed at 37 http://www.ietf.org/ietf/1id-abstracts.txt. 39 The list of Internet-Draft Shadow Directories can be accessed at 40 http://www.ietf.org/shadow.html. 42 Abstract 44 There are various circumstances where it is highly desirable for a 45 Path Computation Client (PCC) to be able to dynamically and 46 automatically discover a set of Path Computation Elements (PCE), 47 along with some information that can be used for PCE selection. When 48 the PCE is a Label Switching Router (LSR) participating in the 49 Interior Gateway Protocol (IGP), or even a server participating 50 passively in the IGP, a simple and efficient way to discover PCEs 51 consists of using IGP flooding. For that purpose this document 52 defines extensions to the Intermediate System to Intermediate System 53 (IS-IS) routing protocol for the advertisement of PCE Discovery 54 information within an IS-IS area or within the entire IS-IS routing 55 domain. 57 Conventions used in this document 59 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 60 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 61 document are to be interpreted as described in RFC-2119. 63 Table of Contents 65 1. Terminology.................................................3 66 2. Introduction................................................4 67 3. Overview....................................................5 68 3.1. PCE Information.............................................5 69 3.1.1. PCE Discovery Information...................................5 70 3.1.2. PCE Congestion Information..................................6 71 3.2. Flooding scope..............................................6 72 4. IS-IS extensions............................................7 73 4.1. The IS-IS PCED sub-TLV......................................7 74 4.1.1. PCE-ADDRESS sub-TLV.........................................8 75 4.1.2. The PATH-SCOPE sub-TLV......................................8 76 4.1.3. PCE-DOMAIN sub-TLV.........................................10 77 4.1.4. NEIG-PCE-DOMAIN sub-TLV....................................11 78 4.1.5. PCE-CAP-FLAGS sub-TLV......................................11 79 4.1.6. The CONGESTION sub-TLV.....................................12 80 5. Elements of Procedure......................................13 81 5.1.1. CONGESTION sub-TLV specific procedures.....................14 82 6. Backward compatibility.....................................15 83 7. IANA considerations........................................15 84 7.1. IS-IS sub-TLV..............................................15 85 7.2. PCED sub-TLVs registry.....................................15 86 7.3. PCE Capability Flags registry..............................16 87 8. Security Considerations....................................16 88 9. Manageability Considerations...............................17 89 9.1. Control of Policy and Functions............................17 90 9.2. Information and Data Model.................................17 91 9.3. Liveness Detection and Monitoring..........................17 92 9.4. Verify Correct Operations..................................17 93 9.5. Requirements on Other Protocols and Functional 94 Components...............................................17 95 9.6. Impact on network operations...............................17 96 10. Acknowledgments............................................18 97 11. References.................................................18 98 11.1. Normative references.......................................18 99 11.2. Informative references.....................................19 100 12. Editors' Addresses:........................................19 101 13. Contributors' Adresses:....................................19 102 14. Intellectual Property Statement............................20 104 1. Terminology 106 Terminology used in this document 108 AS: Autonomous System. 110 IGP: Interior Gateway Protocol. Either of the two routing 111 protocols Open Shortest Path First (OSPF) or Intermediate System 112 to Intermediate system (IS-IS). 114 Intra-area TE LSP: A TE LSP whose path does not cross IGP area 115 boundaries. 117 Intra-AS TE LSP: A TE LSP whose path does not cross AS boundaries. 119 Inter-area TE LSP: A TE LSP whose path transits two or 120 more IGP areas. That is a TE-LSP that crosses at least one IGP 121 area boundary. 123 Inter-AS TE LSP: A TE LSP whose path transits two or more 124 ASes or sub-ASes (BGP confederations). That is a TE-LSP that 125 crosses at least one AS boundary. 127 IS-IS LSP: Link State PDU 129 LSR: Label Switching Router. 131 PCC: Path Computation Client: Any client application requesting a 132 path computation to be performed by a Path Computation Element. 134 PCE: Path Computation Element: An entity (component, application, 135 or network node) that is capable of computing a network path or 136 route based on a network graph, and applying computational 137 constraints. 139 PCE-Domain: In a PCE context this refers to any collection of 140 network elements within a common sphere of address management or 141 path computational responsibility (referred to as "domain" in 142 [RFC4655]). Examples of PCE-Domains include IGP areas and 143 Autonomous Systems. This should be distinguished from an IS-IS 144 routing domain as defined by [ISO]. 146 PCEP: Path Computation Element communication Protocol. 148 TE LSP: Traffic Engineered Label Switched Path. 150 2. Introduction 152 [RFC4655] describes the motivations and architecture for a Path 153 Computation Element (PCE)-based path computation model for Multi 154 Protocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic 155 Engineered Label Switched Paths (TE-LSPs). The model allows for the 156 separation of the PCE from a Path Computation Client (PCC) (also 157 referred to as a non co-located PCE) and allows for cooperation 158 between PCEs. This relies on a communication protocol between PCC and 159 PCE, and between PCEs. The requirements for such a communication 160 protocol can be found in [RFC4657] and the communication protocol is 161 defined in [PCEP]. 163 The PCE architecture requires that a PCC be aware of the location of 164 one or more PCEs in its domain, and also potentially of some PCEs in 165 other domains, e.g. in case of inter-domain TE LSP computation. 167 A network may contain a large number of PCEs with potentially 168 distinct capabilities. In such a context it is highly desirable to 169 have a mechanism for automatic and dynamic PCE discovery, which 170 allows PCCs to automatically discover a set of PCEs, along with 171 additional information about each PCE that may be required for the 172 PCC to perform PCE selection. Additionally, it is valuable for a PCC 173 to dynamically detect new PCEs or any modification of the PCE 174 information. Detailed requirements for such a PCE discovery mechanism 175 are provided in [RFC4674]. 177 Moreover, it may also be useful to discover when a PCE experiences 178 processing congestion and when it exits such a state, in order for 179 the PCCs to take some appropriate actions (e.g. redirect their 180 requests to another PCE). Note that the PCE selection algorithm 181 applied by a PCC is out of the scope of this document. 183 When PCCs are LSRs participating in the IGP (OSPF, IS-IS), and PCEs 184 are either LSRs or servers also participating in the IGP, an 185 effective mechanism for PCE discovery within an IGP routing domain 186 consists of utilizing IGP advertisements. 188 This document defines IS-IS extensions to allow a PCE in an IS-IS 189 routing domain to advertise its location along with some information 190 useful to a PCC for PCE selection, so as to satisfy dynamic PCE 191 discovery requirements set forth in [RFC4674]. This document also 192 defines extensions allowing a PCE in an IS-IS routing domain to 193 advertise its processing congestion state. 195 Generic capability advertisement mechanisms for IS-IS are defined in 196 [IS-IS-CAP]. These allow a router to advertise its capabilities 197 within an IS-IS area or an entire IS-IS routing domain. This document 198 leverages this generic capability advertisement mechanism to fully 199 satisfy the aforementioned dynamic PCE discovery requirements. 201 This document defines a new sub-TLV (named PCE Discovery (PCED) to be 202 carried within the IS-IS Router Capability TLV ([IS-IS-CAP]). 204 The PCE information advertised is detailed in section 3. Protocol 205 extensions and procedures are defined in section 4 and 5. 207 This document does not define any new IS-IS elements of procedure. 208 The procedures defined in [IS-IS-CAP] MUST be used. 210 The IS-IS extensions defined in this document allow for PCE discovery 211 within an IS-IS Routing domain. Solutions for PCE discovery across AS 212 boundaries are beyond the scope of this document, and for further 213 study. 215 This document defines a set of sub-TLVs that are nested within each 216 other. When the degree of nesting TLVs is 2 (a TLV is carried within 217 another TLV) the TLV carried within a TLV is called a sub-TLV. 218 Strictly speaking, when the degree of nesting is 3, a subsub-TLV is 219 carried within a sub-TLV that is itself carried within a TLV. For the 220 sake of terminology simplicity, we refer to sub-TLV, a TLV carried 221 within a TLV regardless of the degree of nesting. 223 3. Overview 225 3.1. PCE Information 227 The PCE information advertised via IS-IS falls into two categories: 228 PCE Discovery information and PCE Congestion information. 230 3.1.1. PCE Discovery Information 232 The PCE Discovery information is comprised of: 234 - The PCE location: an IPv4 and/or IPv6 address that is used to reach 235 the PCE. It is RECOMMENDED to use an address that is always 236 reachable; 238 - The PCE path computation scope (i.e. inter-area, inter-AS, inter- 239 layer); 241 - The set of one or more PCE-Domain(s) into which the PCE has 242 visibility and can compute paths; 244 - The set of one or more neighbor PCE-Domain(s) towards which a PCE 245 can compute paths; 247 - A set of communication capabilities (e.g. support for request 248 prioritization) and path computation specific capabilities 249 (e.g. supported constraints). 251 Optional elements to describe more complex capabilities may also be 252 advertised. 254 PCE Discovery information is by nature fairly static and does not 255 change with PCE activity. Changes in PCE Discovery information may 256 occur as a result of PCE configuration updates, PCE 257 deployment/activation, PCE deactivation/suppression, or PCE failure. 258 Hence, this information is not expected to change frequently. 260 3.1.2. PCE Congestion Information 262 The PCE Congestion information is optional and can be used to report 263 a PCE's processing congestion state along with an estimated 264 congestion duration. This is dynamic information, which may change 265 with PCE activity. 267 Procedures for a PCE to move from a processing congestion state to a 268 non-congestion state are beyond the scope of this document, but the 269 rate at which a PCE Status change is advertised MUST NOT impact by 270 any means the IGP scalability. Particular attention should be given 271 on procedures to avoid state oscillations. 273 3.2. Flooding scope 275 The flooding scope for PCE information advertised through IS-IS can 276 be a single L1 area, a L1 area and the L2 sub-domain, or the entire 277 IS-IS routing domain. 279 4. IS-IS extensions 281 4.1. The IS-IS PCED sub-TLV 283 The IS-IS PCED sub-TLV is made of a set of non ordered sub-TLVs. 285 The format of the IS-IS PCED sub-TLV and its sub-TLVs is identical to 286 the TLV format used by the Traffic Engineering Extensions to IS-IS 287 [RFC3784]. That is, the TLV is composed of 1 octet for the type, 1 288 octet specifying the TLV length, and a value field. The Length field 289 defines the length of the value portion in bytes. 291 The IS-IS PCED sub-TLV has the following format: 293 TYPE: To be assigned by IANA (suggested value = 5) 294 LENGTH: Variable 295 VALUE: set of sub-TLVs 297 Sub-TLVs types are under IANA control. 299 Currently six sub-TLVs are defined (suggested type values to be 300 assigned by IANA): 301 Sub-TLV type Length Name 302 1 variable PCE-ADDRESS sub-TLV 303 2 3 PATH-SCOPE sub-TLV 304 3 variable PCE-DOMAIN sub-TLV 305 4 variable NEIG-PCE-DOMAIN sub-TLV 306 5 variable PCE-CAP-FLAGS sub-TLV 307 6 1 CONGESTION sub-TLV 309 The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within 310 the PCED sub-TLV. 312 The PCE-DOMAIN and NEIG-PCE-DOMAIN sub-TLVs are optional. They 313 MAY be present in the PCED sub-TLV to facilitate selection of inter- 314 domain PCEs. 316 The PCE-CAP-FLAGS sub-TLV is optional and MAY be present in the PCED 317 sub-TLV to facilitate the PCE selection process. 319 The CONGESTION sub-TLV is optional and MAY be present in the PCED 320 sub-TLV, to indicate a PCE's processing congestion state. 322 Any non recognized sub-TLV MUST be silently ignored. 324 Additional sub-TLVs could be added in the future to advertise 325 additional PCE information. 327 The PCED sub-TLV is carried within an IS-IS CAPABILITY TLV defined in 328 [IS-IS-CAP]. 330 The following sub-sections describe the sub-TLVs which may be carried 331 within the PCED sub-TLV. 333 4.1.1. PCE-ADDRESS sub-TLV 335 The PCE-ADDRESS sub-TLV specifies the IP address that can be 336 used to reach the PCE. It is RECOMMENDED to make use of an address 337 that is always reachable, provided the PCE is alive. 339 The PCE-ADDRESS sub-TLV is mandatory; it MUST be present within the 340 PCED sub-TLV. It MAY appear twice, when the PCE has both an IPv4 and 341 IPv6 address. It MUST NOT appear more than once for the same address 342 type. 344 The PCE-ADDRESS sub-TLV has the following format: 346 TYPE: To be assigned by IANA (Suggested value =1) 347 LENGTH: 5 for IPv4 address and 17 for IPv6 address 348 VALUE: This comprises one octet indicating the address-type and 4 349 or 16 bytes encoding the IPv4 or IPv6 address to be used 350 to reach the PCE. 352 Address-type: 353 1 IPv4 354 2 IPv6 356 4.1.2. The PATH-SCOPE sub-TLV 358 The PATH-SCOPE sub-TLV indicates the PCE path computation scope, 359 which refers to the PCE's ability to compute or take part in the 360 computation of intra-area, inter-area, inter-AS, or inter-layer_TE 361 LSP(s). 363 The PATH-SCOPE sub-TLV is mandatory; it MUST be present within the 364 PCED sub-TLV. There MUST be exactly one instance of the PATH-SCOPE 365 sub-TLV within each PCED sub-TLV. 367 The PATH-SCOPE sub-TLV contains a set of bit flags indicating the 368 supported path scopes, and four fields indicating PCE preferences. 370 The PATH-SCOPE sub-TLV has the following format: 372 TYPE: To be assigned by IANA (Suggested value =2) 373 LENGTH: 3 374 VALUE: This comprises a one-byte flags field where flag 375 represents a supported path scope, followed by a 2-bytes 376 preferences field indicating PCE preferences. 378 Here is the structure of the bits flag: 380 +-+-+-+-+-+-+-+-+ 381 |0|1|2|3|4|5|Res| 382 +-+-+-+-+-+-+-+-+ 384 Bit Path Scope 386 0 L bit: Can compute intra-area path 387 1 R bit: Can act as PCE for inter-area TE LSP computation 388 2 Rd bit: Can act as a default PCE for inter-area TE LSP 389 computation 390 3 S bit: Can act as PCE for inter-AS TE LSP computation 391 4 Sd bit: Can act as a default PCE for inter-AS TE LSPs 392 computation 393 5 Y bit: Can compute or take part into the computation of 394 paths across layers 395 6-7 Reserved for future usage. 397 Here is the structure of the preferences field 399 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 400 |PrefL|PrefR|PrefS|PrefY| Res | 401 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 403 Res: Reserved for future usage. 405 Pref-L field: PCE's preference for intra-area TE LSPs computation. 407 Pref-R field: PCE's preference for inter-area TE LSPs computation. 409 Pref-S field: PCE's preference for inter-AS TE LSPs computation. 411 Pref-Y field: PCE's preference for inter-layer TE LSPs computation. 413 Res: Reserved for future usage. 415 The L, R, S, and Y bits are set when the PCE can act as a PCE for 416 intra-area, inter-area, inter-AS or inter-layer TE LSPs computation 417 respectively. These bits are non-exclusive. 419 When set the Rd bit indicates that the PCE can act as a default PCE 420 for inter-area TE LSP computation (that is the PCE can compute a path 421 towards any neighbor area). Similarly, when set, the Sd bit indicates 422 that the PCE can act as a default PCE for inter-AS TE LSP computation 423 (the PCE can compute a path towards any neighbor AS). 425 When the Rd and Sd bit are set, the PCED sub-TLV MUST NOT contain any 426 NEIG-PCE-DOMAIN sub-TLV (see 4.1.4). 428 When the R/S bit is cleared, the Rd/Sd bit SHOULD be cleared and MUST 429 be ignored. 431 The PrefL, PrefR, PrefS and PrefY fields are each three bits long and 432 allow the PCE to specify a preference for each computation scope, 433 where 7 reflects the highest preference. Such preference can be used 434 for weighted load balancing of requests. An operator may decide to 435 configure a preference for each computation scope to each PCE so as 436 to balance the path computation load among them. The algorithms used 437 by a PCC to balance its path computation requests according to such 438 PCE preference are out of the scope of this document and is a matter 439 for local or network wide policy. The same or distinct preferences 440 may be used for each scopes. For instance an operator that wants a 441 PCE capable of both inter-area and inter-AS computation to be used 442 preferably for inter-AS computation may configure a PrefS higher than 443 the PrefR. 445 When the L bit, R bit, S bit or Y bit are cleared the PrefL, PrefR, 446 PrefS, PrefY fields SHOULD respectively be set to 0 and MUST be 447 ignored. 449 Both reserved fields SHOULD be set to zero on transmission and MUST 450 be ignored on receipt. 452 4.1.3. PCE-DOMAIN sub-TLV 454 The PCE-DOMAIN sub-TLV specifies a PCE-Domain (areas and/or ASes) 455 where the PCE has topology visibility and through which the PCE can 456 compute paths. 458 The PCE-DOMAIN sub-TLV MAY be present when PCE-Domains cannot be 459 inferred by other IGP information, for instance when the PCE is 460 inter-domain capable (i.e. when the R bit or S bit is set) and the 461 flooding scope is the entire routing domain (see section 5 for a 462 discussion of how the flooding scope is set and interpreted). 464 A PCED sub-TLV MAY include multiple PCE-DOMAIN sub-TLVs when the PCE 465 has visibility in multiple PCE-Domains. 467 The PCE-DOMAIN sub-TLV has the following format: 469 TYPE: To be assigned by IANA (Suggested value =3) 470 LENGTH: Variable 471 VALUE: This comprises one octet indicating the domain-type (area ID 472 or AS Number) and a variable length IS-IS area ID or a 32 bits AS 473 number, identifying a PCE-domain where the PCE has visibility. 475 Two domain types are defined: 476 1 Area ID 477 2 AS Number 479 The Area ID is the area address as defined in [ISO]. 481 When coded in two bytes (which is the current defined format as the 482 time of writing this document), the AS Number field MUST have its 483 left two bytes set to 0. 485 4.1.4. NEIG-PCE-DOMAIN sub-TLV 487 The NEIG-PCE-DOMAIN sub-TLV specifies a neighbour PCE-domain (area, 488 AS) toward which a PCE can compute paths. It means that the PCE can 489 take part in the computation of inter-domain TE LSPs whose path 490 transits this neighbour PCE-domain. 492 A PCED sub-TLV MAY include several NEIG-PCE-DOMAIN sub-TLVs when the 493 PCE can compute paths towards several neighbour PCE-domains. 495 The NEIG-PCE-DOMAIN sub-TLV has the same format as the PCE-DOMAIN 496 sub-TLV: 498 TYPE: To be assigned by IANA (Suggested value =4) 499 LENGTH: Variable 500 VALUE: This comprises one octet indicating the domain-type (area ID 501 or AS Number) and a variable length IS-IS area ID or a 32 bits AS 502 number, identifying a PCE-domain towards which the PCE can compute 503 paths. 505 Two domain types are defined: 506 1 Area ID 507 2 AS Number 509 The Area ID is the area address as defined in [ISO]. 511 When coded in two bytes (which is the current defined format as the 512 time of writing this document), the AS Number field MUST have its 513 left two bytes set to 0. 515 The NEIG-PCE-DOMAIN sub-TLV MUST be present if the R bit is set and 516 the Rd bit is cleared, and/or, if the S bit is set and the Sd bit is 517 cleared. 519 4.1.5. PCE-CAP-FLAGS sub-TLV 521 The PCE-CAP-FLAGs sub-TLV is an optional sub-TLV used to indicate 522 PCEP related capabilities. It MAY be present within the PCED sub-TLV. 523 It MUST NOT be present more than once. 525 The value field of the PCE-CAP-FLAGS sub-TLV is made up of an array 526 of units of 32 bit flags numbered from the most significant as bit 527 zero, where each bit represents one PCE capability. 529 The PCE-CAP-FLAGS sub-TLV has the following format: 531 TYPE: To be assigned by IANA (Suggested value =4) 532 LENGTH: Multiple of 4 533 VALUE: This contains an array of units of 32 bit flags numbered 534 from the most significant as bit zero, where each bit 535 represents one PCE capability. 537 IANA is requested to manage the space of the PCE Capability Flags. 539 The following bits are to be assigned by IANA: 541 Bit Capabilities 543 0 Path computation with GMPLS link constraints 544 1 Bidirectional path computation 545 2 Diverse path computation 546 3 Load-balanced path computation 547 4 Synchronized paths computation 548 5 Support for multiple objective functions 549 6 Support for additive path constraints 550 (max hop count, etc.) 551 7 Support for request prioritization 552 8 Support for multiple requests per message 554 9-31 Reserved for future assignments by IANA. 556 These capabilities are defined in [RFC4657]. 558 Reserved bits SHOULD be set to zero on transmission and MUST be 559 ignored on receipt. 561 4.1.6. The CONGESTION sub-TLV 563 The CONGESTION sub-TLV is used to indicate that a PCE is experiencing 564 a processing congestion state and may optionally include expected PCE 565 congestion duration. 566 The CONGESTION sub-TLV is optional, it MAY be carried within the PCED 567 sub-TLV. It MUST NOT be present more than once. 569 The format of the CONGESTION sub-TLV is as follows: 571 TYPE: To be assigned by IANA (Suggested value =6) 572 LENGTH: 3 573 VALUE: This comprises a one byte of bit flags indicating the 574 congestion status, followed by a 2-bytes field indicating the 575 congestion duration. 577 Here is the TLV structure 579 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 580 |C| Reserved| Congestion Duration | 581 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 583 Value 584 -C bit: When set this indicates that the PCE is experiencing 585 congestion and cannot accept any new request. When 586 cleared this indicates that the PCE is not 587 experiencing congestion and can accept new requests. 589 -Congestion Duration: 2-bytes, the estimated PCE congestion 590 duration in seconds. 592 When C is set and the Congestion Duration field is equal to 0, this 593 means that the Congestion Duration is unknown. 594 When C is cleared the Congestion Duration SHOULD be set to 0 and MUST 595 be ignored. 597 5. Elements of Procedure 599 The PCED sub-TLV is advertised within an IS-IS Router Capability TLV 600 defined in [IS-IS-CAP]. As such, elements of procedures are inherited 601 from those defined in [IS-IS-CAP]. 603 The flooding scope is controlled by the S flag in the IS-IS Router 604 Capability TLV (see [IS-IS-CAP]). When the scope of the PCED sub-TLV 605 is area local it MUST be carried within an IS-IS Router Capability 606 TLV having the S bit cleared. When the scope of the PCED sub-TLV is 607 the entire IS-IS routing domain, it MUST be carried within an IS-IS 608 Router Capability TLV having the S bit set. Note that when only the L 609 bit of the PATH-SCOPE sub-TLV is set, the flooding scope MUST be area 610 local. 612 Note that a L1L2 node may include both in its L1 and L2 LSPs a PCED 613 TLV in a Router Capability TLV with the S bit cleared. This allows 614 restricting the flooding scope to the L1 area and the L2 sub-domain. 616 An IS-IS router MUST originate a new IS-IS LSP whenever there is a 617 change in a PCED TLV associated with a PCE it advertises. 619 When a PCE is deactivated, the IS-IS Router advertising this PCE MUST 620 originate a new IS-IS LSP that does no longer include the 621 corresponding PCED TLV. 623 The PCE address(s), i.e. the address(s) indicated within the PCE 624 ADDRESS sub-TLV, must be reachable via some prefix(es) 625 advertised by IS-IS; this allows speeding up the detection of a 626 PCE failure. Note that when the PCE address is no longer reachable, 627 this means that the PCE node has failed or has been torn down, or 628 that there is no longer IP connectivity to the PCE node. 630 The PCED sub-TLV is OPTIONAL. When an IS-IS LSP does not contain any 631 PCED TLV, this means that the PCE information of that node is 632 unknown. 634 A change in PCED information MUST not trigger any SPF computation at 635 a receiving router. 637 The way PCEs determine the information they advertise is out of the 638 scope of this document. Some information may be configured (e.g., 639 address, preferences, scope) and other information may be 640 automatically determined by the PCE (e.g. areas of visibility). 642 5.1. CONGESTION sub-TLV specific procedures 644 When a PCE enters into a processing congestion state, the conditions 645 of which are implementation dependent, a new IS-IS LSP with a 646 CONGESTION sub-TLV with the C bit set and optionally a non-null 647 expected congestion duration MAY be generated. 649 When a PCE exists from the processing congestion state, the 650 conditions of which are implementation dependent, two cases are 651 considered: 652 - If the congestion duration in the previously originated 653 CONGESTION sub-TLV was null, a CONGESTION sub-TLV with the C bit 654 cleared SHOULD be generated; 655 - If the congestion duration in the previously originated 656 CONGESTION sub-TLV was non null, a CONGESTION sub-TLV with the C bit 657 cleared MAY be generated. Note that in some particular cases it may 658 be desired to originate a CONGESTION sub-TLV with the C bit cleared 659 if the congestion duration was over estimated. 661 The congestion duration allows a reduction in the amount of IS-IS 662 flooding, as only uncongested-to-congested state transitions are 663 advertised. 665 An IS-IS implementation SHOULD support an appropriate dampening 666 algorithm so as to dampen flooding of PCE Congestion information in 667 order to not impact the IS-IS scalability. It is RECOMMENDED to 668 introduce some hysteresis for congestion state transition, so as to 669 avoid state oscillations that may impact IS-IS performance. For 670 instance two thresholds MAY be configured: a resource congestion 671 upper-threshold and a resource congestion lower-threshold. An LSR 672 enters the congested state when the CPU load reaches the upper 673 threshold and leaves the congested state when the CPU load goes under 674 the lower threshold. 676 Upon receipt of an updated CONGESTION sub-TLV a PCC should take 677 appropriate actions. In particular, the PCC SHOULD stop sending 678 requests to a congested PCE, and SHOULD gradually start sending again 679 requests to a PCE that is no longer congested. 681 6. Backward compatibility 683 The PCED sub-TLV defined in this document does not introduce any 684 interoperability issues. 686 An IS-IS router not supporting the PCED sub-TLV will just silently 687 ignore the TLV as specified in [IS-IS-CAP]. 689 7. IANA considerations 691 7.1. IS-IS sub-TLV 693 Once a registry for the IS-IS Router Capability TLV defined in 694 [IS-IS-CAP] has been assigned, IANA will assign a new TLV code-point 695 for the PCED sub-TLV carried within the Router Capability TLV. 697 Value Sub-TLV References 698 ----- -------- ---------- 699 5 PCED sub-TLV (this document) 701 7.2. PCED sub-TLVs registry 703 The PCED sub-TLV referenced above is constructed from sub-TLVs. Each 704 sub-TLV includes a 8-bit type identifier. 706 The IANA is requested to create a new registry and manage sub-TLV 707 type identifiers as follows: 709 - sub-TLV Type 710 - sub-TLV Name 711 - Reference 713 This document defines five sub-TLVs as follows (suggested values): 715 Value TLV name References 716 ----- -------- ---------- 717 1 PCE-ADDRESS This document 718 2 PATH-SCOPE This document 719 3 PCE-DOMAIN This document 720 4 NEIG-PCE-DOMAIN This document 721 5 PCE-CAP-FLAGS This document 722 6 CONGESTION This document 724 New sub-TLV type values may be allocated only by an IETF Consensus 725 action. 727 7.3. PCE Capability Flags registry 729 This document provides new capability bit flags, which are present 730 in the PCE-CAP-FLAGS TLV referenced in section 4.1.5. 732 The IANA is requested to create a new registry and to manage the 733 space of PCE capability bit flags numbering them in the usual IETF 734 notation starting at zero, and continuing at least through 31, with 735 the most significant bit as bit zero. 737 The same registry is defined for OSPF based PCE discovery [PCED-OSPF]. 738 A single registry must be defined for both protocols. 740 New bit numbers may be allocated only by an IETF Consensus action. 742 Each bit should be tracked with the following qualities: 744 - Bit number 745 - Defining RFC 746 - Capability Description 748 Several bits are defined in this document. Here are the suggested 749 values: 751 Bit Capability Description 753 0 Path computation with GMPLS link constraints 754 1 Bidirectional path computation 755 2 Diverse path computation 756 3 Load-balanced path computation 757 4 Synchronized paths computation 758 5 Support for multiple objective functions 759 6 Support for additive path constraints 760 (max hop count, etc.) 761 7 Support for request prioritization 762 8 Support for multiple requests per message 764 8. Security Considerations 766 This document defines IS-IS extensions for PCE discovery within an 767 administrative domain. Hence the security of the PCE discovery relies 768 on the security of IS-IS. 770 Mechanisms defined to ensure authenticity and integrity of IS-IS LSPs 771 [RFC3567], and their TLVs, can be used to secure the PCED sub-TLV as 772 well. 774 IS-IS provides no mechanism for protecting the privacy of LSPs, and 775 in particular the privacy of the PCE discovery information. 777 9. Manageability Considerations 779 Manageability considerations for PCE Discovery are addressed in 780 section 4.10 of [RFC4674]. 782 9.1. Control of Policy and Functions 784 Requirements on the configuration of PCE discovery parameters on PCCs 785 and PCEs are discussed in section 4.10.1 of [RFC4674]. 787 Particularly, a PCE implementation SHOULD allow configuring the 788 following parameters on the PCE: 789 -The PCE IPv4/IPv6 address(es) (see section 4.1.1) 790 -The PCE Scope, including the inter-domain functions (inter- 791 area, inter-AS, inter-layer), the preferences, and whether the 792 PCE can act as default PCE (see section 4.1.2) 793 -The PCE domains (see section 4.1.3) 794 -The neighbour PCE domains (see section 4.1.4) 795 -The PCE capabilities (see section 4.1.5) 797 9.2. Information and Data Model 799 A MIB module for PCE Discovery is defined in [PCED-MIB]. 801 9.3. Liveness Detection and Monitoring 803 PCE Discovery Protocol liveness detection relies upon IS-IS liveness 804 detection. IS-IS already includes a liveness detection mechanism 805 (Hello PDUs), and PCE discovery does not require additional 806 capabilities. 808 Procedures defined in section 5.1 allow a PCC detecting when a PCE 809 has been deactivated, or is no longer reachable. 811 9.4. Verify Correct Operations 813 The correlation of information advertised against information 814 received can be achieved by comparing the PCED information in the PCC 815 and in the PCE, which is stored in the PCED MIB [PCED-MIB]. The 816 number of dropped, corrupt, and rejected information elements are 817 stored in the PCED MIB. 819 9.5. Requirements on Other Protocols and Functional Components 821 The IS-IS extensions defined in this documents do not imply any 822 requirement on other protocols. 824 9.6. Impact on network operations 826 Frequent changes in PCE information, and particularly in PCE 827 congestion information, may have a significant impact on IS-IS and 828 might destabilize the operation of the network by causing the PCCs to 829 swap between PCEs. 831 As discussed in section 5.1, a PCE implementation SHOULD support an 832 appropriate dampening algorithm so as to dampen IS-IS flooding in 833 order to not impact the IS-IS scalability. 835 Also, as discussed in section 4.10.4 of [RFC4674], it MUST be 836 possible to apply at least the following controls: 838 - Configurable limit on the rate of announcement of changed 839 parameters at a PCE. 840 - Control of the impact on PCCs such as through discovery messages 841 rate-limiting. 842 - Configurable control of triggers that cause a PCC to swap to 843 another PCE. 845 10. Acknowledgments 847 We would like to thank Lucy Wong, Adrian Farrel, Les Ginsberg, Mike 848 Shand and Lou Berger for their useful comments and suggestions. 850 11. References 852 11.1. Normative references 854 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 855 Requirement Levels", BCP 14, RFC 2119, March 1997. 857 [ISO] "Intermediate System to Intermediate System Intra-Domain 858 Routeing Exchange Protocol for use in Conjunction with the 859 Protocol for Providing the Connectionless-mode Network Service 860 (ISO 8473)", ISO DP 10589, February 1990. 862 [RFC3784] Li, T., Smit, H., "IS-IS extensions for Traffic 863 Engineering", RFC 3784, June 2004. 865 [IS-IS-CAP] Vasseur, J.P. et al., "IS-IS extensions for advertising 866 router information", draft-ietf-isis-caps, work in progress. 868 [RFC4655] Farrel, A., Vasseur, J.P., Ash, J., "Path Computation 869 Element (PCE)-based Architecture", RFC4655, august 2006. 871 [RFC4674] Le Roux, J.L., et al. "Requirements for PCE discovery", 872 RFC4674, October 2006. 874 [RFC4205] Kompella, Rekhter, " IS-IS Extensions in Support of 875 Generalized Multi-Protocol Label Switching (GMPLS)", RFC4205, October 876 2005. 878 [RFC3567] Li, T. and R. Atkinson, "Intermediate System to 879 Intermediate System (IS-IS) Cryptographic Authentication", RFC 3567, 880 July 2003. 882 11.2. Informative references 884 [RFC4657] Ash, J., Le Roux, J.L., " PCE Communication Protocol 885 Generic Requirements", RFC4657, September 2006. 887 [PCEP] Vasseur, Le Roux, et al., “Path Computation Element (PCE) 888 communication Protocol (PCEP) - Version 1”, draft-ietf-pce-pcep, work 889 in progress. 891 [PCED-MIB] Stephan, E., "Definitions of Managed Objects for Path 892 Computation Element Discovery", draft-ietf-pce-disc-mib-00, work in 893 progress. 895 [PCED-OSPF] Le Roux, Vasseur, "OSPF protocol extensions for Path 896 Computation Element (PCE) Discovery", draft-ietf-pce-disco-proto- 897 ospf, work in progress. 899 12. Editors' Addresses: 901 Jean-Louis Le Roux (Editor) 902 France Telecom 903 2, avenue Pierre-Marzin 904 22307 Lannion Cedex 905 FRANCE 906 Email: jeanlouis.leroux@orange-ftgroup.com 908 Jean-Philippe Vasseur (Editor) 909 Cisco Systems, Inc. 910 1414 Massachusetts avenue 911 Boxborough , MA - 01719 912 USA 913 Email: jpv@cisco.com 915 13. Contributors' Adresses: 917 Yuichi Ikejiri 918 NTT Communications Corporation 919 1-1-6, Uchisaiwai-cho, Chiyoda-ku 920 Tokyo 100-8019 921 JAPAN 922 Email: y.ikejiri@ntt.com 924 Raymond Zhang 925 BT Infonet 926 2160 E. Grand Ave. 927 El Segundo, CA 90025 928 USA 929 Email: raymond_zhang@bt-infonet.com 931 14. Intellectual Property Statement 933 The IETF takes no position regarding the validity or scope of any 934 Intellectual Property Rights or other rights that might be claimed to 935 pertain to the implementation or use of the technology described in 936 this document or the extent to which any license under such rights 937 might or might not be available; nor does it represent that it has 938 made any independent effort to identify any such rights. Information 939 on the procedures with respect to rights in RFC documents can be 940 found in BCP 78 and BCP 79. 942 Copies of IPR disclosures made to the IETF Secretariat and any 943 assurances of licenses to be made available, or the result of an 944 attempt made to obtain a general license or permission for the use of 945 such proprietary rights by implementers or users of this 946 specification can be obtained from the IETF on-line IPR repository at 947 http://www.ietf.org/ipr. 949 The IETF invites any interested party to bring to its attention any 950 copyrights, patents or patent applications, or other proprietary 951 rights that may cover technology that may be required to implement 952 this standard. Please address the information to the IETF at 953 ietf-ipr@ietf.org. 955 Disclaimer of Validity 957 This document and the information contained herein are provided 958 on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE 959 REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE 960 IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL 961 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY 962 WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE 963 ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS 964 FOR A PARTICULAR PURPOSE. 966 Copyright Statement 968 Copyright (C) The IETF Trust (2007). This document is subject to the 969 rights, licenses and restrictions contained in BCP 78, and except as 970 set forth therein, the authors retain all their rights.