idnits 2.17.1 draft-li-pce-pcep-srv6-yang-00.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 (March 08, 2019) is 1876 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 (-36) exists of draft-ietf-teas-yang-te-19 == Outdated reference: A later version (-06) exists of draft-raza-spring-srv6-yang-02 == Outdated reference: A later version (-23) exists of draft-ietf-pce-pcep-yang-09 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: September 9, 2019 Cisco Systems, Inc. 6 March 08, 2019 8 A YANG Data Model for Segment Routing in IPv6 (SRv6) support in Path 9 Computation Element Communications Protocol (PCEP) 10 draft-li-pce-pcep-srv6-yang-00 12 Abstract 14 This document augments a YANG data model for the management of Path 15 Computation Element communications Protocol (PCEP) for communications 16 between a Path Computation Client (PCC) and a Path Computation 17 Element (PCE), or between two PCEs in support for Segment Routing in 18 IPv6. The data model includes configuration data and state data 19 (status information and counters for the collection of statistics). 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on September 9, 2019. 38 Copyright Notice 40 Copyright (c) 2019 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (https://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 57 3. Terminology and Notation . . . . . . . . . . . . . . . . . . 3 58 3.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 59 3.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4 60 4. The Design of PCEP-SRv6 Data Model . . . . . . . . . . . . . 4 61 4.1. The Overview of PCEP SRv6 Data Model . . . . . . . . . . 4 62 5. PCEP-SRv6 YANG Modules . . . . . . . . . . . . . . . . . . . 5 63 5.1. ietf-pcep-srv6 module . . . . . . . . . . . . . . . . . . 5 64 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 65 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 66 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 67 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 68 9.1. Normative References . . . . . . . . . . . . . . . . . . 10 69 9.2. Informative References . . . . . . . . . . . . . . . . . 12 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 72 1. Introduction 74 The Path Computation Element (PCE) defined in [RFC4655] is an entity 75 that is capable of computing a network path or route based on a 76 network graph, and applying computational constraints. A Path 77 Computation Client (PCC) may make requests to a PCE for paths to be 78 computed. 80 PCEP is the communication protocol between a PCC and PCE and is 81 defined in [RFC5440]. PCEP interactions include path computation 82 requests and path computation replies as well as notifications of 83 specific states related to the use of a PCE in the context of 84 Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) 85 Traffic Engineering (TE). [RFC8231] specifies extensions to PCEP to 86 enable stateful control of MPLS TE LSPs. 88 [I-D.negi-pce-segment-routing-ipv6] extends 89 [I-D.ietf-pce-segment-routing] to support SR for IPv6 data plane. 91 [I-D.ietf-pce-pcep-yang] defines a YANG [RFC7950] data model for the 92 management of PCEP speakers. This document contains a specification 93 of the PCEP-SRv6 YANG module, "ietf-pcep-srv6" which provides the 94 PCEP-SRv6 [I-D.negi-pce-segment-routing-ipv6] data model. 96 The PCEP operational state is included in the same tree as the PCEP 97 configuration consistent with Network Management Datastore 98 Architecture [RFC8342]. The origin of the data is indicated as per 99 the origin metadata annotation. 101 2. Requirements Language 103 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 104 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 105 "OPTIONAL" in this document are to be interpreted as described in BCP 106 14 [RFC2119] [RFC8174] when, and only when, they appear in all 107 capitals, as shown here. 109 3. Terminology and Notation 111 This document also uses the following terms defined in [RFC7420]: 113 o PCEP entity: a local PCEP speaker. 115 o PCEP peer: to refer to a remote PCEP speaker. 117 o PCEP speaker: where it is not necessary to distinguish between 118 local and remote. 120 Further, this document also uses the following terms defined in 121 [RFC8231] : 123 o Stateful PCE, Passive Stateful PCE, Active Stateful PCE 125 o Delegation, Revocation, Redelegation 127 o LSP State Report, Path Computation Report message (PCRpt). 129 o LSP State Update, Path Computation Update message (PCUpd). 131 [RFC8281] : 133 o PCE-initiated LSP, Path Computation LSP Initiate Message 134 (PCInitiate). 136 [RFC8408] : 138 o Path Setup Type (PST). 140 [I-D.ietf-pce-segment-routing] : 142 o Segment Routing (SR). 144 [I-D.negi-pce-segment-routing-ipv6] : 146 o Segment Routing in IPv6 (SRv6). 148 3.1. Tree Diagrams 150 A simplified graphical representation of the data model is used in 151 this document. The meaning of the symbols in these diagrams is 152 defined in [RFC8340]. 154 3.2. Prefixes in Data Node Names 156 In this document, names of data nodes and other data model objects 157 are often used without a prefix, as long as it is clear from the 158 context in which YANG module each name is defined. Otherwise, names 159 are prefixed using the standard prefix associated with the 160 corresponding YANG module, as shown in Table 1. 162 +----------+-----------------+-----------------------------+ 163 | Prefix | YANG module | Reference | 164 +----------+-----------------+-----------------------------+ 165 | te-types | ietf-te-types | [I-D.ietf-teas-yang-te] | 166 | p | ietf-pcep | [I-D.ietf-pce-pcep-yang] | 167 | st | ietf-srv6-types | [I-D.raza-spring-srv6-yang] | 168 +----------+-----------------+-----------------------------+ 170 Table 1: Prefixes and corresponding YANG modules 172 4. The Design of PCEP-SRv6 Data Model 174 4.1. The Overview of PCEP SRv6 Data Model 176 The PCEP-SRv6 YANG module defined in this document has all the common 177 building blocks for the PCEP-SRv6 extension. 179 module: ietf-pcep-srv6 180 augment /p:pcep/p:entity/p:capability: 181 +--rw srv6 {srv6}? 182 +--rw enabled? boolean 183 +--rw msd-limit? boolean 184 +--rw srv6-msd* [msd-type] 185 +--rw msd-type uint8 186 +--rw msd-value? uint8 187 augment /p:pcep/p:entity/p:peers/p:peer/p:capability: 188 +--rw srv6 {srv6}? 189 +--rw enabled? boolean 190 +--rw msd-limit? boolean 191 +--rw srv6-msd* [msd-type] 192 +--rw msd-type uint8 193 +--rw msd-value? uint8 194 augment /p:pcep/p:entity/p:lsp-db/p:lsp: 195 +--ro srv6 {srv6}? 196 +--ro segment-list 197 +--ro segment* [index] 198 +--ro index uint32 199 +--ro sid-value? st:srv6-sid 201 5. PCEP-SRv6 YANG Modules 203 5.1. ietf-pcep-srv6 module 205 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 206 actual RFC number and all occurrences of the revision date below with 207 the date of RFC publication (and remove this note). 209 file "ietf-pcep-srv6@2019-03-08.yang" 210 module ietf-pcep-srv6 { 212 yang-version 1.1; 214 namespace "urn:ietf:params:xml:ns:yang:ietf-pcep-srv6"; 215 prefix ps; 217 import ietf-srv6-types { 218 prefix "st"; 219 reference "RFC XXXX"; 220 } 222 import ietf-te-types { 223 prefix "te-types"; 224 reference "RFC XXXX"; 225 } 227 import ietf-pcep { 228 prefix "p"; 229 reference "RFC XXXX"; 230 } 232 organization 233 "IETF PCE (Path Computation Element) Working Group"; 235 contact 236 "WG Web: 237 WG List: 238 Editor: Cheng Li 239 "; 240 description 241 "The YANG module augments the PCEP yang operational 242 model with SRv6"; 244 revision 2019-03-08 { 245 description "Initial revision."; 246 reference 247 "RFC XXXX: A YANG Data Model for Path Computation 248 Element Communications Protocol 249 (PCEP) - Segement Routing in IPv6 250 (SRv6)"; 251 } 253 /* Identity */ 254 identity path-setup-srv6 { 255 base te-types:path-signaling-type; 256 description 257 "SRv6 path setup type"; 258 } 260 /* Features */ 261 feature srv6 { 262 description 263 "Support Segment Routing in IPv6 (SRv6) for PCE."; 264 } 266 /* Groupings */ 267 grouping srv6-msd { 268 description 269 "SRv6 MSD"; 271 leaf msd-type { 272 type uint8; 273 description 274 "SRv6 Maximum Segment Depth (MSD) Type"; 275 } 276 leaf msd-value { 277 type uint8; 278 description 279 "SRv6 MSD value for the type"; 280 } 281 } 283 grouping srv6 { 284 description 285 "SRv6"; 286 container srv6 { 287 if-feature srv6; 288 description 289 "If SRv6 is supported"; 290 leaf enabled{ 291 type boolean; 292 description 293 "Enabled or Disabled"; 294 } 295 leaf msd-limit { 296 type boolean; 297 default false; 298 description 299 "True indicates no limit on MSD, the 300 list srv6-msd is ignored"; 301 } 302 list srv6-msd { 303 key "msd-type"; 304 description "list of SRv6 MSD"; 305 uses srv6-msd; 306 } 307 } 308 } 310 grouping segment-list { 311 description 312 "Segment list grouping"; 313 container segment-list { 314 description 315 "Segments for given segment list"; 317 list segment { 318 key "index"; 319 description "Configure Segment/hop at the index"; 320 uses segment-properties; 321 } 322 } 323 } 325 grouping segment-properties { 326 description "Segment properties grouping"; 327 leaf index { 328 type uint32; 329 description "Segment index"; 330 } 331 leaf sid-value { 332 type st:srv6-sid; 333 description "SRv6 SID value"; 334 } 335 } 337 /* 338 * Augment modules to add SRv6 339 */ 340 augment "/p:pcep/p:entity/p:capability"{ 341 description 342 "Augmenting SRv6"; 343 uses srv6; 344 } 345 augment "/p:pcep/p:entity/p:peers/p:peer/p:capability"{ 346 description 347 "Augmenting SRv6"; 348 uses srv6; 349 } 350 augment "/p:pcep/p:entity/p:lsp-db/p:lsp"{ 351 description 352 "Augmenting SRv6"; 353 container srv6 { 354 when "/p:pcep/p:entity/p:lsp-db/p:lsp/p:pst 355 = ps:path-setup-srv6" { 356 description 357 "For SRv6 path"; 358 } 359 if-feature srv6; 360 uses segment-list; 361 description 362 "SRv6"; 363 } 364 } 366 }//module 368 370 6. Security Considerations 372 The YANG module defined in this document is designed to be accessed 373 via network management protocol such as NETCONF [RFC6241] or RESTCONF 374 [RFC8040]. The lowest NETCONF layer is the secure transport layer 375 and the mandatory-to-implement secure transport is SSH [RFC6242]. 376 The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement 377 secure transport is TLS [RFC8446] 379 The NETCONF access control model [RFC8341] provides the means to 380 restrict access for particular NETCONF or RESTCONF users to a pre- 381 configured subset of all available NETCONF or RESTCONF protocol 382 operations and content. 384 There are a number of data nodes defined in the YANG module which are 385 writable/creatable/deletable (i.e., config true, which is the 386 default). These data nodes may be considered sensitive or vulnerable 387 in some network environments. Write operations (e.g., ) 388 to these data nodes without proper protection can have a negative 389 effect on network operations. These are the subtrees and data nodes 390 and their sensitivity/vulnerability: 392 /p:pcep/p:entity/p:capability/ps:srv6 - configure local SRv6 393 capability and parameters. 395 /p:pcep/p:entity/p:peers/p:peer/p:capability/ps:srv6 - configure 396 peer's SRv6 capability and parameters. 398 Unauthorized access to above list can adversely affect the PCEP 399 session between the local entity and the peers. This may lead to 400 inability to compute new paths, stateful operations on the delegated 401 as well as PCE-initiated LSPs. 403 Some of the readable data nodes in this YANG module may be considered 404 sensitive or vulnerable in some network environments. It is thus 405 important to control read access (e.g., via get, get-config, or 406 notification) to these data nodes. These are the subtrees and data 407 nodes and their sensitivity/vulnerability: 409 /p:pcep/p:entity/p:lsp-db/p:lsp/ps:srv6 - The SRv6 SID in the 410 network. Unauthorized access to this could provide the all path 411 and network usage information. 413 7. IANA Considerations 415 This document registers a URI in the "IETF XML Registry" [RFC3688]. 416 Following the format in RFC 3688, the following registration has been 417 made. 419 URI: urn:ietf:params:xml:ns:yang:ietf-pcep-srv6 421 Registrant Contact: The PCE WG of the IETF. 423 XML: N/A; the requested URI is an XML namespace. 425 This document registers a YANG module in the "YANG Module Names" 426 registry [RFC6020]. 428 Name: ietf-pcep 429 Namespace: urn:ietf:params:xml:ns:yang:ietf-pcep-srv6 430 Prefix: ps 431 Reference: This I-D 433 8. Acknowledgements 435 The authors would like to thank Dhruv Dhody for the initial YANG 436 model. 438 9. References 440 9.1. Normative References 442 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 443 Requirement Levels", BCP 14, RFC 2119, 444 DOI 10.17487/RFC2119, March 1997, 445 . 447 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 448 DOI 10.17487/RFC3688, January 2004, 449 . 451 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 452 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 453 DOI 10.17487/RFC5440, March 2009, 454 . 456 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 457 the Network Configuration Protocol (NETCONF)", RFC 6020, 458 DOI 10.17487/RFC6020, October 2010, 459 . 461 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 462 and A. Bierman, Ed., "Network Configuration Protocol 463 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 464 . 466 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 467 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 468 . 470 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 471 RFC 7950, DOI 10.17487/RFC7950, August 2016, 472 . 474 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 475 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 476 . 478 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 479 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 480 May 2017, . 482 [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path 483 Computation Element Communication Protocol (PCEP) 484 Extensions for Stateful PCE", RFC 8231, 485 DOI 10.17487/RFC8231, September 2017, 486 . 488 [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path 489 Computation Element Communication Protocol (PCEP) 490 Extensions for PCE-Initiated LSP Setup in a Stateful PCE 491 Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, 492 . 494 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 495 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 496 . 498 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 499 Access Control Model", STD 91, RFC 8341, 500 DOI 10.17487/RFC8341, March 2018, 501 . 503 [RFC8408] Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J. 504 Hardwick, "Conveying Path Setup Type in PCE Communication 505 Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, 506 July 2018, . 508 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 509 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 510 . 512 [I-D.ietf-teas-yang-te] 513 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 514 "A YANG Data Model for Traffic Engineering Tunnels and 515 Interfaces", draft-ietf-teas-yang-te-19 (work in 516 progress), February 2019. 518 [I-D.ietf-pce-segment-routing] 519 Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., 520 and J. Hardwick, "PCEP Extensions for Segment Routing", 521 draft-ietf-pce-segment-routing-16 (work in progress), 522 March 2019. 524 [I-D.raza-spring-srv6-yang] 525 Raza, K., Rajamanickam, J., Liu, X., Hu, Z., Hussain, I., 526 Shah, H., daniel.voyer@bell.ca, d., Elmalky, H., 527 Matsushima, S., Horiba, K., and A. Abdelsalam, "YANG Data 528 Model for SRv6 Base and Static", draft-raza-spring- 529 srv6-yang-02 (work in progress), October 2018. 531 [I-D.ietf-pce-pcep-yang] 532 Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A 533 YANG Data Model for Path Computation Element 534 Communications Protocol (PCEP)", draft-ietf-pce-pcep- 535 yang-09 (work in progress), October 2018. 537 [I-D.negi-pce-segment-routing-ipv6] 538 Negi, M., Li, C., Sivabalan, S., and P. Kaladharan, "PCEP 539 Extensions for Segment Routing leveraging the IPv6 data 540 plane", draft-negi-pce-segment-routing-ipv6-04 (work in 541 progress), February 2019. 543 9.2. Informative References 545 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 546 Element (PCE)-Based Architecture", RFC 4655, 547 DOI 10.17487/RFC4655, August 2006, 548 . 550 [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. 551 Hardwick, "Path Computation Element Communication Protocol 552 (PCEP) Management Information Base (MIB) Module", 553 RFC 7420, DOI 10.17487/RFC7420, December 2014, 554 . 556 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 557 and R. Wilton, "Network Management Datastore Architecture 558 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 559 . 561 Authors' Addresses 563 Cheng Li 564 Huawei Technologies 565 Huawei Campus, No. 156 Beiqing Rd. 566 Beijing 100095 567 China 569 EMail: chengli13@huawei.com 571 Siva Sivabalan 572 Cisco Systems, Inc. 573 2000 Innovation Drive 574 Kanata, Ontario K2K 3E8 575 Canada 577 EMail: msiva@cisco.com