idnits 2.17.1 draft-li-pce-pcep-srv6-yang-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (July 8, 2020) is 1381 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) == Outdated reference: A later version (-06) exists of draft-raza-spring-srv6-yang-05 == Outdated reference: A later version (-23) exists of draft-ietf-pce-pcep-yang-13 == Outdated reference: A later version (-25) exists of draft-ietf-pce-segment-routing-ipv6-06 Summary: 0 errors (**), 0 flaws (~~), 5 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 PCE Working Group C. Li 3 Internet-Draft Huawei Technologies 4 Intended status: Standards Track S. Sivabalan 5 Expires: January 9, 2021 Ciena Corporation 6 S. Peng 7 Huawei Technologies 8 M. Koldychev 9 Cisco Systems, Inc. 10 L. Ndifor 11 MTN Cameroon 12 July 8, 2020 14 A YANG Data Model for Segment Routing in IPv6 (SRv6) support in Path 15 Computation Element Communications Protocol (PCEP) 16 draft-li-pce-pcep-srv6-yang-01 18 Abstract 20 This document augments a YANG data model for the management of Path 21 Computation Element communications Protocol (PCEP) for communications 22 between a Path Computation Client (PCC) and a Path Computation 23 Element (PCE), or between two PCEs in support for Segment Routing in 24 IPv6. The data model includes configuration data and state data 25 (status information and counters for the collection of statistics). 27 Status of This Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at https://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on January 9, 2021. 44 Copyright Notice 46 Copyright (c) 2020 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (https://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 62 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 63 3. Terminology and Notation . . . . . . . . . . . . . . . . . . 3 64 3.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 65 3.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4 66 4. The Design of PCEP-SRv6 Data Model . . . . . . . . . . . . . 4 67 4.1. The Overview of PCEP SRv6 Data Model . . . . . . . . . . 4 68 5. PCEP-SRv6 YANG Modules . . . . . . . . . . . . . . . . . . . 5 69 5.1. ietf-pcep-srv6 module . . . . . . . . . . . . . . . . . . 5 70 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 71 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 72 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 73 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 74 9.1. Normative References . . . . . . . . . . . . . . . . . . 11 75 9.2. Informative References . . . . . . . . . . . . . . . . . 13 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 78 1. Introduction 80 The Path Computation Element (PCE) defined in [RFC4655] is an entity 81 that is capable of computing a network path or route based on a 82 network graph, and applying computational constraints. A Path 83 Computation Client (PCC) may make requests to a PCE for paths to be 84 computed. 86 PCEP is the communication protocol between a PCC and PCE and is 87 defined in [RFC5440]. PCEP interactions include path computation 88 requests and path computation replies as well as notifications of 89 specific states related to the use of a PCE in the context of 90 Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) 91 Traffic Engineering (TE). [RFC8231] specifies extensions to PCEP to 92 enable stateful control of MPLS TE LSPs. 94 [I-D.ietf-pce-segment-routing-ipv6] extends [RFC8664] to support SR 95 for IPv6 data plane. 97 [I-D.ietf-pce-pcep-yang] defines a YANG [RFC7950] data model for the 98 management of PCEP speakers. This document contains a specification 99 of the PCEP-SRv6 YANG module, "ietf-pcep-srv6" which provides the 100 PCEP-SRv6 [I-D.ietf-pce-segment-routing-ipv6] data model. 102 The PCEP operational state is included in the same tree as the PCEP 103 configuration consistent with Network Management Datastore 104 Architecture [RFC8342]. The origin of the data is indicated as per 105 the origin metadata annotation. 107 2. Requirements Language 109 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 110 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 111 "OPTIONAL" in this document are to be interpreted as described in BCP 112 14 [RFC2119] [RFC8174] when, and only when, they appear in all 113 capitals, as shown here. 115 3. Terminology and Notation 117 This document also uses the following terms defined in [RFC7420]: 119 o PCEP entity: a local PCEP speaker. 121 o PCEP peer: to refer to a remote PCEP speaker. 123 o PCEP speaker: where it is not necessary to distinguish between 124 local and remote. 126 Further, this document also uses the following terms defined in 127 [RFC8231] : 129 o Stateful PCE, Passive Stateful PCE, Active Stateful PCE 131 o Delegation, Revocation, Redelegation 133 o LSP State Report, Path Computation Report message (PCRpt). 135 o LSP State Update, Path Computation Update message (PCUpd). 137 [RFC8281] : 139 o PCE-initiated LSP, Path Computation LSP Initiate Message 140 (PCInitiate). 142 [RFC8408] : 144 o Path Setup Type (PST). 146 [RFC8664] : 148 o Segment Routing (SR). 150 [I-D.ietf-pce-segment-routing-ipv6] : 152 o Segment Routing in IPv6 (SRv6). 154 3.1. Tree Diagrams 156 A simplified graphical representation of the data model is used in 157 this document. The meaning of the symbols in these diagrams is 158 defined in [RFC8340]. 160 3.2. Prefixes in Data Node Names 162 In this document, names of data nodes and other data model objects 163 are often used without a prefix, as long as it is clear from the 164 context in which YANG module each name is defined. Otherwise, names 165 are prefixed using the standard prefix associated with the 166 corresponding YANG module, as shown in Table 1. 168 +------------+-----------------+-----------------------------+ 169 | Prefix | YANG module | Reference | 170 +------------+-----------------+-----------------------------+ 171 | te-types | ietf-te-types | [RFC8776] | 172 | pcep | ietf-pcep | [I-D.ietf-pce-pcep-yang] | 173 | srv6-types | ietf-srv6-types | [I-D.raza-spring-srv6-yang] | 174 +------------+-----------------+-----------------------------+ 176 Table 1: Prefixes and corresponding YANG modules 178 4. The Design of PCEP-SRv6 Data Model 180 4.1. The Overview of PCEP SRv6 Data Model 182 The PCEP-SRv6 YANG module defined in this document has all the common 183 building blocks for the PCEP-SRv6 extension. 185 module: ietf-pcep-srv6 186 augment /pcep:pcep/pcep:entity/pcep:capability: 187 +--rw srv6 {srv6}? 188 +--rw enabled? boolean 189 +--rw msd-limit? boolean 190 +--rw srv6-msd* [msd-type] 191 +--rw msd-type uint8 192 +--rw msd-value? uint8 193 augment /pcep:pcep/pcep:entity/pcep:peers/pcep:peer 194 /pcep:capability: 195 +--rw srv6 {srv6}? 196 +--rw enabled? boolean 197 +--rw msd-limit? boolean 198 +--rw srv6-msd* [msd-type] 199 +--rw msd-type uint8 200 +--rw msd-value? uint8 201 augment /pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp: 202 +--ro srv6 {srv6}? 203 +--ro segment-list 204 +--ro segment* [index] 205 +--ro index uint32 206 +--ro sid-value? srv6-types:srv6-sid 208 5. PCEP-SRv6 YANG Modules 210 5.1. ietf-pcep-srv6 module 212 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 213 actual RFC number and all occurrences of the revision date below with 214 the date of RFC publication (and remove this note). 216 file "ietf-pcep-srv6@2020-07-08.yang" 217 module ietf-pcep-srv6 { 218 yang-version 1.1; 219 namespace "urn:ietf:params:xml:ns:yang:ietf-pcep-srv6"; 220 prefix pcep-srv6; 222 import ietf-srv6-types { 223 prefix srv6-types; 224 reference 225 "I-D.raza-spring-srv6-yang: YANG Data Model for SRv6 226 Base and Static"; 227 } 228 import ietf-te-types { 229 prefix te-types; 230 reference 231 "RFC 8776: Common YANG Data Types for Traffic Engineering"; 232 } 233 import ietf-pcep { 234 prefix pcep; 235 reference 236 "I-D.ietf-pce-pcep-yang: A YANG Data Model for Path 237 Computation Element Communications Protocol (PCEP)"; 238 } 240 organization 241 "IETF PCE (Path Computation Element) Working Group"; 242 contact 243 "WG Web: 244 WG List: 245 Editor: Cheng Li 246 "; 247 description 248 "The YANG module augments the PCEP YANG operational 249 model with SRv6. 251 Copyright (c) 2020 IETF Trust and the persons identified as 252 authors of the code. All rights reserved. 254 Redistribution and use in source and binary forms, with or 255 without modification, is permitted pursuant to, and subject 256 to the license terms contained in, the Simplified BSD License 257 set forth in Section 4.c of the IETF Trust's Legal Provisions 258 Relating to IETF Documents 259 (https://trustee.ietf.org/license-info). 261 This version of this YANG module is part of RFC XXXX; see the 262 RFC itself for full legal notices."; 264 revision 2020-07-08 { 265 description 266 "Initial revision."; 267 reference 268 "RFC XXXX: A YANG Data Model for Path Computation 269 Element Communications Protocol 270 (PCEP) - Segement Routing in IPv6 271 (SRv6)"; 272 } 274 /* Features */ 276 feature srv6 { 277 description 278 "Support Segment Routing in IPv6 (SRv6) for PCE."; 280 reference 281 "I-D.ietf-pce-segment-routing-ipv6: PCEP Extensions 282 for Segment Routing leveraging the IPv6 data plane"; 283 } 285 /* Identity */ 287 identity path-setup-srv6 { 288 if-feature "srv6"; 289 base te-types:path-signaling-type; 290 description 291 "SRv6 path setup type"; 292 } 294 /* Groupings */ 296 grouping srv6-msd { 297 description 298 "SRv6 MSD"; 299 leaf msd-type { 300 type uint8; 301 description 302 "SRv6 Maximum Segment Depth (MSD) Type"; 303 } 304 leaf msd-value { 305 type uint8; 306 description 307 "SRv6 MSD value for the type"; 308 } 309 } 311 grouping srv6 { 312 description 313 "SRv6"; 314 container srv6 { 315 if-feature "srv6"; 316 description 317 "If SRv6 is supported"; 318 leaf enabled { 319 type boolean; 320 description 321 "Enabled or Disabled"; 322 } 323 leaf msd-limit { 324 type boolean; 325 default "false"; 326 description 327 "True indicates no limit on MSD, the 328 list srv6-msd is ignored"; 329 } 330 list srv6-msd { 331 key "msd-type"; 332 description 333 "list of SRv6 MSD"; 334 uses srv6-msd; 335 } 336 } 337 } 339 grouping segment-list { 340 description 341 "Segment list grouping"; 342 container segment-list { 343 description 344 "Segments for given segment list"; 345 list segment { 346 key "index"; 347 description 348 "Configure Segment/hop at the index"; 349 uses segment-properties; 350 } 351 } 352 } 354 grouping segment-properties { 355 description 356 "Segment properties grouping"; 357 leaf index { 358 type uint32; 359 description 360 "Segment index"; 361 } 362 leaf sid-value { 363 type srv6-types:srv6-sid; 364 description 365 "SRv6 SID value"; 366 } 367 } 369 /* 370 * Augment modules to add SRv6 371 */ 373 augment "/pcep:pcep/pcep:entity/pcep:capability" { 374 description 375 "Augmenting SRv6"; 377 uses srv6; 378 } 380 augment 381 "/pcep:pcep/pcep:entity/pcep:peers/pcep:peer/pcep:capability" { 382 description 383 "Augmenting SRv6"; 384 uses srv6; 385 } 387 augment "/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp" { 388 description 389 "Augmenting SRv6"; 390 container srv6 { 391 when "/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst 392 = 'path-setup-srv6'" { 393 description 394 "For SRv6 path"; 395 } 396 if-feature "srv6"; 397 uses segment-list; 398 description 399 "SRv6"; 400 } 401 } 402 } 404 406 6. Security Considerations 408 The YANG module defined in this document is designed to be accessed 409 via network management protocol such as NETCONF [RFC6241] or RESTCONF 410 [RFC8040]. The lowest NETCONF layer is the secure transport layer 411 and the mandatory-to-implement secure transport is SSH [RFC6242]. 412 The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement 413 secure transport is TLS [RFC8446] 415 The NETCONF access control model [RFC8341] provides the means to 416 restrict access for particular NETCONF or RESTCONF users to a pre- 417 configured subset of all available NETCONF or RESTCONF protocol 418 operations and content. 420 There are a number of data nodes defined in the YANG module which are 421 writable/creatable/deletable (i.e., config true, which is the 422 default). These data nodes may be considered sensitive or vulnerable 423 in some network environments. Write operations (e.g., ) 424 to these data nodes without proper protection can have a negative 425 effect on network operations. These are the subtrees and data nodes 426 and their sensitivity/vulnerability: 428 /pcep:pcep/pcep:entity/pcep:capability/pcep-srv6:srv6 - configure 429 local SRv6 capability and parameters. 431 /pcep:pcep/pcep:entity/pcep:peers/pcep:peer/pcep:capability/pcep- 432 srv6:srv6 - configure peer's SRv6 capability and parameters. 434 Unauthorized access to above list can adversely affect the PCEP 435 session between the local entity and the peers. This may lead to 436 inability to compute new paths, stateful operations on the delegated 437 as well as PCE-initiated LSPs. 439 Some of the readable data nodes in this YANG module may be considered 440 sensitive or vulnerable in some network environments. It is thus 441 important to control read access (e.g., via get, get-config, or 442 notification) to these data nodes. These are the subtrees and data 443 nodes and their sensitivity/vulnerability: 445 /pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep-srv6:srv6 - The 446 SRv6 SID in the network. Unauthorized access to this could 447 provide the all path and network usage information. 449 7. IANA Considerations 451 This document registers a URI in the "IETF XML Registry" [RFC3688]. 452 Following the format in RFC 3688, the following registration has been 453 made. 455 URI: urn:ietf:params:xml:ns:yang:ietf-pcep-srv6 457 Registrant Contact: The PCE WG of the IETF. 459 XML: N/A; the requested URI is an XML namespace. 461 This document registers a YANG module in the "YANG Module Names" 462 registry [RFC6020]. 464 Name: ietf-pcep-srv6 465 Namespace: urn:ietf:params:xml:ns:yang:ietf-pcep-srv6 466 Prefix: pcep-srv6 467 Reference: This I-D 469 8. Acknowledgements 471 The authors would like to thank Dhruv Dhody for the initial YANG 472 model. 474 9. References 476 9.1. Normative References 478 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 479 Requirement Levels", BCP 14, RFC 2119, 480 DOI 10.17487/RFC2119, March 1997, 481 . 483 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 484 DOI 10.17487/RFC3688, January 2004, 485 . 487 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 488 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 489 DOI 10.17487/RFC5440, March 2009, 490 . 492 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 493 the Network Configuration Protocol (NETCONF)", RFC 6020, 494 DOI 10.17487/RFC6020, October 2010, 495 . 497 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 498 and A. Bierman, Ed., "Network Configuration Protocol 499 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 500 . 502 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 503 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 504 . 506 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 507 RFC 7950, DOI 10.17487/RFC7950, August 2016, 508 . 510 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 511 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 512 . 514 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 515 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 516 May 2017, . 518 [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path 519 Computation Element Communication Protocol (PCEP) 520 Extensions for Stateful PCE", RFC 8231, 521 DOI 10.17487/RFC8231, September 2017, 522 . 524 [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path 525 Computation Element Communication Protocol (PCEP) 526 Extensions for PCE-Initiated LSP Setup in a Stateful PCE 527 Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, 528 . 530 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 531 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 532 . 534 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 535 Access Control Model", STD 91, RFC 8341, 536 DOI 10.17487/RFC8341, March 2018, 537 . 539 [RFC8408] Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J. 540 Hardwick, "Conveying Path Setup Type in PCE Communication 541 Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, 542 July 2018, . 544 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 545 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 546 . 548 [RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., 549 and J. Hardwick, "Path Computation Element Communication 550 Protocol (PCEP) Extensions for Segment Routing", RFC 8664, 551 DOI 10.17487/RFC8664, December 2019, 552 . 554 [RFC8776] Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 555 "Common YANG Data Types for Traffic Engineering", 556 RFC 8776, DOI 10.17487/RFC8776, June 2020, 557 . 559 [I-D.raza-spring-srv6-yang] 560 Raza, K., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah, 561 H., Voyer, D., Elmalky, H., Matsushima, S., Horiba, K., 562 Abdelsalam, A., and J. Rajamanickam, "YANG Data Model for 563 SRv6 Base and Static", draft-raza-spring-srv6-yang-05 564 (work in progress), October 2019. 566 [I-D.ietf-pce-pcep-yang] 567 Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A 568 YANG Data Model for Path Computation Element 569 Communications Protocol (PCEP)", draft-ietf-pce-pcep- 570 yang-13 (work in progress), October 2019. 572 [I-D.ietf-pce-segment-routing-ipv6] 573 Li, C., Negi, M., Koldychev, M., Kaladharan, P., and Y. 574 Zhu, "PCEP Extensions for Segment Routing leveraging the 575 IPv6 data plane", draft-ietf-pce-segment-routing-ipv6-06 576 (work in progress), July 2020. 578 9.2. Informative References 580 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 581 Element (PCE)-Based Architecture", RFC 4655, 582 DOI 10.17487/RFC4655, August 2006, 583 . 585 [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. 586 Hardwick, "Path Computation Element Communication Protocol 587 (PCEP) Management Information Base (MIB) Module", 588 RFC 7420, DOI 10.17487/RFC7420, December 2014, 589 . 591 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 592 and R. Wilton, "Network Management Datastore Architecture 593 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 594 . 596 Authors' Addresses 598 Cheng Li 599 Huawei Technologies 600 Huawei Campus, No. 156 Beiqing Rd. 601 Beijing 100095 602 China 604 EMail: c.l@huawei.com 606 Siva Sivabalan 607 Ciena Corporation 609 EMail: ssivabal@ciena.com 610 Shuping Peng 611 Huawei Technologies 612 Huawei Campus, No. 156 Beiqing Rd. 613 Beijing 100095 614 China 616 EMail: pengshuping@huawei.com 618 Mike Koldychev 619 Cisco Systems, Inc. 621 EMail: mkoldych@cisco.com 623 Luc-Fabrice Ndifor 624 MTN Cameroon 625 Cameroon 627 EMail: Luc-Fabrice.Ndifor@mtn.com