idnits 2.17.1 draft-dhodylee-pce-pcep-ls-11.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 : ---------------------------------------------------------------------------- == There are 25 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. == There are 5 instances of lines with private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (June 21, 2018) is 2135 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: 'TBD3' is mentioned on line 517, but not defined == Missing Reference: 'TBD5' is mentioned on line 597, but not defined == Missing Reference: 'TBD6' is mentioned on line 627, but not defined == Missing Reference: 'This I-D' is mentioned on line 1339, but not defined == Unused Reference: 'RFC7810' is defined on line 1568, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-pce-pcep-yang' is defined on line 1667, but no explicit reference was found in the text == Unused Reference: 'ONOS-PCEP' is defined on line 1702, but no explicit reference was found in the text == Unused Reference: 'ONOS-PCEP-GITHUB' is defined on line 1706, but no explicit reference was found in the text ** Obsolete normative reference: RFC 7752 (Obsoleted by RFC 9552) ** Obsolete normative reference: RFC 7810 (Obsoleted by RFC 8570) -- Obsolete informational reference (is this intentional?): RFC 5316 (Obsoleted by RFC 9346) -- Obsolete informational reference (is this intentional?): RFC 7525 (Obsoleted by RFC 9325) == Outdated reference: A later version (-23) exists of draft-ietf-pce-pcep-yang-07 == Outdated reference: A later version (-12) exists of draft-ietf-pce-applicability-actn-06 == Outdated reference: A later version (-01) exists of draft-kondreddy-pce-pcep-ls-sync-optimizations-00 == Outdated reference: A later version (-08) exists of draft-leedhody-pce-vn-association-05 Summary: 2 errors (**), 0 flaws (~~), 15 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 PCE Working Group D. Dhody 3 Internet-Draft Y. Lee 4 Intended status: Standards Track Huawei Technologies 5 Expires: December 23, 2018 D. Ceccarelli 6 Ericsson 7 June 21, 2018 9 PCEP Extension for Distribution of Link-State and TE Information. 10 draft-dhodylee-pce-pcep-ls-11 12 Abstract 14 In order to compute and provide optimal paths, Path Computation 15 Elements (PCEs) require an accurate and timely Traffic Engineering 16 Database (TED). Traditionally this TED has been obtained from a link 17 state (LS) routing protocol supporting traffic engineering 18 extensions. 20 This document extends the Path Computation Element Communication 21 Protocol (PCEP) with Link-State and TE Information. 23 Requirements Language 25 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 26 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 27 "OPTIONAL" in this document are to be interpreted as described in BCP 28 14 [RFC2119] [RFC8174] when, and only when, they appear in all 29 capitals, as shown here. 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 https://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 December 23, 2018. 48 Copyright Notice 50 Copyright (c) 2018 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (https://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 66 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 67 3. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 5 68 4. Requirements for PCEP extension . . . . . . . . . . . . . . . 6 69 5. New Functions to distribute link-state (and TE) via PCEP . . 7 70 6. Overview of Extension to PCEP . . . . . . . . . . . . . . . . 7 71 6.1. New Messages . . . . . . . . . . . . . . . . . . . . . . 7 72 6.2. Capability Advertisement . . . . . . . . . . . . . . . . 8 73 6.3. Initial Link-State (and TE) Synchronization . . . . . . . 8 74 6.3.1. Optimizations for LS Synchronization . . . . . . . . 11 75 6.4. LS Report . . . . . . . . . . . . . . . . . . . . . . . . 11 76 7. Transport . . . . . . . . . . . . . . . . . . . . . . . . . . 11 77 8. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 12 78 8.1. LS Report Message . . . . . . . . . . . . . . . . . . . . 12 79 8.2. The PCErr Message . . . . . . . . . . . . . . . . . . . . 12 80 9. Objects and TLV . . . . . . . . . . . . . . . . . . . . . . . 13 81 9.1. TLV Format . . . . . . . . . . . . . . . . . . . . . . . 13 82 9.2. Open Object . . . . . . . . . . . . . . . . . . . . . . . 13 83 9.2.1. LS Capability TLV . . . . . . . . . . . . . . . . . . 13 84 9.3. LS Object . . . . . . . . . . . . . . . . . . . . . . . . 14 85 9.3.1. Routing Universe TLV . . . . . . . . . . . . . . . . 16 86 9.3.2. Route Distinguisher TLV . . . . . . . . . . . . . . . 17 87 9.3.3. Virtual Network TLV . . . . . . . . . . . . . . . . . 17 88 9.3.4. Local Node Descriptors TLV . . . . . . . . . . . . . 18 89 9.3.5. Remote Node Descriptors TLV . . . . . . . . . . . . . 18 90 9.3.6. Node Descriptors Sub-TLVs . . . . . . . . . . . . . . 19 91 9.3.7. Link Descriptors TLV . . . . . . . . . . . . . . . . 20 92 9.3.8. Prefix Descriptors TLV . . . . . . . . . . . . . . . 21 93 9.3.9. PCEP-LS Attributes . . . . . . . . . . . . . . . . . 22 94 9.3.9.1. Node Attributes TLV . . . . . . . . . . . . . . . 22 95 9.3.9.2. Link Attributes TLV . . . . . . . . . . . . . . . 22 96 9.3.9.3. Prefix Attributes TLV . . . . . . . . . . . . . . 24 97 9.3.10. Removal of an Attribute . . . . . . . . . . . . . . . 25 98 10. Other Considerations . . . . . . . . . . . . . . . . . . . . 25 99 10.1. Inter-AS Links . . . . . . . . . . . . . . . . . . . . . 25 100 11. Security Considerations . . . . . . . . . . . . . . . . . . . 25 101 12. Manageability Considerations . . . . . . . . . . . . . . . . 26 102 12.1. Control of Function and Policy . . . . . . . . . . . . . 26 103 12.2. Information and Data Models . . . . . . . . . . . . . . 26 104 12.3. Liveness Detection and Monitoring . . . . . . . . . . . 27 105 12.4. Verify Correct Operations . . . . . . . . . . . . . . . 27 106 12.5. Requirements On Other Protocols . . . . . . . . . . . . 27 107 12.6. Impact On Network Operations . . . . . . . . . . . . . . 27 108 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 109 13.1. PCEP Messages . . . . . . . . . . . . . . . . . . . . . 27 110 13.2. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 28 111 13.3. LS Object . . . . . . . . . . . . . . . . . . . . . . . 28 112 13.4. PCEP-Error Object . . . . . . . . . . . . . . . . . . . 29 113 13.5. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 29 114 13.6. PCEP-LS Sub-TLV Type Indicators . . . . . . . . . . . . 30 115 14. TLV/Sub-TLV Code Points Summary . . . . . . . . . . . . . . . 32 116 15. Implementation Status . . . . . . . . . . . . . . . . . . . . 33 117 15.1. Hierarchical Transport PCE controllers . . . . . . . . . 33 118 15.2. ONOS-based Controller (MDSC and PNC) . . . . . . . . . . 33 119 16. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 33 120 17. References . . . . . . . . . . . . . . . . . . . . . . . . . 34 121 17.1. Normative References . . . . . . . . . . . . . . . . . . 34 122 17.2. Informative References . . . . . . . . . . . . . . . . . 35 123 Appendix A. Reusing BGP-LS codepoints . . . . . . . . . . . . . 38 124 Appendix B. Relevant OSPF TLV and sub-TLV . . . . . . . . . . . 38 125 Appendix C. Examples . . . . . . . . . . . . . . . . . . . . . . 39 126 C.1. All Nodes . . . . . . . . . . . . . . . . . . . . . . . . 39 127 C.2. Designated Node . . . . . . . . . . . . . . . . . . . . . 41 128 C.3. Between PCEs . . . . . . . . . . . . . . . . . . . . . . 41 129 Appendix D. Contributor Addresses . . . . . . . . . . . . . . . 43 130 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 43 132 1. Introduction 134 In Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS), 135 a Traffic Engineering Database (TED) is used in computing paths for 136 connection oriented packet services and for circuits. The TED 137 contains all relevant information that a Path Computation Element 138 (PCE) needs to perform its computations. It is important that the 139 TED be complete and accurate each time, the PCE performs a path 140 computation. 142 In MPLS and GMPLS, interior gateway routing protocols (IGPs) have 143 been used to create and maintain a copy of the TED at each node 144 running the IGP. One of the benefits of the PCE architecture 145 [RFC4655] is the use of computationally more sophisticated path 146 computation algorithms and the realization that these may need 147 enhanced processing power not necessarily available at each node 148 participating in an IGP. 150 Section 4.3 of [RFC4655] describes the potential load of the TED on a 151 network node and proposes an architecture where the TED is maintained 152 by the PCE rather than the network nodes. However, it does not 153 describe how a PCE would obtain the information needed to populate 154 its TED. PCE may construct its TED by participating in the IGP 155 ([RFC3630] and [RFC5305] for MPLS-TE; [RFC4203] and [RFC5307] for 156 GMPLS). An alternative is offered by BGP-LS [RFC7752] . 158 [RFC8231] describes a set of extensions to PCEP to provide stateful 159 control. A stateful PCE has access to not only the information 160 carried by the network's Interior Gateway Protocol (IGP), but also 161 the set of active paths and their reserved resources for its 162 computations. PCC can delegate the rights to modify the LSP 163 parameters to an Active Stateful PCE. This requires PCE to quickly 164 be updated on any changes in the Topology and TEDB, so that PCE can 165 meet the need for updating LSPs effectively and in a timely manner. 166 The fastest way for a PCE to be updated on TED changes is via a 167 direct interface with each network node and with incremental update 168 from each network node with only the attribute that is modified. 170 [RFC8281] describes the setup, maintenance and teardown of PCE- 171 initiated LSPs under the stateful PCE model, without the need for 172 local configuration on the PCC, thus allowing for a dynamic network 173 that is centrally controlled and deployed. This model requires 174 timely topology and TED update at the PCE. 176 [RFC5440] describes the specifications for the Path Computation 177 Element Communication Protocol (PCEP). PCEP specifies the 178 communication between a Path Computation Client (PCC) and a Path 179 Computation Element (PCE), or between two PCEs based on the PCE 180 architecture [RFC4655]. 182 This document describes a mechanism by which Link State and TE 183 information can be collected from networks and shared with PCE using 184 the PCEP itself. This is achieved using a new PCEP message format. 185 The mechanism is applicable to physical and virtual links as well as 186 further subjected to various policies. 188 A network node maintains one or more databases for storing link-state 189 and TE information about nodes and links in any given area. Link 190 attributes stored in these databases include: local/remote IP 191 addresses, local/ remote interface identifiers, link metric and TE 192 metric, link bandwidth, reservable bandwidth, per CoS class 193 reservation state, preemption and Shared Risk Link Groups (SRLG). 194 The node's PCEP process can retrieve topology from these databases 195 and distribute it to a PCE, either directly or via another PCEP 196 Speaker, using the encoding specified in this document. 198 Further [RFC6805] describes Hierarchical-PCE architecture, where a 199 parent PCE maintains a domain topology map. To build this domain 200 topology map, the child PCE can carry the border nodes and inter- 201 domain link information to the parent PCE using the mechanism 202 described in this document. Further as described in 203 [I-D.ietf-pce-applicability-actn], the child PCE can also transport 204 abstract Link-State and TE information from child PCE to a Parent PCE 205 using the mechanism described in this document to build an abstract 206 topology at the parent PCE. 208 [RFC8231] describe LSP state synchronization between PCCs and PCEs in 209 case of stateful PCE. This document does not make any change to the 210 LSP state synchronization process. The mechanism described in this 211 document are on top of the existing LSP state synchronization. 213 2. Terminology 215 The terminology is as per [RFC4655] and [RFC5440]. 217 3. Applicability 219 The mechanism specified in this draft is applicable to deployments: 221 o Where there is no IGP or BGP-LS running in the network. 223 o Where there is no IGP or BGP-LS running at the PCE to learn link- 224 state and TE information. 226 o Where there is IGP or BGP-LS running but with a need for a faster 227 TE and link-state population and convergence at the PCE. 229 * A PCE may receive partial information (say basic TE, link- 230 state) from IGP and other information (optical and impairment) 231 from PCEP. 233 * A PCE may receive an incremental update (as opposed to the 234 entire information of the node/link). 236 * A PCE may receive full information from both existing mechanism 237 (IGP or BGP) and PCEP. 239 o Where there is a need for transporting (abstract) Link-State and 240 TE information from child PCE to a Parent PCE in H-PCE [RFC6805]; 241 as well as for Provisioning Network Controller (PNC) to Multi- 242 Domain Service Coordinator (MDSC) in Abstraction and Control of TE 243 Networks (ACTN) [I-D.ietf-teas-actn-framework]. 245 o Where there is an existing PCEP session between the nodes and the 246 PCE-based central controller [RFC8283], and the operator would 247 like to use a single protocol between the controller and the 248 nodes. 250 A PCC may further choose to send only local information or both local 251 and remote learned information. 253 How a PCE manages the link-state (and TE) information is 254 implementation specific and thus out of scope of this document. 256 The prefix information in PCEP-LS can also help in determining the 257 domain of the endpoints in H-PCE (and ACTN). Section 4.5 of 258 [RFC6805] describe various mechanism and procedures that might be 259 used, PCEP-LS provides a simple mechanism to exchange this 260 information within PCEP. [I-D.ietf-teas-actn-framework] defines 261 three types of topology abstraction - (1) Native/White Topology; (2) 262 Black Topology; and (3) Grey Topology. Based on the local policy, 263 the PNC (or child PCE) would share the domain topology to the MDSC 264 (or Parent PCE) based on the abstraction type. The protocol 265 extention defined in this document can carry any type of topology 266 abstraction. 268 4. Requirements for PCEP extension 270 Following key requirements associated with link-state (and TE) 271 distribution are identified for PCEP: 273 1. The PCEP speaker supporting this draft MUST be a mechanism to 274 advertise the Link-State (and TE) distribution capability. 276 2. PCC supporting this draft MUST have the capability to report the 277 link-state (and TE) information to the PCE. This includes self 278 originated information and remote information learned via routing 279 protocols. PCC MUST be capable to do the initial bulk sync at 280 the time of session initialization as well as changes after. 282 3. A PCE MAY learn link-state (and TE) from PCEP as well as from 283 existing mechanism like IGP/BGP-LS. PCEP extension MUST have a 284 mechanism to link the information learned via other means. There 285 MUST NOT be any changes to the existing link-state (and TE) 286 population mechanism via IGP/BGP-LS. PCEP extension SHOULD keep 287 the properties in a protocol (IGP or BGP-LS) neutral way, such 288 that an implementation may not need to know about any OSPF or IS- 289 IS or BGP protocol specifics. 291 4. It SHOULD be possible to encode only the changes in link-state 292 (and TE) properties (after the initial sync) in PCEP messages. 294 5. The same mechanism should be used for both MPLS TE as well as 295 GMPLS, optical and impairment aware properties. 297 6. The same mechanism should be used for PCE to PCE Link-state (and 298 TE) synchronization. 300 5. New Functions to distribute link-state (and TE) via PCEP 302 Several new functions are required in PCEP to support distribution of 303 link-state (and TE) information. A function can be initiated either 304 from a PCC towards a PCE (C-E) or from a PCE towards a PCC (E-C). 305 The new functions are: 307 o Capability advertisement (E-C,C-E): both the PCC and the PCE MUST 308 announce during PCEP session establishment that they support PCEP 309 extensions for distribution of link-state (and TE) information 310 defined in this document. 312 o Link-State (and TE) synchronization (C-E): after the session 313 between the PCC and a PCE is initialized, the PCE must learn Link- 314 State (and TE) information before it can perform path 315 computations. In case of stateful PCE it is RECOMENDED that this 316 operation be done before LSP state synchronization. 318 o Link-State (and TE) Report (C-E): a PCC sends a LS (and TE) report 319 to a PCE whenever the Link-State and TE information changes. 321 6. Overview of Extension to PCEP 323 6.1. New Messages 325 In this document, we define a new PCEP messages called LS Report 326 (LSRpt), a PCEP message sent by a PCC to a PCE to report link-state 327 (and TE) information. Each LS Report in a LSRpt message can contain 328 the node or link properties. An unique PCEP specific LS identifier 329 (LS-ID) is also carried in the message to identify a node or link and 330 that remains constant for the lifetime of a PCEP session. This 331 identifier on its own is sufficient when no IGP or BGP-LS running in 332 the network for PCE to learn link-state (and TE) information. Incase 333 PCE learns some information from PCEP and some from the existing 334 mechanism, the PCC SHOULD include the mapping of IGP or BGP-LS 335 identifier to map the information populated via PCEP with IGP/BGP-LS. 336 See Section 8.1 for details. 338 6.2. Capability Advertisement 340 During PCEP Initialization Phase, PCEP Speakers (PCE or PCC) 341 advertise their support of LS (and TE) distribution via PCEP 342 extensions. A PCEP Speaker includes the "LS Capability" TLV, 343 described in Section 9.2.1, in the OPEN Object to advertise its 344 support for PCEP-LS extensions. The presence of the LS Capability 345 TLV in PCC's OPEN Object indicates that the PCC is willing to send LS 346 Reports whenever local link-state (and TE) information changes. The 347 presence of the LS Capability TLV in PCE's OPEN message indicates 348 that the PCE is interested in receiving LS Reports whenever local 349 link-state (and TE) information changes. 351 The PCEP extensions for LS (and TE) distribution MUST NOT be used if 352 one or both PCEP Speakers have not included the LS Capability TLV in 353 their respective OPEN message. If the PCE that supports the 354 extensions of this draft but did not advertise this capability, then 355 upon receipt of a LSRpt message from the PCC, it SHOULD generate a 356 PCErr with error-type 19 (Invalid Operation), error-value TBD1 357 (Attempted LS Report if LS capability was not advertised) and it will 358 terminate the PCEP session. 360 The LS reports sent by PCC MAY carry the remote link-state (and TE) 361 information learned via existing means like IGP and BGP-LS only if 362 both PCEP Speakers set the R (remote) Flag in the "LS Capability" TLV 363 to 'Remote Allowed (R Flag = 1)'. If this is not the case and LS 364 reports carry remote link-state (and TE) information, then a PCErr 365 with error-type 19 (Invalid Operation) and error-value TBD1 366 (Attempted LS Report if LS remote capability was not advertised) and 367 it will terminate the PCEP session. 369 6.3. Initial Link-State (and TE) Synchronization 371 The purpose of LS Synchronization is to provide a checkpoint-in- time 372 state replica of a PCC's link-state (and TE) data base in a PCE. 373 State Synchronization is performed immediately after the 374 Initialization phase (see [RFC5440]). In case of stateful PCE 375 ([RFC8231]) it is RECOMENDED that the LS synchronization should be 376 done before LSP state synchronization. 378 During LS Synchronization, a PCC first takes a snapshot of the state 379 of its database, then sends the snapshot to a PCE in a sequence of LS 380 Reports. Each LS Report sent during LS Synchronization has the SYNC 381 Flag in the LS Object set to 1. The end of synchronization marker is 382 a LSRpt message with the SYNC Flag set to 0 for an LS Object with LS- 383 ID equal to the reserved value 0. If the PCC has no link-state to 384 synchronize, it will only send the end of synchronization marker. 386 Either the PCE or the PCC MAY terminate the session using the PCEP 387 session termination procedures during the synchronization phase. If 388 the session is terminated, the PCE MUST clean up state it received 389 from this PCC. The session re-establishment MUST be re-attempted per 390 the procedures defined in [RFC5440], including use of a back-off 391 timer. 393 If the PCC encounters a problem which prevents it from completing the 394 LS synchronization, it MUST send a PCErr message with error-type TBD2 395 (LS Synchronization Error) and error-value 2 (indicating an internal 396 PCC error) to the PCE and terminate the session. 398 The PCE does not send positive acknowledgments for properly received 399 LS synchronization messages. It MUST respond with a PCErr message 400 with error-type TBD2 (LS Synchronization Error) and error-value 1 401 (indicating an error in processing the LSRpt) if it encounters a 402 problem with the LS Report it received from the PCC and it MUST 403 terminate the session. 405 The LS reports can carry local as well as remote link-state (and TE) 406 information depending on the R flag in LS capability TLV. 408 The successful LS Synchronization sequences is shown in Figure 1. 410 +-+-+ +-+-+ 411 |PCC| |PCE| 412 +-+-+ +-+-+ 413 | | 414 |-----LSRpt, SYNC=1----->| (Sync start) 415 | | 416 |-----LSRpt, SYNC=1----->| 417 | . | 418 | . | 419 | . | 420 |-----LSRpt, SYNC=1----->| 421 | . | 422 | . | 423 | . | 424 | | 425 |-----LSRpt, SYNC=0----->| (End of sync marker 426 | | LS Report 427 | | for LS-ID=0) 428 | | (Sync done) 430 Figure 1: Successful LS synchronization 432 The sequence where the PCE fails during the LS Synchronization phase 433 is shown in Figure 2. 435 +-+-+ +-+-+ 436 |PCC| |PCE| 437 +-+-+ +-+-+ 438 | | 439 |-----LSRpt, SYNC=1----->| 440 | | 441 |-----LSRpt, SYNC=1----->| 442 | . | 443 | . | 444 | . | 445 |-----LSRpt, SYNC=1----->| 446 | | 447 |---LSRpt,SYNC=1 | 448 | \ ,-PCErr---| 449 | \ / | 450 | \/ | 451 | /\ | 452 | / `-------->| (Ignored) 453 |<--------` | 455 Figure 2: Failed LS synchronization (PCE failure) 457 The sequence where the PCC fails during the LS Synchronization phase 458 is shown in Figure 3. 460 +-+-+ +-+-+ 461 |PCC| |PCE| 462 +-+-+ +-+-+ 463 | | 464 |-----LSRpt, SYNC=1----->| 465 | | 466 |-----LSRpt, SYNC=1----->| 467 | . | 468 | . | 469 | . | 470 |-------- PCErr--------->| 471 | | 473 Figure 3: Failed LS synchronization (PCC failure) 475 6.3.1. Optimizations for LS Synchronization 477 These optimizations are described in 478 [I-D.kondreddy-pce-pcep-ls-sync-optimizations]. 480 6.4. LS Report 482 The PCC MUST report any changes in the link-state (and TE) 483 information to the PCE by sending a LS Report carried on a LSRpt 484 message to the PCE. Each node and Link would be uniquely identified 485 by a PCEP LS identifier (LS-ID). The LS reports may carry local as 486 well as remote link-state (and TE) information depending on the R 487 flag in LS capability TLV. In case R flag is set, It MAY also 488 include the mapping of IGP or BGP-LS identifier to map the 489 information populated via PCEP with IGP/BGP-LS. 491 More details about LSRpt message are in Section 8.1. 493 7. Transport 495 A permanent PCEP session MUST be established between a PCE and PCC 496 supporting link-state (and TE) distribution via PCEP. In the case of 497 session failure, session re-establishment MUST be re-attempted per 498 the procedures defined in [RFC5440]. 500 8. PCEP Messages 502 As defined in [RFC5440], a PCEP message consists of a common header 503 followed by a variable-length body made of a set of objects that can 504 be either mandatory or optional. An object is said to be mandatory 505 in a PCEP message when the object must be included for the message to 506 be considered valid. For each PCEP message type, a set of rules is 507 defined that specify the set of objects that the message can carry. 508 An implementation MUST form the PCEP messages using the object 509 ordering specified in this document. 511 8.1. LS Report Message 513 A PCEP LS Report message (also referred to as LSRpt message) is a 514 PCEP message sent by a PCC to a PCE to report the link-state (and TE) 515 information. A LSRpt message can carry more than one LS Reports. 516 The Message-Type field of the PCEP common header for the LSRpt 517 message is set to [TBD3]. 519 The format of the LSRpt message is as follows: 521 ::= 522 523 Where: 525 ::= [] 527 The LS object is a mandatory object which carries LS information of a 528 node or a link. Each LS object has an unique LS-ID as described in 529 Section 9.3. If the LS object is missing, the receiving PCE MUST 530 send a PCErr message with Error-type=6 (Mandatory Object missing) and 531 Error-value=[TBD4] (LS object missing). 533 A PCE may choose to implement a limit on the LS information a single 534 PCC can populate. If a LSRpt is received that causes the PCE to 535 exceed this limit, it MUST send a PCErr message with error-type 19 536 (invalid operation) and error-value 4 (indicating resource limit 537 exceeded) in response to the LSRpt message triggering this condition 538 and SHOULD terminate the session. 540 8.2. The PCErr Message 542 If a PCEP speaker has advertised the LS capability on the PCEP 543 session, the PCErr message MAY include the LS object. If the error 544 reported is the result of an LS report, then the LS-ID number MUST be 545 the one from the LSRpt that triggered the error. 547 The format of a PCErr message from [RFC5440] is extended as follows: 549 The format of the PCErr message is as follows: 551 ::= 552 ( [] ) | 553 [] 555 ::=[] 557 ::=[ | ] 558 560 ::=[] 562 ::=[] 564 ::=[] 566 9. Objects and TLV 568 The PCEP objects defined in this document are compliant with the PCEP 569 object format defined in [RFC5440]. The P flag and the I flag of the 570 PCEP objects defined in this document MUST always be set to 0 on 571 transmission and MUST be ignored on receipt since these flags are 572 exclusively related to path computation requests. 574 9.1. TLV Format 576 The TLV and the sub-TLV format (and padding) in this document, is as 577 per section 7.1 of [RFC5440]. 579 9.2. Open Object 581 This document defines a new optional TLV for use in the OPEN Object. 583 9.2.1. LS Capability TLV 585 The LS-CAPABILITY TLV is an optional TLV for use in the OPEN Object 586 for link-state (and TE) distribution via PCEP capability 587 advertisement. Its format is shown in the following figure: 589 0 1 2 3 590 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 591 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 592 | Type=[TBD5] | Length=4 | 593 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 594 | Flags |R| 595 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 597 The type of the TLV is [TBD5] and it has a fixed length of 4 octets. 599 The value comprises a single field - Flags (32 bits): 601 o R (remote allowed - 1 bit): if set to 1 by a PCC, the R Flag 602 indicates that the PCC allows reporting of remote LS information 603 learned via other means like IGP and BGP-LS; if set to 1 by a PCE, 604 the R Flag indicates that the PCE is capable of receiving remote 605 LS information (from the PCC point of view). The R Flag must be 606 advertised by both a PCC and a PCE for LSRpt messages to report 607 remote as well as local LS information on a PCEP session. The 608 TLVs related to IGP/BGP-LS identifier MUST be encoded when both 609 PCEP speakers have the R Flag set. 611 Unassigned bits are considered reserved. They MUST be set to 0 on 612 transmission and MUST be ignored on receipt. 614 Advertisement of the LS capability implies support of local link- 615 state (and TE) distribution, as well as the objects, TLVs and 616 procedures defined in this document. 618 9.3. LS Object 620 The LS (link-state) object MUST be carried within LSRpt messages and 621 MAY be carried within PCErr messages. The LS object contains a set 622 of fields used to specify the target node or link. It also contains 623 a flag indicating to a PCE that the LS synchronization is in 624 progress. The TLVs used with the LS object correlate with the IGP/ 625 BGP-LS encodings. 627 LS Object-Class is [TBD6]. 629 Four Object-Type values are defined for the LS object so far: 631 o LS Node: LS Object-Type is 1. 633 o LS Link: LS Object-Type is 2. 635 o LS IPv4 Topology Prefix: LS Object-Type is 3. 637 o LS IPv6 Topology Prefix: LS Object-Type is 4. 639 The format of all types of LS object is as follows: 641 0 1 2 3 642 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 643 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 644 | Protocol-ID | Flag |R|S| 645 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 646 | LS-ID | 647 | | 648 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 649 // TLVs // 650 | | 651 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 653 Protocol-ID (8-bit): The field provide the source information. The 654 protocol could be an IGP, BGP-LS or an abstraction algorithm. Incase 655 PCC only provides local information of the PCC, it MUST use Protocol- 656 ID as Direct. The following values are defined (some of them are 657 same as [RFC7752]): 659 +-------------+----------------------------------+ 660 | Protocol-ID | Source protocol | 661 +-------------+----------------------------------+ 662 | 1 | IS-IS Level 1 | 663 | 2 | IS-IS Level 2 | 664 | 3 | OSPFv2 | 665 | 4 | Direct | 666 | 5 | Static configuration | 667 | 6 | OSPFv3 | 668 | 7 | BGP | 669 | 8 | PCEP | 670 | 9 | Abstraction | 671 | 10 | Unspecified | 672 +-------------+----------------------------------+ 674 Flags (24-bit): 676 o S (SYNC - 1 bit): the S Flag MUST be set to 1 on each LSRpt sent 677 from a PCC during LS Synchronization. The S Flag MUST be set to 0 678 in other LSRpt messages sent from the PCC. 680 o R (Remove - 1 bit): On LSRpt messages the R Flag indicates that 681 the node/link/prefix has been removed from the PCC and the PCE 682 SHOULD remove from its database. Upon receiving an LS Report with 683 the R Flag set to 1, the PCE SHOULD remove all state for the 684 node/link/prefix identified by the LS Identifiers from its 685 database. 687 LS-ID(64-bit): A PCEP-specific identifier for the node or link or 688 prefix information. A PCC creates an unique LS-ID for each 689 node/link/prefix that is constant for the lifetime of a PCEP session. 690 The PCC will advertise the same LS-ID on all PCEP sessions it 691 maintains at a given times. All subsequent PCEP messages then 692 address the node/link/prefix by the LS-ID. The values of 0 and 693 0xFFFFFFFFFFFFFFFF are reserved. 695 Unassigned bits are considered reserved. They MUST be set to 0 on 696 transmission and MUST be ignored on receipt. 698 TLVs that may be included in the LS Object are described in the 699 following sections. 701 9.3.1. Routing Universe TLV 703 In case of remote link-state (and TE) population when existing IGP/ 704 BGP-LS are also used, OSPF and IS-IS may run multiple routing 705 protocol instances over the same link as described in [RFC7752]. See 706 [RFC8202] and [RFC6549] for more information. These instances define 707 independent "routing universes". The 64-Bit 'Identifier' field is 708 used to identify the "routing universe" where the LS object belongs. 709 The LS objects representing IGP objects (nodes or links or prefix) 710 from the same routing universe MUST have the same 'Identifier' value; 711 LS objects with different 'Identifier' values MUST be considered to 712 be from different routing universes. 714 The format of the optional ROUTING-UNIVERSE TLV is shown in the 715 following figure: 717 0 1 2 3 718 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 719 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 720 | Type=[TBD7] | Length=8 | 721 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 722 | Identifier | 723 | | 724 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 726 Below table lists the 'Identifier' values that are defined as well- 727 known in this draft (same as [RFC7752]). 729 +------------+-----------------------------------+ 730 | Identifier | Routing Universe | 731 +------------+-----------------------------------+ 732 | 0 | Default Layer 3 Routing topology | 733 +------------+-----------------------------------+ 735 If this TLV is not present the default value 0 is assumed. 737 9.3.2. Route Distinguisher TLV 739 To allow identification of VPN link, node and prefix information in 740 PCEP-LS, a Route Distinguisher (RD) [RFC4364] is used. The LS 741 objects from the same VPN MUST have the same RD; LS objects with 742 different RD values MUST be considered to be from different VPNs. 744 The format of the optional ROUTE-DISTINGUISHER TLV is shown in the 745 following figure: 747 0 1 2 3 748 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 749 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 750 | Type=[TBD15] | Length=8 | 751 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 752 | Route Distinguisher | 753 | | 754 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 756 The format of RD is as per [RFC4364]. 758 9.3.3. Virtual Network TLV 760 To realize ACTN, the MDSC needs to build an multi-domain topology. 761 This topology is best served, if this is an abstracted view of the 762 underlying network resources of each domain. It is also important to 763 provide a customer view of network slice for each customer. There is 764 a need to control the level of abstraction based on the deployment 765 scenario and business relationship between the controllers. 767 Virtual service coordination function in ACTN incorporates customer 768 service-related knowledge into the virtual network operations in 769 order to seamlessly operate virtual networks while meeting customer's 770 service requirements. [I-D.ietf-teas-actn-requirements] describes 771 various VN operations initiated by a customer/application. In this 772 context, there is a need for associating the abstracted link state 773 and TE topology with a VN "construct" to facilitate VN operations in 774 PCE architecture. 776 VIRTUAL-NETWORK-TLV as per [I-D.leedhody-pce-vn-association] can be 777 included in LS object to identify the link, node and prefix 778 information belongs to a particular VN. 780 9.3.4. Local Node Descriptors TLV 782 As described in [RFC7752], each link is anchored by a pair of Router- 783 IDs that are used by the underlying IGP, namely, 48 Bit ISO System-ID 784 for IS-IS and 32 bit Router-ID for OSPFv2 and OSPFv3. Incase of 785 additional auxiliary Router-IDs used for TE, these MUST also be 786 included in the link attribute TLV (see Section 9.3.9.2). 788 It is desirable that the Router-ID assignments inside the Node 789 Descriptor are globally unique. Some considerations for globally 790 unique Node/Link/Prefix identifiers are described in [RFC7752]. 792 The Local Node Descriptors TLV contains Node Descriptors for the node 793 anchoring the local end of the link. This TLV MUST be included in 794 the LS Report when during a given PCEP session a node/link/prefix is 795 first reported to a PCE. A PCC sends to a PCE the first LS Report 796 either during State Synchronization, or when a new node/link/prefix 797 is learned at the PCC. The value contains one or more Node 798 Descriptor Sub-TLVs, which allows specification of a flexible key for 799 any given node/link/prefix information such that global uniqueness of 800 the node/link/prefix is ensured. 802 This TLV is applicable for all LS Object-Type. 804 0 1 2 3 805 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 806 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 807 | Type=[TBD8] | Length | 808 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 809 | | 810 // Node Descriptor Sub-TLVs (variable) // 811 | | 812 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 814 The value contains one or more Node Descriptor Sub-TLVs defined in 815 Section 9.3.6. 817 9.3.5. Remote Node Descriptors TLV 819 The Remote Node Descriptors contains Node Descriptors for the node 820 anchoring the remote end of the link. This TLV MUST be included in 821 the LS Report when during a given PCEP session a link is first 822 reported to a PCE. A PCC sends to a PCE the first LS Report either 823 during State Synchronization, or when a new link is learned at the 824 PCC. The length of this TLV is variable. The value contains one or 825 more Node Descriptor Sub-TLVs defined in Section 9.3.6. 827 This TLV is applicable for LS Link Object-Type. 829 0 1 2 3 830 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 831 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 832 | Type=[TBD9] | Length | 833 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 834 | | 835 // Node Descriptor Sub-TLVs (variable) // 836 | | 837 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 839 9.3.6. Node Descriptors Sub-TLVs 841 The Node Descriptor Sub-TLV type Type and lengths are listed in the 842 following table: 844 +----------+-------------------+----------+----------------+ 845 | Sub-TLV | Description | Length |Value defined in| 846 +----------+-------------------+----------+----------------+ 847 | 0 | Reserved | - | - | 848 | 1 | Autonomous System | 4 | [RFC7752] | 849 | 2 | BGP-LS Identifier | 4 | / section | 850 | 3 | OSPF Area-ID | 4 | 3.2.1.4 | 851 | 4 | Router-ID | Variable | | 852 +----------+-------------------+----------+----------------+ 854 The sub-TLV values in Node Descriptor TLVs are defined as follows 855 (similar to [RFC7752]): 857 o Autonomous System: opaque value (32 Bit AS Number) 859 o BGP-LS Identifier: opaque value (32 Bit ID). In conjunction with 860 ASN, uniquely identifies the BGP-LS domain as described in 861 [RFC7752]. This sub-TLV is present only if the node implements 862 BGP-LS and the ID is set by the operator. 864 o OSPF Area ID: It is used to identify the 32 Bit area to which the 865 LS object belongs. Area Identifier allows the different LS 866 objects of the same node to be discriminated. 868 o Router ID: opaque value. Usage is described in [RFC7752] as IGP 869 Router ID. In case this is not learned from IGP, it SHOULD 870 contain the unique router ID, such as TE router ID. 872 9.3.7. Link Descriptors TLV 874 The Link Descriptors TLV contains Link Descriptors for each link. 875 This TLV MUST be included in the LS Report when during a given PCEP 876 session a link is first reported to a PCE. A PCC sends to a PCE the 877 first LS Report either during State Synchronization, or when a new 878 link is learned at the PCC. The length of this TLV is variable. The 879 value contains one or more Link Descriptor Sub-TLVs. 881 The 'Link descriptor' TLVs uniquely identify a link among multiple 882 parallel links between a pair of anchor routers similar to [RFC7752]. 884 This TLV is applicable for LS Link Object-Type. 886 0 1 2 3 887 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 888 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 889 | Type=[TBD10] | Length | 890 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 891 | | 892 // Link Descriptor Sub-TLVs (variable) // 893 | | 894 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 896 The Link Descriptor Sub-TLV type and lengths are listed in the 897 following table: 899 +-----------+---------------------+---------------+-----------------+ 900 | Sub-TLV | Description | IS-IS TLV | Value defined | 901 | | | /Sub-TLV | in: | 902 +-----------+---------------------+---------------+-----------------+ 903 | 6 | Link Local/Remote | 22/4 | [RFC5307]/1.1 | 904 | | Identifiers | | | 905 | 7 | IPv4 interface | 22/6 | [RFC5305]/3.2 | 906 | | address | | | 907 | 8 | IPv4 neighbor | 22/8 | [RFC5305]/3.3 | 908 | | address | | | 909 | 9 | IPv6 interface | 22/12 | [RFC6119]/4.2 | 910 | | address | | | 911 | 10 | IPv6 neighbor | 22/13 | [RFC6119]/4.3 | 912 | | address | | | 913 | 5 | Multi-Topology | - | [RFC7752]/ | 914 | | identifier | | 3.2.1.5 | 915 +-----------+---------------------+---------------+-----------------+ 917 The format and semantics of the 'value' fields in most 'Link 918 Descriptor' sub-TLVs correspond to the format and semantics of value 919 fields in IS-IS Extended IS Reachability sub-TLVs, defined in 921 [RFC5305], [RFC5307] and [RFC6119]. Although the encodings for 'Link 922 Descriptor' TLVs were originally defined for IS-IS, the TLVs can 923 carry data sourced either by IS-IS or OSPF or direct. 925 The information about a link present in the LSA/LSP originated by the 926 local node of the link determines the set of sub-TLVs in the Link 927 Descriptor of the link as described in [RFC7752]. 929 9.3.8. Prefix Descriptors TLV 931 The Prefix Descriptors TLV contains Prefix Descriptors uniquely 932 identify an IPv4 or IPv6 Prefix originated by a Node. This TLV MUST 933 be included in the LS Report when during a given PCEP session a 934 prefix is first reported to a PCE. A PCC sends to a PCE the first LS 935 Report either during State Synchronization, or when a new prefix is 936 learned at the PCC. The length of this TLV is variable. 938 This TLV is applicable for LS Prefix Object-Types for both IPv4 and 939 IPv6. 941 0 1 2 3 942 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 943 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 944 | Type=[TBD11] | Length | 945 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 946 | | 947 // Prefix Descriptor Sub-TLVs (variable) // 948 | | 949 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 951 The value contains one or more Prefix Descriptor Sub-TLVs defined 952 below - 954 +--------------+-----------------------+----------+-----------------+ 955 | TLV Code | Description | Length | Value defined | 956 | Point | | | in: | 957 +--------------+-----------------------+----------+-----------------+ 958 | 5 | Multi-Topology | variable | [RFC7752] | 959 | | Identifier | | /3.2.1.5 | 960 | 11 | OSPF Route Type | 1 | [RFC7752] | 961 | | | | /3.2.3.1 | 962 | 12 | IP Reachability | variable | [RFC7752] | 963 | | Information | | /3.2.3.2 | 964 +--------------+-----------------------+----------+-----------------+ 966 9.3.9. PCEP-LS Attributes 968 9.3.9.1. Node Attributes TLV 970 This is an optional attribute that is used to carry node attributes. 971 This TLV is applicable for LS Node Object-Type. 973 0 1 2 3 974 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 975 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 976 | Type=[TBD12] | Length | 977 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 978 | | 979 // Node Attributes Sub-TLVs (variable) // 980 | | 981 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 983 The Node Attributes Sub-TLV type and lengths are listed in the 984 following table: 986 +--------------+-----------------------+----------+-----------------+ 987 | Sub TLV | Description | Length | Value defined | 988 | | | | in: | 989 +--------------+-----------------------+----------+-----------------+ 990 | 5 | Multi-Topology | variable | [RFC7752] | 991 | | Identifier | | /3.2.1.5 | 992 | 13 | Node Flag Bits | 1 | [RFC7752] | 993 | | | | /3.3.1.1 | 994 | 14 | Opaque Node | variable | [RFC7752] | 995 | | Properties | | /3.3.1.5 | 996 | 15 | Node Name | variable | [RFC7752] | 997 | | | | /3.3.1.3 | 998 | 16 | IS-IS Area Identifier | variable | [RFC7752] | 999 | | | | /3.3.1.2 | 1000 | 17 | IPv4 Router-ID of | 4 | [RFC5305]/4.3 | 1001 | | Local Node | | | 1002 | 18 | IPv6 Router-ID of | 16 | [RFC6119]/4.1 | 1003 | | Local Node | | | 1004 +--------------+-----------------------+----------+-----------------+ 1006 9.3.9.2. Link Attributes TLV 1008 This TLV is applicable for LS Link Object-Type. The format and 1009 semantics of the 'value' fields in some 'Link Attribute' sub-TLVs 1010 correspond to the format and semantics of value fields in IS-IS 1011 Extended IS Reachability sub-TLVs, defined in [RFC5305], [RFC5307] 1012 and [RFC7752]. Although the encodings for 'Link Attribute' TLVs were 1013 originally defined for IS-IS, the TLVs can carry data sourced either 1014 by IS-IS or OSPF or direct. 1016 0 1 2 3 1017 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 1018 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1019 | Type=[TBD13] | Length | 1020 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1021 | | 1022 // Link Attributes Sub-TLVs (variable) // 1023 | | 1024 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1026 The following 'Link Attribute' sub-TLVs are valid : 1028 +-----------+---------------------+--------------+------------------+ 1029 | Sub-TLV | Description | IS-IS TLV | Defined in: | 1030 | | | /Sub-TLV | | 1031 | | | BGP-LS TLV | | 1032 +-----------+---------------------+--------------+------------------+ 1033 | 17 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 | 1034 | | Local Node | | | 1035 | 18 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 | 1036 | | Local Node | | | 1037 | 19 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 | 1038 | | Remote Node | | | 1039 | 20 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 | 1040 | | Remote Node | | | 1041 | 6 | Link Local/Remote | 22/4 | [RFC5307]/1.1 | 1042 | | Identifiers | | | 1043 | 22 | Administrative | 22/3 | [RFC5305]/3.1 | 1044 | | group (color) | | | 1045 | 23 | Maximum link | 22/9 | [RFC5305]/3.3 | 1046 | | bandwidth | | | 1047 | 24 | Max. reservable | 22/10 | [RFC5305]/3.5 | 1048 | | link bandwidth | | | 1049 | 25 | Unreserved | 22/11 | [RFC5305]/3.6 | 1050 | | bandwidth | | | 1051 | 26 | TE Default Metric | 22/18 | [RFC7752] | 1052 | | | | /3.3.2.3 | 1053 | 27 | Link Protection | 22/20 | [RFC5307]/1.2 | 1054 | | Type | | | 1055 | 28 | MPLS Protocol Mask | 1094 | [RFC7752] | 1056 | | | | /3.3.2.2 | 1057 | 29 | IGP Metric | 1095 | [RFC7752] | 1058 | | | | /3.3.2.4 | 1059 | 30 | Shared Risk Link | 1096 | [RFC7752] | 1060 | | Group | | /3.3.2.5 | 1061 | 31 | Opaque link | 1097 | [RFC7752] | 1062 | | attributes | | /3.3.2.6 | 1063 | 32 | Link Name attribute | 1098 | [RFC7752] | 1064 | | | | /3.3.2.7 | 1065 | 33 | Unidirectional | 22/33 | [RFC7810]/4.1 | 1066 | | Link Delay | | | 1067 | 34 | Min/Max | 22/34 | [RFC7810]/4.2 | 1068 | | Unidirectional Link | | | 1069 | | Delay | | | 1070 | 35 | Unidirectional | 22/35 | [RFC7810]/4.3 | 1071 | | Delay Variation | | | 1072 | 36 | Unidirectional | 22/36 | [RFC7810]/4.4 | 1073 | | Link Loss | | | 1074 | 37 | Unidirectional | 22/37 | [RFC7810]/4.5 | 1075 | | Residual Bandwidth | | | 1076 | 38 | Unidirectional | 22/38 | [RFC7810]/4.6 | 1077 | | Available Bandwidth | | | 1078 | 39 | Unidirectional | 22/39 | [RFC7810]/4.7 | 1079 | | Bandwidth | | | 1080 | | Utilization | | | 1081 | 40 | Extended Admin | 22/14 | [RFC7308]/2.1 | 1082 | | Group (EAG) | | | 1083 +-----------+---------------------+--------------+------------------+ 1085 9.3.9.3. Prefix Attributes TLV 1087 This TLV is applicable for LS Prefix Object-Types for both IPv4 and 1088 IPv6. Prefixes are learned from the IGP (IS-IS or OSPF) or BGP 1089 topology with a set of IGP attributes (such as metric, route tags, 1090 etc.). This section describes the different attributes related to 1091 the IPv4/IPv6 prefixes. Prefix Attributes TLVs SHOULD be encoded in 1092 the LS Prefix Object. 1094 0 1 2 3 1095 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 1096 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1097 | Type=[TBD14] | Length | 1098 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1099 | | 1100 // Prefix Attributes Sub-TLVs (variable) // 1101 | | 1102 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1104 The following 'Prefix Attribute' sub-TLVs are valid : 1106 +-----------+---------------------+--------------+------------------+ 1107 | Sub-TLV | Description | BGP-LS TLV | Defined in: | 1108 +-----------+---------------------+--------------+------------------+ 1109 | 41 | IGP Flags | 1152 | [RFC7752] | 1110 | | | | /3.3.3.1 | 1111 | 42 | Route Tag | 1153 | [RFC7752] | 1112 | | | | /3.3.3.2 | 1113 | 43 | Extended Tag | 1154 | [RFC7752] | 1114 | | | | /3.3.3.3 | 1115 | 44 | Prefix Metric | 1155 | [RFC7752] | 1116 | | | | /3.3.3.4 | 1117 | 45 | OSPF Forwarding | 1156 | [RFC7752] | 1118 | | Address | | /3.3.3.5 | 1119 | 46 | Opaque Prefix | 1157 | [RFC7752] | 1120 | | Attribute | | /3.3.3.6 | 1121 +-----------+---------------------+--------------+------------------+ 1123 9.3.10. Removal of an Attribute 1125 One of a key objective of PCEP-LS is to encode and carry only the 1126 impacted attributes of a Node, a Link or a Prefix. To accommodate 1127 this requirement, incase of a removal of an attribute, the sub-TLV 1128 MUST be included with no 'value' field and length=0 to indicate that 1129 the attribute is removed. On receiving a sub-TLV with zero length, 1130 the receiver removes the attribute from the database. 1132 10. Other Considerations 1134 10.1. Inter-AS Links 1136 The main source of LS (and TE) information is the IGP, which is not 1137 active on inter-AS links. In some cases, the IGP may have 1138 information of inter-AS links ([RFC5392], [RFC5316]). In other 1139 cases, an implementation SHOULD provide a means to inject inter-AS 1140 links into PCEP. The exact mechanism used to provision the inter-AS 1141 links is outside the scope of this document. 1143 11. Security Considerations 1145 This document extends PCEP for LS (and TE) distribution including a 1146 new LSRpt message with new object and TLVs. Procedures and protocol 1147 extensions defined in this document do not effect the overall PCEP 1148 security model. See [RFC5440], [RFC8253]. Tampering with the LSRpt 1149 message may have an effect on path computations at PCE. It also 1150 provides adversaries an opportunity to eavesdrop and learn sensitive 1151 information and plan sophisticated attacks on the network 1152 infrastructure. The PCE implementation SHOULD provide mechanisms to 1153 prevent strains created by network flaps and amount of LS (and TE) 1154 information. Thus it is suggested that any mechanism used for 1155 securing the transmission of other PCEP message be applied here as 1156 well. As a general precaution, it is RECOMMENDED that these PCEP 1157 extensions only be activated on authenticated and encrypted sessions 1158 belonging to the same administrative authority. 1160 Further, as stated in [RFC6952], PCEP implementations SHOULD support 1161 the TCP-AO [RFC5925] and not use TCP MD5 because of TCP MD5's known 1162 vulnerabilities and weakness. PCEP also support Transport Layer 1163 Security (TLS) [RFC8253] as per the recommendations and best current 1164 practices in [RFC7525]. 1166 12. Manageability Considerations 1168 All manageability requirements and considerations listed in [RFC5440] 1169 apply to PCEP protocol extensions defined in this document. In 1170 addition, requirements and considerations listed in this section 1171 apply. 1173 12.1. Control of Function and Policy 1175 A PCE or PCC implementation MUST allow configuring the PCEP-LS 1176 capabilities as described in this document. 1178 A PCC implementation SHOULD allow configuration to suggest if remote 1179 information learned via routing protocols should be reported or not. 1181 An implementation SHOULD allow the operator to specify the maximum 1182 number of LS data to be reported. 1184 An implementation SHOULD also allow the operator to create abstracted 1185 topologies that are reported to the peers and create different 1186 abstractions for different peers. 1188 An implementation SHOULD allow the operator to configure a 64-bit 1189 Instance-ID for Routing Universe TLV. 1191 12.2. Information and Data Models 1193 An implementation SHOULD allow the operator to view the LS 1194 capabilities advertised by each peer. To serve this purpose, the 1195 PCEP YANG module [I-D.ietf-pce-pcep-yang]" can be extended to include 1196 advertised capabilities. 1198 An implementation SHOULD also provide the statistics: 1200 o Total number of LSRpt sent/received, as well as per neighbor 1201 o Number of error received for LSRpt, per neighbor 1203 o Total number of locally originated Link-State Information 1205 These statistics should be recorded as absolute counts since system 1206 or session start time. An implementation MAY also enhance this 1207 information by recording peak per-second counts in each case. 1209 An operator SHOULD define an import policy to limit inbound LSRpt to 1210 "drop all LSRpt from a particular peers" as well provide means to 1211 limit inbound LSRpts. 1213 12.3. Liveness Detection and Monitoring 1215 Mechanisms defined in this document do not imply any new liveness 1216 detection and monitoring requirements in addition to those already 1217 listed in [RFC5440]". 1219 12.4. Verify Correct Operations 1221 Mechanisms defined in this document do not imply any new operation 1222 verification requirements in addition to those already listed in 1223 [RFC5440] . 1225 12.5. Requirements On Other Protocols 1227 Mechanisms defined in this document do not imply any new requirements 1228 on other protocols. 1230 12.6. Impact On Network Operations 1232 Mechanisms defined in this document do not have any impact on network 1233 operations in addition to those already listed in [RFC5440]. 1235 13. IANA Considerations 1237 This document requests IANA actions to allocate code points for the 1238 protocol elements defined in this document. 1240 13.1. PCEP Messages 1242 IANA created a registry for PCEP messages. Each PCEP message has a 1243 message type value. This document defines a new PCEP message value. 1245 Value Meaning Reference 1246 TBD3 LSRpt [This I-D] 1248 13.2. PCEP Objects 1250 This document defines the following new PCEP Object-classes and 1251 Object-values: 1253 Object-Class Value Name Reference 1254 TBD6 LS Object [This I-D] 1255 Object-Type=1 1256 (LS Node) 1257 Object-Type=2 1258 (LS Link) 1259 Object-Type=3 1260 (LS IPv4 Prefix) 1261 Object-Type=4 1262 (LS IPv6 Prefix) 1264 13.3. LS Object 1266 This document requests that a new sub-registry, named "LS Object 1267 Protocol-ID Field", is created within the "Path Computation Element 1268 Protocol (PCEP) Numbers" registry to manage the Flag field of the LSP 1269 object. New values are to be assigned by Standards Action [RFC8126]. 1271 Value Meaning Reference 1272 0 Reserved [This I-D] 1273 1 IS-IS Level 1 [This I-D] 1274 2 IS-IS Level 2 [This I-D] 1275 3 OSPFv2 [This I-D] 1276 4 Direct [This I-D] 1277 5 Static configuration [This I-D] 1278 6 OSPFv3 [This I-D] 1279 7 BGP-LS [This I-D] 1280 8 PCEP-LS [This I-D] 1281 9 Abstraction [This I-D] 1282 10 Unspecified [This I-D] 1284 Further, this document also requests that a new sub-registry, named 1285 "LS Object Flag Field", is created within the "Path Computation 1286 Element Protocol (PCEP) Numbers" registry to manage the Flag field of 1287 the LSP object.New values are to be assigned by Standards Action 1288 [RFC8126]. Each bit should be tracked with the following qualities: 1290 o Bit number (counting from bit 0 as the most significant bit) 1292 o Capability description 1294 o Defining RFC 1295 The following values are defined in this document: 1297 Bit Description Reference 1298 0-21 Unassigned 1299 22 R (Remove bit) [This I-D] 1300 23 S (Sync bit) [This I-D] 1302 13.4. PCEP-Error Object 1304 IANA is requested to make the following allocation in the "PCEP-ERROR 1305 Object Error Types and Values" registry. 1307 Error-Type Meaning Reference 1308 6 Mandatory Object missing [RFC5440] 1309 Error-Value=TBD4 [This I-D] 1310 (LS object missing) 1312 19 Invalid Operation [RFC8231] 1313 Error-Value=TBD1 [This I-D] 1314 (Attempted LS Report if LS 1315 remote capability was not 1316 advertised) 1318 TBD2 LS Synchronization Error [This I-D] 1319 Error-Value=1 1320 (An error in processing the 1321 LSRpt) 1322 Error-Value=2 1323 (An internal PCC error) 1325 13.5. PCEP TLV Type Indicators 1327 This document defines the following new PCEP TLVs. 1329 Value Meaning Reference 1330 TBD5 LS-CAPABILITY TLV [This I-D] 1331 TBD7 ROUTING-UNIVERSE TLV [This I-D] 1332 TBD15 ROUTE-DISTINGUISHER TLV [This I-D] 1333 TBD8 Local Node Descriptors TLV [This I-D] 1334 TBD9 Remote Node Descriptors TLV [This I-D] 1335 TBD10 Link Descriptors TLV [This I-D] 1336 TBD11 Prefix Descriptors TLV [This I-D] 1337 TBD12 Node Attributes TLV [This I-D] 1338 TBD13 Link Attributes TLV [This I-D] 1339 TBD14 Prefix Attributes TLV [This I-D] 1341 13.6. PCEP-LS Sub-TLV Type Indicators 1343 This document specifies the PCEP-LS Sub-TLVs. IANA is requested to 1344 create an "PCEP-LS Sub-TLV Types" sub-registry in the "PCEP TLV Type 1345 Indicators" for the sub-TLVs carried in the PCEP-LS TLV (Local and 1346 Remote Node Descriptors TLV, Link Descriptors TLV, Prefix Descriptors 1347 TLV, Node Attributes TLV, Link Attributes TLV and Prefix Attributes 1348 TLV. This document defines the following types: 1350 +-----------+---------------------+---------------+-----------------+ 1351 | Sub-TLV | Description | Ref | Value defined | 1352 | | | Sub-TLV | in: | 1353 +-----------+---------------------+---------------+-----------------+ 1354 | 1 | Autonomous System | 512 | [RFC7752] | 1355 | | | | /3.2.1.4 | 1356 | 2 | BGP-LS Identifier | 513 | [RFC7752] | 1357 | | | | /3.2.1.4 | 1358 | 3 | OSPF Area-ID | 514 | [RFC7752] | 1359 | | | | /3.2.1.4 | 1360 | 4 | Router-ID | 515 | [RFC7752] | 1361 | | | | /3.2.1.4 | 1362 | 5 | Multi-Topology-ID | 263 | [RFC7752] | 1363 | | | | /3.2.1.5 | 1364 | 6 | Link Local/Remote | 22/4 | [RFC5307]/1.1 | 1365 | | Identifiers | | | 1366 | 7 | IPv4 interface | 22/6 | [RFC5305]/3.2 | 1367 | | address | | | 1368 | 8 | IPv4 neighbor | 22/8 | [RFC5305]/3.3 | 1369 | | address | | | 1370 | 9 | IPv6 interface | 22/12 | [RFC6119]/4.2 | 1371 | | address | | | 1372 | 10 | IPv6 neighbor | 22/13 | [RFC6119]/4.3 | 1373 | | address | | | 1374 | 11 | OSPF Route Type | 264 | [RFC7752] | 1375 | | | | /3.2.3.1 | 1376 | 12 | IP Reachability | 265 | [RFC7752] | 1377 | | Information | | /3.2.3.2 | 1378 | 13 | Node Flag Bits | 1024 | [RFC7752] | 1379 | | | | /3.3.1.1 | 1380 | 14 | Opaque Node | 1025 | [RFC7752] | 1381 | | Properties | | /3.3.1.5 | 1382 | 15 | Node Name | 1026 | [RFC7752] | 1383 | | | | /3.3.1.3 | 1384 | 16 | IS-IS Area | 1027 | [RFC7752] | 1385 | | Identifier | | /3.3.1.2 | 1386 | 17 | IPv4 Router-ID of | 134/-- | [RFC5305]/4.3 | 1387 | | Local Node | | | 1388 | 18 | IPv6 Router-ID of | 140/-- | [RFC6119]/4.1 | 1389 | | Local Node | | | 1390 | 19 | IPv4 Router-ID of | 134/-- | [RFC5305]/4.3 | 1391 | | Remote Node | | | 1392 | 20 | IPv6 Router-ID of | 140/-- | [RFC6119]/4.1 | 1393 | | Remote Node | | | 1394 | 22 | Administrative | 22/3 | [RFC5305]/3.1 | 1395 | | group (color) | | | 1396 | 23 | Maximum link | 22/9 | [RFC5305]/3.3 | 1397 | | bandwidth | | | 1398 | 24 | Max. reservable | 22/10 | [RFC5305]/3.5 | 1399 | | link bandwidth | | | 1400 | 25 | Unreserved | 22/11 | [RFC5305]/3.6 | 1401 | | bandwidth | | | 1402 | 26 | TE Default Metric | 22/18 | [RFC7752] | 1403 | | | | /3.3.2.3 | 1404 | 27 | Link Protection | 22/20 | [RFC5307]/1.2 | 1405 | | Type | | | 1406 | 28 | MPLS Protocol Mask | 1094 | [RFC7752] | 1407 | | | | /3.3.2.2 | 1408 | 29 | IGP Metric | 1095 | [RFC7752] | 1409 | | | | /3.3.2.4 | 1410 | 30 | Shared Risk Link | 1096 | [RFC7752] | 1411 | | Group | | /3.3.2.5 | 1412 | 31 | Opaque link | 1097 | [RFC7752] | 1413 | | attributes | | /3.3.2.6 | 1414 | 32 | Link Name attribute | 1098 | [RFC7752] | 1415 | | | | /3.3.2.7 | 1416 | 33 | Unidirectional | 22/33 | [RFC7810]/4.1 | 1417 | | Link Delay | | | 1418 | 34 | Min/Max | 22/34 | [RFC7810]/4.2 | 1419 | | Unidirectional Link | | | 1420 | | Delay | | | 1421 | 35 | Unidirectional | 22/35 | [RFC7810]/4.3 | 1422 | | Delay Variation | | | 1423 | 36 | Unidirectional | 22/36 | [RFC7810]/4.4 | 1424 | | Link Loss | | | 1425 | 37 | Unidirectional | 22/37 | [RFC7810]/4.5 | 1426 | | Residual Bandwidth | | | 1427 | 38 | Unidirectional | 22/38 | [RFC7810]/4.6 | 1428 | | Available Bandwidth | | | 1429 | 39 | Unidirectional | 22/39 | [RFC7810]/4.7 | 1430 | | Bandwidth | | | 1431 | | Utilization | | | 1432 | 40 | Extended Admin | 22/14 | [RFC7308]/2.1 | 1433 | | Group (EAG) | | | 1434 | 41 | IGP Flags | 1152 | [RFC7752] | 1435 | | | | /3.3.3.1 | 1436 | 42 | Route Tag | 1153 | [RFC7752] | 1437 | | | | /3.3.3.2 | 1438 | 43 | Extended Tag | 1154 | [RFC7752] | 1439 | | | | /3.3.3.3 | 1440 | 44 | Prefix Metric | 1155 | [RFC7752] | 1441 | | | | /3.3.3.4 | 1442 | 45 | OSPF Forwarding | 1156 | [RFC7752] | 1443 | | Address | | /3.3.3.5 | 1444 | 46 | Opaque Prefix | 1157 | [RFC7752] | 1445 | | Attribute | | /3.3.3.6 | 1446 +-----------+---------------------+---------------+-----------------+ 1448 New values are to be assigned by Standards Action [RFC8126]. 1450 14. TLV/Sub-TLV Code Points Summary 1452 This section contains the global table of all TLVs/Sub-TLVs in LS 1453 object defined in this document. 1455 +-----------+---------------------+---------------+-----------------+ 1456 | TLV | Description | Ref TLV | Value defined | 1457 | | | | in: | 1458 +-----------+---------------------+---------------+-----------------+ 1459 | TBD7 | Routing Universe | -- | Sec 9.2.1 | 1460 | TBD15 | Route | -- | Sec 9.2.2 | 1461 | | Distinguisher | | | 1462 | * | Virtual Network | -- | [leedhody-pce- | 1463 | | | | vn-association] | 1464 | TBD8 | Local Node | 256 | [RFC7752] | 1465 | | Descriptors | | /3.2.1.2 | 1466 | TBD9 | Remote Node | 257 | [RFC7752] | 1467 | | Descriptors | | /3.2.1.3 | 1468 | TBD10 | Link Descriptors | -- | Sec 9.2.8 | 1469 | TBD11 | Prefix Descriptors | -- | Sec 9.2.9 | 1470 | TBD12 | Node Attributes | -- | Sec 9.2.10.1 | 1471 | TBD13 | Link Attributes | -- | Sec 9.2.10.2 | 1472 | TBD14 | Prefix Attributes | -- | Sec 9.2.10.3 | 1473 +-----------+---------------------+---------------+-----------------+ 1475 * this TLV is defined in a different PCEP document 1477 TLV Table 1479 Refer Section 13.6 for the table of Sub-TLVs. 1481 15. Implementation Status 1483 The PCEP-LS protocol extension as described in this I-D were 1484 implemented and tested for a variety of applications. Apart from the 1485 below implementation, there exist other experimental implementations 1486 done for optical networks. 1488 15.1. Hierarchical Transport PCE controllers 1490 The PCEP-LS has been implemented as part of IETF97 Hackathon and 1491 Bits-N-Bites demonstration. The use-case demonstrated was DCI use- 1492 case of ACTN architecture in which to show the following scenarios: 1494 - connectivity services on the ACTN based recursive hierarchical 1495 SDN/PCE platform that has the three tier level SDN controllers 1496 (two-tier level MDSC and PNC) on the top of the PTN systems 1497 managed by EMS. 1499 - Integration test of two tier-level MDSC: The SBI of the low 1500 level MDSC is the YANG based Korean national standards and the one 1501 of the high level MDSC the PCEP-LS based ACTN protocols. 1503 - Performance test of three types of SDN controller based recovery 1504 schemes including protection, reactive and proactive restoration. 1505 PCEP-LS protocol was used to demonstrate quick report of failed 1506 network components. 1508 15.2. ONOS-based Controller (MDSC and PNC) 1510 Huawei (PNC, MDSC) and SKT (MDSC) implemented PCEP-LS during 1511 Hackathon and IETF97 Bits-N-Bites demonstration. The demonstration 1512 was ONOS-based ACTN architecture in which to show the following 1513 capabilities: 1515 Both packet PNC and optical PNC (with optical PCEP-LS extension) 1516 implemented PCEP-LS on its SBI and well as its NBI (towards MDSC). 1518 SKT orchestrator (acting as MDSC) also supported PCEP-LS (as well 1519 as RestConf) towards packet and optical PNCs on its SBI. 1521 Further description can be found at and the code at 1522 . 1524 16. Acknowledgments 1526 This document borrows some of the structure and text from the 1527 [RFC7752]. 1529 Thanks to Eric Wu, Venugopal Kondreddy, Mahendra Singh Negi, 1530 Avantika, and Zhengbin Li for the reviews. 1532 Thanks to Ramon Casellas for his comments and suggestions based on 1533 his implementation experience. 1535 17. References 1537 17.1. Normative References 1539 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1540 Requirement Levels", BCP 14, RFC 2119, 1541 DOI 10.17487/RFC2119, March 1997, 1542 . 1544 [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic 1545 Engineering", RFC 5305, DOI 10.17487/RFC5305, October 1546 2008, . 1548 [RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions 1549 in Support of Generalized Multi-Protocol Label Switching 1550 (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008, 1551 . 1553 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 1554 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 1555 DOI 10.17487/RFC5440, March 2009, 1556 . 1558 [RFC6119] Harrison, J., Berger, J., and M. Bartlett, "IPv6 Traffic 1559 Engineering in IS-IS", RFC 6119, DOI 10.17487/RFC6119, 1560 February 2011, . 1562 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 1563 S. Ray, "North-Bound Distribution of Link-State and 1564 Traffic Engineering (TE) Information Using BGP", RFC 7752, 1565 DOI 10.17487/RFC7752, March 2016, 1566 . 1568 [RFC7810] Previdi, S., Ed., Giacalone, S., Ward, D., Drake, J., and 1569 Q. Wu, "IS-IS Traffic Engineering (TE) Metric Extensions", 1570 RFC 7810, DOI 10.17487/RFC7810, May 2016, 1571 . 1573 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1574 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1575 May 2017, . 1577 17.2. Informative References 1579 [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering 1580 (TE) Extensions to OSPF Version 2", RFC 3630, 1581 DOI 10.17487/RFC3630, September 2003, 1582 . 1584 [RFC4203] Kompella, K., Ed. and Y. Rekhter, Ed., "OSPF Extensions in 1585 Support of Generalized Multi-Protocol Label Switching 1586 (GMPLS)", RFC 4203, DOI 10.17487/RFC4203, October 2005, 1587 . 1589 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 1590 Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 1591 2006, . 1593 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 1594 Element (PCE)-Based Architecture", RFC 4655, 1595 DOI 10.17487/RFC4655, August 2006, 1596 . 1598 [RFC5316] Chen, M., Zhang, R., and X. Duan, "ISIS Extensions in 1599 Support of Inter-Autonomous System (AS) MPLS and GMPLS 1600 Traffic Engineering", RFC 5316, DOI 10.17487/RFC5316, 1601 December 2008, . 1603 [RFC5392] Chen, M., Zhang, R., and X. Duan, "OSPF Extensions in 1604 Support of Inter-Autonomous System (AS) MPLS and GMPLS 1605 Traffic Engineering", RFC 5392, DOI 10.17487/RFC5392, 1606 January 2009, . 1608 [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP 1609 Authentication Option", RFC 5925, DOI 10.17487/RFC5925, 1610 June 2010, . 1612 [RFC6549] Lindem, A., Roy, A., and S. Mirtorabi, "OSPFv2 Multi- 1613 Instance Extensions", RFC 6549, DOI 10.17487/RFC6549, 1614 March 2012, . 1616 [RFC6805] King, D., Ed. and A. Farrel, Ed., "The Application of the 1617 Path Computation Element Architecture to the Determination 1618 of a Sequence of Domains in MPLS and GMPLS", RFC 6805, 1619 DOI 10.17487/RFC6805, November 2012, 1620 . 1622 [RFC6952] Jethanandani, M., Patel, K., and L. Zheng, "Analysis of 1623 BGP, LDP, PCEP, and MSDP Issues According to the Keying 1624 and Authentication for Routing Protocols (KARP) Design 1625 Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013, 1626 . 1628 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 1629 "Recommendations for Secure Use of Transport Layer 1630 Security (TLS) and Datagram Transport Layer Security 1631 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 1632 2015, . 1634 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1635 Writing an IANA Considerations Section in RFCs", BCP 26, 1636 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1637 . 1639 [RFC8202] Ginsberg, L., Previdi, S., and W. Henderickx, "IS-IS 1640 Multi-Instance", RFC 8202, DOI 10.17487/RFC8202, June 1641 2017, . 1643 [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path 1644 Computation Element Communication Protocol (PCEP) 1645 Extensions for Stateful PCE", RFC 8231, 1646 DOI 10.17487/RFC8231, September 2017, 1647 . 1649 [RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, 1650 "PCEPS: Usage of TLS to Provide a Secure Transport for the 1651 Path Computation Element Communication Protocol (PCEP)", 1652 RFC 8253, DOI 10.17487/RFC8253, October 2017, 1653 . 1655 [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path 1656 Computation Element Communication Protocol (PCEP) 1657 Extensions for PCE-Initiated LSP Setup in a Stateful PCE 1658 Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, 1659 . 1661 [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An 1662 Architecture for Use of PCE and the PCE Communication 1663 Protocol (PCEP) in a Network with Central Control", 1664 RFC 8283, DOI 10.17487/RFC8283, December 2017, 1665 . 1667 [I-D.ietf-pce-pcep-yang] 1668 Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A 1669 YANG Data Model for Path Computation Element 1670 Communications Protocol (PCEP)", draft-ietf-pce-pcep- 1671 yang-07 (work in progress), March 2018. 1673 [I-D.ietf-pce-applicability-actn] 1674 Dhody, D., Lee, Y., and D. Ceccarelli, "Applicability of 1675 Path Computation Element (PCE) for Abstraction and Control 1676 of TE Networks (ACTN)", draft-ietf-pce-applicability- 1677 actn-06 (work in progress), June 2018. 1679 [I-D.ietf-teas-actn-framework] 1680 Ceccarelli, D. and Y. Lee, "Framework for Abstraction and 1681 Control of Traffic Engineered Networks", draft-ietf-teas- 1682 actn-framework-15 (work in progress), May 2018. 1684 [I-D.ietf-teas-actn-requirements] 1685 Lee, Y., Ceccarelli, D., Miyasaka, T., Shin, J., and K. 1686 Lee, "Requirements for Abstraction and Control of TE 1687 Networks", draft-ietf-teas-actn-requirements-09 (work in 1688 progress), March 2018. 1690 [I-D.kondreddy-pce-pcep-ls-sync-optimizations] 1691 Kondreddy, V. and M. Negi, "Optimizations of PCEP Link- 1692 State(LS) Synchronization Procedures", draft-kondreddy- 1693 pce-pcep-ls-sync-optimizations-00 (work in progress), 1694 October 2015. 1696 [I-D.leedhody-pce-vn-association] 1697 Lee, Y., Dhody, D., Zhang, X., and D. Ceccarelli, "PCEP 1698 Extensions for Establishing Relationships Between Sets of 1699 LSPs and Virtual Networks", draft-leedhody-pce-vn- 1700 association-05 (work in progress), June 2018. 1702 [ONOS-PCEP] 1703 "Support for PCEP in ONOS", 1704 . 1706 [ONOS-PCEP-GITHUB] 1707 "Github for PCEP code in ONOS", 1708 . 1711 Appendix A. Reusing BGP-LS codepoints 1713 This document creates a new registry for the PCEP-LS sub-TLVs 1714 (Section 13.6) and define new sub-TLV codepoints. Another approach 1715 could be to use the BGP-LS registry which is already defined for use 1716 in BGP. This is possible because the "BGP-LS Node Descriptor, Link 1717 Descriptor, Prefix Descriptor, and Attribute TLVs" registry marks 1718 0-255 as reserved. Thus the space of the sub-TLV values for the Type 1719 field can be partitioned as shown below - 1721 Range | 1722 ---------------+--------------------------------------------- 1723 0 | Reserved - must not be allocated. 1724 | 1725 1 .. 255 | New PCEP sub-TLV allocated according to the 1726 | registry defined in this document. 1727 | 1728 256 .. 65535 | Per BGP registry defined by [RFC7752]. 1729 | Not to be allocated in this registry. 1731 [Editor's Note - If this approach is agreed by the WG, the document 1732 would be updated with new sub-TLV type values.] 1734 Appendix B. Relevant OSPF TLV and sub-TLV 1736 This section list the relevant TLVs and sub-TLVs defined for OSPF. 1738 +-----------+---------------------+---------------+-----------------+ 1739 | Sub-TLV | Description | OSPF-TE | Value defined | 1740 | | | Sub-TLV | in: | 1741 +-----------+---------------------+---------------+-----------------+ 1742 | 6 | Link Local/Remote | 11 | [RFC4203]/1.1 | 1743 | | Identifiers | | | 1744 | 7 | IPv4 interface | 3 | [RFC3630]/2.5.3 | 1745 | | address | | | 1746 | 8 | IPv4 neighbor | 4 | [RFC3630]/2.5.4 | 1747 | | address | | | 1748 | 9 | IPv6 interface | 19 | [RFC5329]/4.3 | 1749 | | address | | | 1750 | 10 | IPv6 neighbor | 20 | [RFC5329]/4.4 | 1751 | | address | | | 1752 | 17 | IPv4 Router-ID of | 1 | [RFC3630]/2.4.1 | 1753 | | Local Node | | | 1754 | 18 | IPv6 Router-ID of | 3 | [RFC5329]/3 | 1755 | | Local Node | | | 1756 | 19 | IPv4 Router-ID of | 1 | [RFC3630]/2.4.1 | 1757 | | Remote Node | | | 1758 | 20 | IPv6 Router-ID of | 3 | [RFC5329]/3 | 1759 | | Remote Node | | | 1760 | 22 | Administrative | 9 | [RFC3630]/2.5.9 | 1761 | | group (color) | | | 1762 | 23 | Maximum link | 6 | [RFC3630]/2.5.6 | 1763 | | bandwidth | | | 1764 | 24 | Max. reservable | 7 | [RFC3630]/2.5.7 | 1765 | | link bandwidth | | | 1766 | 25 | Unreserved | 8 | [RFC3630]/2.5.8 | 1767 | | bandwidth | | | 1768 | 27 | Link Protection | 14 | [RFC4203]/1.2 | 1769 | | Type | | | 1770 | 30 | Shared Risk Link | 16 | [RFC4203]/1.3 | 1771 | | Group | | | 1772 | 33 | Unidirectional | 27 | [RFC7471]/4.1 | 1773 | | Link Delay | | | 1774 | 34 | Min/Max | 28 | [RFC7471]/4.2 | 1775 | | Unidirectional Link | | | 1776 | | Delay | | | 1777 | 35 | Unidirectional | 29 | [RFC7471]/4.3 | 1778 | | Delay Variation | | | 1779 | 36 | Unidirectional | 30 | [RFC7471]/4.4 | 1780 | | Link Loss | | | 1781 | 37 | Unidirectional | 31 | [RFC7471]/4.5 | 1782 | | Residual Bandwidth | | | 1783 | 38 | Unidirectional | 32 | [RFC7471]/4.6 | 1784 | | Available Bandwidth | | | 1785 | 39 | Unidirectional | 33 | [RFC7471]/4.7 | 1786 | | Bandwidth | | | 1787 | | Utilization | | | 1788 | 40 | Extended Admin | 26 | [RFC7308]/2.1 | 1789 | | Group (EAG) | | | 1790 +-----------+---------------------+---------------+-----------------+ 1792 Appendix C. Examples 1794 These examples are for illustration purposes only to show how the new 1795 PCEP-LS message could be encoded. They are not meant to be an 1796 exhaustive list of all possible use cases and combinations. 1798 C.1. All Nodes 1800 Each node (PCC) in the network chooses to provide its own local node 1801 and link information, and in this way PCE can build the full link 1802 state and TE information. 1804 +--------------------+ +--------------------+ 1805 | | | | 1806 | RTA |10.1.1.1 | RTB | 1807 | 1.1.1.1 |--------------------| 2.2.2.2 | 1808 | Area 0 | 10.1.1.2| Area 0 | 1809 | | | | 1810 +--------------------+ +--------------------+ 1811 RTA 1812 --- 1813 LS Node 1814 TLV - Local Node Descriptors 1815 Sub-TLV - 3: OSPF Area-ID: 0.0.0.0 1816 Sub-TLV - 4: Router-ID: 1.1.1.1 1817 TLV - Node Attributes TLV 1818 Sub-TLV(s) 1820 LS Link 1821 TLV - Local Node Descriptors 1822 Sub-TLV - 3: OSPF Area-ID: 0.0.0.0 1823 Sub-TLV - 4: Router-ID: 1.1.1.1 1824 TLV - Remote Node Descriptors 1825 Sub-TLV - 3: OSPF Area-ID: 0.0.0.0 1826 Sub-TLV - 4: Router-ID: 2.2.2.2 1827 TLV - Link Descriptors 1828 Sub-TLV - 7: IPv4 interface: 10.1.1.1 1829 Sub-TLV - 8: IPv4 neighbor: 10.1.1.2 1830 TLV - Link Attributes TLV 1831 Sub-TLV(s) 1833 RTB 1834 --- 1835 LS Node 1836 TLV - Local Node Descriptors 1837 Sub-TLV - 3: OSPF Area-ID: 0.0.0.0 1838 Sub-TLV - 4: Router-ID: 2.2.2.2 1839 TLV - Node Attributes TLV 1840 Sub-TLV(s) 1842 LS Link 1843 TLV - Local Node Descriptors 1844 Sub-TLV - 3: OSPF Area-ID: 0.0.0.0 1845 Sub-TLV - 4: Router-ID: 2.2.2.2 1846 TLV - Remote Node Descriptors 1847 Sub-TLV - 3: OSPF Area-ID: 0.0.0.0 1848 Sub-TLV - 4: Router-ID: 1.1.1.1 1849 TLV - Link Descriptors 1850 Sub-TLV - 7: IPv4 interface: 10.1.1.2 1851 Sub-TLV - 8: IPv4 neighbor: 10.1.1.1 1852 TLV - Link Attributes TLV 1853 Sub-TLV(s) 1855 C.2. Designated Node 1857 A designated node(s) in the network will provide its own local node 1858 as well as all learned remote information, and in this way PCE can 1859 build the full link state and TE information. 1861 As described in Appendix C.1, the same LS Node and Link objects will 1862 be generated with a difference that it would be a designated router 1863 say RTA that generate all this information. 1865 C.3. Between PCEs 1867 As per Hierarchical-PCE [RFC6805], Parent PCE builds an abstract 1868 domain topology map with each domain as an abstract node and inter- 1869 domain links as an abstract link. Each child PCE may provide this 1870 information to the parent PCE. Considering the example in figure 1 1871 of [RFC6805], following LS object will be generated: 1873 PCE1 1874 ---- 1875 LS Node 1876 TLV - Local Node Descriptors 1877 Sub-TLV - 1: Autonomous System: 100 (Domain 1) 1878 Sub-TLV - 4: Router-ID: 11.11.11.11 (abstract) 1880 LS Link 1881 TLV - Local Node Descriptors 1882 Sub-TLV - 1: Autonomous System: 100 1883 Sub-TLV - 4: Router-ID: 11.11.11.11 (abstract) 1884 TLV - Remote Node Descriptors 1885 Sub-TLV - 1: Autonomous System: 200 (Domain 2) 1886 Sub-TLV - 4: Router-ID: 22.22.22.22 (abstract) 1887 TLV - Link Descriptors 1888 Sub-TLV - 7: IPv4 interface: 11.1.1.1 1889 Sub-TLV - 8: IPv4 neighbor: 11.1.1.2 1890 TLV - Link Attributes TLV 1891 Sub-TLV(s) 1893 LS Link 1894 TLV - Local Node Descriptors 1895 Sub-TLV - 1: Autonomous System: 100 1896 Sub-TLV - 4: Router-ID: 11.11.11.11 (abstract) 1897 TLV - Remote Node Descriptors 1898 Sub-TLV - 1: Autonomous System: 200 1899 Sub-TLV - 4: Router-ID: 22.22.22.22 (abstract) 1900 TLV - Link Descriptors 1901 Sub-TLV - 7: IPv4 interface: 12.1.1.1 1902 Sub-TLV - 8: IPv4 neighbor: 12.1.1.2 1903 TLV - Link Attributes TLV 1904 Sub-TLV(s) 1906 LS Link 1907 TLV - Local Node Descriptors 1908 Sub-TLV - 1: Autonomous System: 100 1909 Sub-TLV - 4: Router-ID: 11.11.11.11 (abstract) 1910 TLV - Remote Node Descriptors 1911 Sub-TLV - 1: Autonomous System: 400 (Domain 4) 1912 Sub-TLV - 4: Router-ID: 44.44.44.44 (abstract) 1913 TLV - Link Descriptors 1914 Sub-TLV - 7: IPv4 interface: 13.1.1.1 1915 Sub-TLV - 8: IPv4 neighbor: 13.1.1.2 1916 TLV - Link Attributes TLV 1917 Sub-TLV(s) 1919 * similar information will be generated by other PCE 1920 to help form the abstract domain topology. 1922 Further the exact border nodes and abstract internal path between the 1923 border nodes may also be transported to the Parent PCE to enable ACTN 1924 as described in [I-D.ietf-pce-applicability-actn] using the similar 1925 LS node and link objects encodings. 1927 Appendix D. Contributor Addresses 1929 Udayasree Palle 1930 Huawei Technologies 1931 Divyashree Techno Park, Whitefield 1932 Bangalore, Karnataka 560066 1933 India 1935 EMail: udayasreereddy@gmail.com 1937 Sergio Belotti 1938 Alcatel-Lucent 1939 Italy 1941 EMail: sergio.belotti@alcatel-lucent.com 1943 Veerendranatha Reddy Vallem 1944 Huawei Technologies 1945 Divyashree Techno Park, Whitefield 1946 Bangalore, Karnataka 560066 1947 India 1949 Email: veerendranatharv@huawei.com 1951 Satish Karunanithi 1952 Huawei Technologies 1953 Divyashree Techno Park, Whitefield 1954 Bangalore, Karnataka 560066 1955 India 1957 Email: satishk@huawei.com 1959 Authors' Addresses 1961 Dhruv Dhody 1962 Huawei Technologies 1963 Divyashree Techno Park, Whitefield 1964 Bangalore, Karnataka 560066 1965 India 1967 EMail: dhruv.ietf@gmail.com 1968 Young Lee 1969 Huawei Technologies 1970 5340 Legacy Drive, Building 3 1971 Plano, TX 75023 1972 USA 1974 EMail: leeyoung@huawei.com 1976 Daniele Ceccarelli 1977 Ericsson 1978 Torshamnsgatan,48 1979 Stockholm 1980 Sweden 1982 EMail: daniele.ceccarelli@ericsson.com