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