idnits 2.17.1 draft-ietf-ccamp-wson-yang-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 4 instances of too long lines in the document, the longest one being 6 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 128 has weird spacing: '...module ietf-...' -- The document date (February 27, 2018) is 2249 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: 'RFC6241' is mentioned on line 546, but not defined == Missing Reference: 'RFC6536' is mentioned on line 547, but not defined ** Obsolete undefined reference: RFC 6536 (Obsoleted by RFC 8341) == Missing Reference: 'RFC3688' is mentioned on line 558, but not defined == Missing Reference: 'RFC7950' is mentioned on line 571, but not defined == Missing Reference: 'H1-2A-245' is mentioned on line 624, but not defined Summary: 2 errors (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 CCAMP Working Group Y. Lee (Editor) 2 Internet Draft D. Dhody 3 Intended status: Standard Track X. Zhang 4 Expires: August 27, 2018 A. Guo 5 Huawei 7 V. Lopez 8 Telefonica 10 D. King 11 U. of Lancaster 13 B. Yoon 14 ETRI 16 Ricard Vilalta 17 CTTC 19 February 27, 2018 21 A Yang Data Model for WSON Optical Networks 23 draft-ietf-ccamp-wson-yang-10 25 Abstract 27 This document provides a YANG data model for the routing and 28 wavelength assignment (RWA) TE topology in wavelength switched 29 optical networks (WSONs). 31 Status of this Memo 33 This Internet-Draft is submitted to IETF in full conformance with 34 the provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF), its areas, and its working groups. Note that 38 other groups may also distribute working documents as Internet- 39 Drafts. 41 Internet-Drafts are draft documents valid for a maximum of six 42 months and may be updated, replaced, or obsoleted by other documents 43 at any time. It is inappropriate to use Internet-Drafts as 44 reference material or to cite them other than as "work in progress." 46 The list of current Internet-Drafts can be accessed at 47 http://www.ietf.org/ietf/1id-abstracts.txt 48 The list of Internet-Draft Shadow Directories can be accessed at 49 http://www.ietf.org/shadow.html 51 This Internet-Draft will expire on August 27, 2018. 53 Copyright Notice 55 Copyright (c) 2018 IETF Trust and the persons identified as the 56 document authors. All rights reserved. 58 This document is subject to BCP 78 and the IETF Trust's Legal 59 Provisions Relating to IETF Documents 60 (http://trustee.ietf.org/license-info) in effect on the date of 61 publication of this document. Please review these documents 62 carefully, as they describe your rights and restrictions with 63 respect to this document. Code Components extracted from this 64 document must include Simplified BSD License text as described in 65 Section 4.e of the Trust Legal Provisions and are provided without 66 warranty as described in the Simplified BSD License. 68 Table of Contents 70 1. Introduction...................................................2 71 2. YANG Model (Tree Structure)....................................3 72 3. IETF-WSON-Topology YANG Model..................................4 73 4. IETF-TE-WSON-Types YANG Model.................................11 74 5. Security Considerations.......................................13 75 6. IANA Considerations...........................................14 76 7. Acknowledgments...............................................14 77 8. References....................................................15 78 8.1. Normative References.....................................15 79 8.2. Informative References...................................15 80 9. Contributors..................................................15 81 Authors' Addresses...............................................15 83 1. Introduction 85 This document provides a YANG data model for the routing and 86 wavelength assignment (RWA) Traffic Engineering (TE) topology in 87 wavelength switched optical networks (WSONs). The YANG model 88 described in this document is a WSON technology-specific Yang model 89 based on the information model developed in [RFC7446] and the two 90 encoding documents [RFC7581] and [RFC7579] that developed protocol 91 independent encodings based on [RFC7446]. 93 This document augments the generic TE topology draft [TE-TOPO]. 95 What is not in scope of this document is both impairment-aware WSON 96 and flex-grid. 98 This document defines two YANG models: ietf-wson-topology (Section 99 3) and ietf-te-wson-types (Section 4). 101 2. YANG Model (Tree Structure) 103 module: ietf-wson-topology 104 augment /nd:networks/nd:network/nd:network-types/tet:te-topology: 105 +--rw wson-topology! 106 augment /nd:networks/nd:network/nd:node/tet:te/tet:te-node- 107 attributes/tet:connectivity-matrices/tet:connectivity-matrix: 108 +--rw wavelength-availability-range? te-wson-types:wavelength-range-type 109 augment /nd:networks/nd:network/lnk:link/tet:te/tet:te-link-attributes: 110 +--rw channel-num? int32 111 +--rw first-channel-frequency? decimal64 112 +--rw channel-spacing? decimal64 113 +--rw available-wavelength-info* [priority] 114 +--rw priority uint8 115 +--rw wavelength-availability-range? te-wson-types:wavelength-range- 116 type 117 augment /nd:networks/nd:network/nd:node/tet:te/tet:te-node-attributes: 118 +--rw wson-node 119 +--rw node-type? identityref 120 augment /nd:networks/nd:network/nd:node/tet:te/tet:tunnel-termination-point: 121 +--rw available-operational-mode* te-wson-types:operational-mode 122 +--rw operational-mode? te-wson-types:operational-mode 124 3. IETF-WSON-Topology YANG Model 126 file "ietf-wson-topology@2018-02-27.yang" 128 module ietf-wson-topology { 129 //TODO: FIXME 130 //yang-version 1.1; 132 namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology"; 134 prefix "wson"; 136 import ietf-network { 137 prefix "nd"; 138 } 140 import ietf-network-topology { 141 prefix "lnk"; 142 } 144 import ietf-inet-types { 145 prefix "inet"; 146 } 148 import ietf-te-topology { 149 prefix "tet"; 150 } 151 import ietf-te-wson-types { //Modified 152 prefix "te-wson-types"; 153 } 155 //NOT NEEDED 156 /*import ietf-transport-types { 157 prefix "tran-types"; 158 } */ 160 organization 161 "IETF CCAMP Working Group"; 163 contact 164 "Editor: Young Lee "; 166 description 167 "This module contains a collection of YANG definitions 168 for 169 RWA WSON. 171 Copyright (c) 2017 IETF Trust and the persons identified 172 as 173 authors of the code. All rights reserved. 175 Redistribution and use in source and binary forms, with 176 or 177 without modification, is permitted pursuant to, and 178 subject 179 to the license terms contained in, the Simplified BSD 180 License set forth in Section 4.c of the IETF Trust's 181 Legal 182 Provisions Relating to IETF Documents 183 (http://trustee.ietf.org/license-info)."; 185 revision 2018-02-27 { 186 description 187 "version 10."; 189 reference 190 "RFC XXX: A Yang Data Model for WSON Optical 191 Networks "; 192 } 194 typedef wson-topology-id { 195 type inet:uri; 196 description 197 "The WSON Topology ID"; 198 } 200 grouping wson-topology-type { 201 description "wson-topology type"; 202 container wson-topology { 203 presence "indicates a topology of wson"; 204 description 205 "Container to identify wson topology type"; 206 } 207 } 209 grouping wson-node-attributes { 210 description "WSON node attributes"; 211 container wson-node { 212 description "WSON node attrtibutes."; 213 leaf node-type { 214 type identityref { 215 base te-wson-types:wson-node-type; 216 } 217 description "WSON node type."; 218 } 219 } 220 } 222 grouping wson-wavelength-availability-range{ 223 description "wavelength availability range"; 225 leaf wavelength-availability-range{ 226 type te-wson-types:wavelength-range-type; 227 description 228 "range that indicates if a wavelength is 229 available or not on each channel at 230 specified priority level."; 231 } 232 } 233 grouping wson-link-attributes { 234 description "WSON link attributes"; 235 leaf channel-num { 236 type int32; 237 description "Number of OCh channels available"; 238 } 239 leaf first-channel-frequency { 240 type decimal64 { 241 fraction-digits 5; 242 } 243 units THz; 244 description "First channel frequency in the grid"; 245 } 246 leaf channel-spacing { 247 type decimal64 { 248 fraction-digits 5; 249 } 250 units GHz; 251 description "This is fixed channel spacing for 252 WSON, 253 e.g, 12.5, 25, 50, 100, .."; 254 } 256 list available-wavelength-info{ 257 key "priority"; 258 max-elements "8"; 260 description 261 "List of available wavelength channels on 262 this link"; 263 leaf priority { 264 type uint8 { 265 range "0..7"; 266 } 267 description "priority"; 268 } 269 uses wson-wavelength-availability-range; 270 } 271 } 272 grouping wson-tp-attributes { 273 description "wson-tp-attributes"; 275 leaf client-facing { 276 type empty; 277 description 278 "if present, it means this tp is a client- 279 facing tp. 280 adding/dropping client signal flow."; 281 } 283 /* 284 //can it be fully covered by interface-switching-capability of base 285 TE model? 286 leaf-list supported-client-signals { 287 type identityref { 288 base tran-types:client-signal; 289 } 290 description 291 "Supported client signals at this TP"; 292 } 293 */ 294 } 296 grouping wson-ttp-attributes { 297 description "WSON tunnel termination point (e.g. 298 tranponder) 299 attributes"; 300 leaf-list available-operational-mode { 301 type te-wson-types:operational-mode; 302 description "List of all vendor-specific supported 303 mode identifiers"; 304 } 306 leaf operational-mode { 307 type te-wson-types:operational-mode; 308 description "Vendor-specific mode identifier"; 309 } 310 } 312 /* AUGMENTS */ 314 augment "/nd:networks/nd:network/nd:network-types" 315 + "/tet:te-topology" { 316 description "wson-topology augmented"; 317 uses wson-topology-type; 318 } 320 //FIXING NMDA 321 augment "/nd:networks/nd:network/nd:node/tet:te" 322 +"/tet:te-node-attributes/tet:connectivity-matrices" 323 + "/tet:connectivity-matrix" { 324 when "/nd:networks/nd:network/nd:network-types" 325 +"/tet:te-topology/wson:wson-topology" { 326 description 327 "This augment is only valid for WSON 328 connectivity 329 matrix."; 330 } 331 description "WSON connectivity matrix config 332 augmentation"; 333 uses wson-wavelength-availability-range; 334 } 336 //REMOVING 337 /* 338 augment "/nd:networks/nd:network/nd:node/tet:te/tet:state" 339 +"/tet:te-node-attributes/tet:connectivity-matrices" 340 + "/tet:connectivity-matrix" { 341 when "/nd:networks/nd:network/nd:network-types" 342 +"/tet:te-topology/wson-topology" { 343 description 344 "This augment is only valid for WSON 345 connectivity 346 matrix."; 347 } 348 description "WSON connectivity matrix state augmentation"; 349 uses wson-wavelength-availability-range; 350 }*/ 352 //FIXING NMDA 353 augment "/nd:networks/nd:network/lnk:link/tet:te" 354 + "/tet:te-link-attributes" { 355 when "/nd:networks/nd:network/nd:network-types" 356 +"/tet:te-topology/wson:wson-topology" { 357 description 358 "This augment is only valid for WSON."; 359 } 360 description "WSON Link augmentation."; 362 uses wson-link-attributes; 363 } 365 //REMOVING 366 /* 367 augment "/nd:networks/nd:network/lnk:link/tet:te/tet:state" 368 + "/tet:te-link-attributes" { 369 when "/nd:networks/nd:network/nd:network-types" 370 +"/tet:te-topology/wson:wson-topology" { 371 description 372 "This augment is only valid for WSON."; 373 } 374 description "WSON Link augmentation."; 376 uses wson-link-attributes; 377 }*/ 379 //FIXING NMDA 380 augment "/nd:networks/nd:network/nd:node/tet:te" 381 + "/tet:te-node-attributes" { 382 when "/nd:networks/nd:network/nd:network-types" 383 +"/tet:te-topology/wson:wson-topology" { 384 description 385 "This augment is only valid for WSON."; 386 } 387 description "WSON Node augmentation."; 389 uses wson-node-attributes; 390 } 391 //REMOVING 392 /* 393 augment "/nd:networks/nd:network/nd:node/tet:te/tet:state" 394 + "/tet:te-node-attributes" { 395 when "/nd:networks/nd:network/nd:network-types" 396 +"/tet:te-topology/wson:wson-topology" { 397 description 398 "This augment is only valid for WSON."; 399 } 400 description "WSON Node augmentation."; 402 uses wson-node-attributes; 403 }*/ 405 //FIXING NMDA 406 augment "/nd:networks/nd:network/nd:node/tet:te" 407 + "/tet:tunnel-termination-point" { 408 when "/nd:networks/nd:network/nd:network-types" 409 +"/tet:te-topology/wson:wson-topology" { 410 description 411 "This augment is only valid for WSON."; 412 } 413 description "WSON tunnel termination point 414 augmentation."; 416 uses wson-ttp-attributes; 417 } 419 //removing 420 /*augment "/nd:networks/nd:network/nd:node/tet:te" 421 + "/tet:tunnel-termination-point/tet:state" { 422 when "/nd:networks/nd:network/nd:network-types" 423 +"/tet:te-topology/wson:wson-topology" { 424 description 425 "This augment is only valid for WSON."; 426 } 427 description "WSON tunnel termination point 428 augmentation."; 430 uses wson-ttp-attributes; 431 }*/ 432 } 434 435 4. IETF-TE-WSON-Types YANG Model 437 file "ietf-te-wson-types@2018-02-27.yang" 438 module ietf-te-wson-types { 439 namespace "urn:ietf:params:xml:ns:yang:ietf-te-wson-types"; 440 prefix "te-wson-types"; 442 organization 443 "IETF CCAMP Working Group"; 444 contact 445 "WG Web: 446 WG List: 448 Editor: Aihua Guo 449 451 Editor: Young Lee 452 "; 454 description 455 "This module defines WSON types."; 457 revision "2018-02-27" { 458 description 459 "Revision 2"; 460 reference "TBD"; 461 } 463 typedef operational-mode { 464 type string; 465 description 466 "Vendor-specific mode that guarantees interoperability. 467 It must be an string with the following format: 468 B-DScW-ytz(v) where all these attributes are conformant 469 to the ITU-T recomendation"; 470 reference "ITU-T G.698.2 (11/2009) Section 5.3"; 471 } 473 identity wson-node-type { 474 description 475 "WSON node type."; 476 reference 477 ""; 478 } 480 identity wson-node-foadm { 481 base wson-node-type; 482 description 483 "Fixed OADM node."; 484 } 486 identity wson-node-roadm { 487 base wson-node-type; 488 description 489 "ROADM or OXC node."; 490 } 492 identity wson-node-ila { 493 base wson-node-type; 494 description 495 "ILA (In-Line Amplifier) node."; 496 } 498 //ADDED 499 typedef wavelength-range-type { 500 type string { 501 pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?" + 502 "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)"; 503 } 504 description 505 "A list of WDM channel numbers (starting at 1) 506 in ascending order. For example: 1,12-20,40,50-80"; 507 } 509 identity wavelength-assignment { 510 description "Wavelength selection base"; 511 } 513 identity unspecified-wavelength-assignment { 514 base wavelength-assignment; 515 description "No method specified"; 516 } 518 identity first-fit-wavelength-asignment { 519 base wavelength-assignment; 520 description "All the available wavelengths are numbered, 521 and this WA method chooses the available wavelength 522 with the lowest index."; 523 } 525 identity random-wavelength-asignment { 526 base wavelength-assignment; 527 description "This WA method chooses an available 528 wavelength randomly."; 529 } 531 identity least-loaded-wavelength-asignment { 532 base wavelength-assignment; 533 description "This WA method selects the wavelength that 534 has the largest residual capacity on the most loaded 535 link along the route (in muli-fiber networks)."; 536 } 538 } 540 542 5. Security Considerations 544 The configuration, state, and action data defined in this document 545 are designed to be accessed via a management protocol with a secure 546 transport layer, such as NETCONF [RFC6241]. The NETCONF access 547 control model [RFC6536] provides the means to restrict access for 548 particular NETCONF users to a preconfigured subset of all available 549 NETCONF protocol operations and content. 551 A number of configuration data nodes defined in this document are 552 writable/deletable (i.e., "config true") These data nodes may be 553 considered sensitive or vulnerable in some network environments. 555 6. IANA Considerations 557 This document registers the following namespace URIs in the IETF XML 558 registry [RFC3688]: 560 -------------------------------------------------------------------- 561 URI: urn:ietf:params:xml:ns:yang: ietf-wson-topology 562 Registrant Contact: The IESG. 563 XML: N/A, the requested URI is an XML namespace. 564 -------------------------------------------------------------------- 565 URI: urn:ietf:params:xml:ns:yang: ietf-te-wson-types 566 Registrant Contact: The IESG. 567 XML: N/A, the requested URI is an XML namespace. 568 -------------------------------------------------------------------- 570 This document registers the following YANG modules in the YANG 571 Module Names registry [RFC7950]: 573 -------------------------------------------------------------------- 574 name: ietf-wson-topology 575 namespace: urn:ietf:params:xml:ns:yang:ietf-wson-topology 576 reference: RFC XXXX (TDB) 577 -------------------------------------------------------------------- 578 name: ietf-te-wson-types 579 namespace: urn:ietf:params:xml:ns:yang: ietf-te-wson-types 580 reference: RFC XXXX (TDB) 581 -------------------------------------------------------------------- 583 7. Acknowledgments 585 This document was prepared using 2-Word-v2.0.template.dot. 587 8. References 589 8.1. Normative References 591 [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work 592 in progress: draft-ietf-teas-yang-te-topo. 594 8.2. Informative References 596 [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and 597 Wavelength Assignment Information Model for Wavelength 598 Switched Optical Networks", RFC 7446, Feburary 2015. 600 [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General 601 Network Element Constraint Encoding for GMPLS Controlled 602 Networks", RFC 7579, June 2015. 604 [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and 605 Wavelength Assignment Information Encoding for Wavelength 606 Switched Optical Networks", RFC 7581, June 2015. 608 9. Contributors 610 Authors' Addresses 612 Young Lee (ed.) 613 Huawei Technologies 614 5340 Legacy Drive, Building 3 615 Plano, TX 75023 616 USA 618 Phone: (469) 277-5838 619 Email: leeyoung@huawei.com 621 Dhruv Dhody 622 Huawei Technologies India Pvt. Ltd, 623 Near EPIP Industrial Area, Kundalahalli Village, Whitefield, 624 Bangalore - 560 037 [H1-2A-245] 625 Email: dhruv.dhody@huawei.com 627 Xian Zhang 628 Huawei Technologies 630 Email: zhang.xian@huawei.com 632 Aihua Guo 633 Huawei Technologies 634 Email: aihuaguo@huawei.com 636 Victor Lopez 637 Telefonica 638 Email: victor.lopezalvarez@telefonica.com 640 Daniel King 641 University of Lancaster 642 Email: d.king@lancaster.ac.uk 644 Bin Yeong Yoon 645 ETRI 646 218 Gaijeongro, Yuseong-gu 647 Daejeon, Korea 648 Email: byyun@etri.re.kr 650 Ricard Vilalta 651 CTTC 652 Email: ricard.vilalta@cttc.es