idnits 2.17.1 draft-ietf-ccamp-wson-yang-08.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 8 instances of too long lines in the document, the longest one being 12 characters in excess of 72. ** There is 1 instance of lines with control characters in the document. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 144 has weird spacing: '... module ietf...' -- The document date (October 9, 2017) is 2391 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: 'H1-2A-245' is mentioned on line 607, but not defined Summary: 2 errors (**), 0 flaws (~~), 3 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 D. Dhody 3 X. Zhang 4 Internet Draft A. Guo 5 Intended status: Standard Track Huawei 7 V. Lopez 8 Telefonica 10 D. King 11 U. of Lancaster 13 B. Yoon 14 ETRI 16 Ricard Vilalta 17 CTTC 19 Expires: April 8, 2018 October 9, 2017 21 A Yang Data Model for WSON Optical Networks 23 draft-ietf-ccamp-wson-yang-08.txt 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 April 8, 2018. 53 Copyright Notice 55 Copyright (c) 2017 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.................................12 74 5. Security Considerations.......................................14 75 6. IANA Considerations...........................................15 76 7. Acknowledgments...............................................15 77 8. References....................................................16 78 8.1. Normative References.....................................16 79 8.2. Informative References...................................16 80 9. Contributors..................................................16 81 Authors' Addresses...............................................16 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]. This document augments the 92 the generic TE topology draft [TE-TOPO]. 94 What is not in scope of this document is both impairment-aware WSON 95 and flex-grid. 97 This document defines two YANG models: ietf-wson-topology (Section 98 3) and ietf-te-wson-types (Section 4). 100 2. YANG Model (Tree Structure) 102 module: ietf-wson-topology 103 augment /nd:networks/nd:network/nd:network-types/tet:te-topology: 104 +--rw wson-topology! 105 augment /nd:networks/nd:network/nd:node/tet:te/tet:config/tet:te-node- 106 attributes/tet:connectivity-matrices/tet:connectivity-matrix: 107 +--rw wavelength-availability-range? te-wson-types:wavelength-range-type 108 augment /nd:networks/nd:network/nd:node/tet:te/tet:state/tet:te-node- 109 attributes/tet:connectivity-matrices/tet:connectivity-matrix: 110 +--ro wavelength-availability-range? te-wson-types:wavelength-range-type 111 augment /nd:networks/nd:network/lnk:link/tet:te/tet:config/tet:te-link-attributes: 112 +--rw channel-num? int32 113 +--rw first-channel-frequency? decimal64 114 +--rw channel-spacing? decimal64 115 +--rw available-wavelength-info* [priority] 116 +--rw priority uint8 117 +--rw wavelength-availability-range? te-wson-types:wavelength-range-type 118 augment /nd:networks/nd:network/lnk:link/tet:te/tet:state/tet:te-link-attributes: 119 +--ro channel-num? int32 120 +--ro first-channel-frequency? decimal64 121 +--ro channel-spacing? decimal64 122 +--ro available-wavelength-info* [priority] 123 +--ro priority uint8 124 +--ro wavelength-availability-range? te-wson-types:wavelength-range-type 125 augment /nd:networks/nd:network/nd:node/tet:te/tet:config/tet:te-node-attributes: 126 +--rw wson-node 127 +--rw node-type? identityref 128 augment /nd:networks/nd:network/nd:node/tet:te/tet:state/tet:te-node-attributes: 129 +--ro wson-node 130 +--ro node-type? identityref 131 augment /nd:networks/nd:network/nd:node/tet:te/tet:tunnel-termination- 132 point/tet:config: 133 +--rw available-operational-mode* te-wson-types:operational-mode 134 +--rw operational-mode? te-wson-types:operational-mode 135 augment /nd:networks/nd:network/nd:node/tet:te/tet:tunnel-termination- 136 point/tet:state: 137 +--ro available-operational-mode* te-wson-types:operational-mode 138 +--ro operational-mode? te-wson-types:operational-mode 140 3. IETF-WSON-Topology YANG Model 142 file "ietf-wson-topology@2017-10-09.yang" 144 module ietf-wson-topology { 145 //TODO: FIXME 146 //yang-version 1.1; 148 namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology"; 150 prefix "wson"; 152 import ietf-network { 153 prefix "nd"; 154 } 156 import ietf-network-topology { 157 prefix "lnk"; 158 } 160 import ietf-inet-types { 161 prefix "inet"; 162 } 164 import ietf-te-topology { 165 prefix "tet"; 166 } 167 import ietf-te-wson-types { //Modified 168 prefix "te-wson-types"; 169 } 171 //NOT NEEDED 172 /*import ietf-transport-types { 173 prefix "tran-types"; 174 } */ 176 organization 177 "IETF CCAMP Working Group"; 179 contact 180 "Editor: Young Lee "; 182 description 183 "This module contains a collection of YANG definitions 184 for 185 RWA WSON. 187 Copyright (c) 2016 IETF Trust and the persons identified 188 as 189 authors of the code. All rights reserved. 191 Redistribution and use in source and binary forms, with 192 or 193 without modification, is permitted pursuant to, and 194 subject 195 to the license terms contained in, the Simplified BSD 196 License set forth in Section 4.c of the IETF Trust's 197 Legal 198 Provisions Relating to IETF Documents 199 (http://trustee.ietf.org/license-info)."; 201 revision 2017-10-09 { 202 description 203 "version 8."; 205 reference 206 "RFC XXX: A Yang Data Model for WSON Optical 207 Networks "; 208 } 210 typedef wson-topology-id { 211 type inet:uri; 212 description 213 "The WSON Topology ID"; 214 } 216 grouping wson-topology-type { 217 description "wson-topology type"; 218 container wson-topology { 219 presence "indicates a topology of wson"; 220 description 221 "Container to identify wson topology type"; 222 } 223 } 225 grouping wson-node-attributes { 226 description "WSON node attributes"; 227 container wson-node { 228 description "WSON node attrtibutes."; 229 leaf node-type { 230 type identityref { 231 base te-wson-types:wson-node-type; 232 } 233 description "WSON node type."; 234 } 235 } 236 } 238 grouping wson-wavelength-availability-range{ 239 description "wavelength availability range"; 241 leaf wavelength-availability-range{ 242 type te-wson-types:wavelength-range-type; 243 description 244 "range that indicates if a wavelength is 245 available or not on each channel at 246 specified priority level."; 247 } 248 } 249 grouping wson-link-attributes { 250 description "WSON link attributes"; 251 leaf channel-num { 252 type int32; 253 description "Number of OCh channels available"; 254 } 255 leaf first-channel-frequency { 256 type decimal64 { 257 fraction-digits 5; 258 } 259 units THz; 260 description "First channel frequency in the grid"; 261 } 262 leaf channel-spacing { 263 type decimal64 { 264 fraction-digits 5; 265 } 266 units GHz; 267 description "This is fixed channel spacing for 268 WSON, 269 e.g, 12.5, 25, 50, 100, .."; 270 } 272 list available-wavelength-info{ 273 key "priority"; 274 max-elements "8"; 276 description 277 "List of available wavelength channels on 278 this link"; 279 leaf priority { 280 type uint8 { 281 range "0..7"; 282 } 283 description "priority"; 284 } 285 uses wson-wavelength-availability-range; 286 } 287 } 288 grouping wson-tp-attributes { 289 description "wson-tp-attributes"; 291 leaf client-facing { 292 type empty; 293 description 294 "if present, it means this tp is a client- 295 facing tp. 296 adding/dropping client signal flow."; 297 } 299 /* 300 //can it be fully covered by interface-switching-capability of base 301 TE model? 302 leaf-list supported-client-signals { 303 type identityref { 304 base tran-types:client-signal; 305 } 306 description 307 "Supported client signals at this TP"; 308 } 309 */ 310 } 312 grouping wson-ttp-attributes { 313 description "WSON tunnel termination point (e.g. 314 tranponder) 315 attributes"; 316 leaf-list available-operational-mode { 317 type te-wson-types:operational-mode; 318 description "List of all vendor-specific supported 319 mode identifiers"; 320 } 322 leaf operational-mode { 323 type te-wson-types:operational-mode; 324 description "Vendor-specific mode identifier"; 325 } 326 } 328 /* AUGMENTS */ 330 augment "/nd:networks/nd:network/nd:network-types" 331 + "/tet:te-topology" { 332 description "wson-topology augmented"; 333 uses wson-topology-type; 334 } 336 //FIXING NMDA 337 augment "/nd:networks/nd:network/nd:node/tet:te" 338 +"/tet:te-node-attributes/tet:connectivity-matrices" 339 + "/tet:connectivity-matrix" { 340 when "/nd:networks/nd:network/nd:network-types" 341 +"/tet:te-topology/wson:wson-topology" { 342 description 343 "This augment is only valid for WSON 344 connectivity 345 matrix."; 346 } 347 description "WSON connectivity matrix config 348 augmentation"; 349 uses wson-wavelength-availability-range; 350 } 352 //REMOVING 353 /* 354 augment "/nd:networks/nd:network/nd:node/tet:te/tet:state" 355 +"/tet:te-node-attributes/tet:connectivity-matrices" 356 + "/tet:connectivity-matrix" { 357 when "/nd:networks/nd:network/nd:network-types" 358 +"/tet:te-topology/wson-topology" { 359 description 360 "This augment is only valid for WSON 361 connectivity 362 matrix."; 363 } 364 description "WSON connectivity matrix state augmentation"; 365 uses wson-wavelength-availability-range; 366 }*/ 368 //FIXING NMDA 369 augment "/nd:networks/nd:network/lnk:link/tet:te" 370 + "/tet:te-link-attributes" { 371 when "/nd:networks/nd:network/nd:network-types" 372 +"/tet:te-topology/wson:wson-topology" { 373 description 374 "This augment is only valid for WSON."; 375 } 376 description "WSON Link augmentation."; 378 uses wson-link-attributes; 379 } 381 //REMOVING 382 /* 383 augment "/nd:networks/nd:network/lnk:link/tet:te/tet:state" 384 + "/tet:te-link-attributes" { 385 when "/nd:networks/nd:network/nd:network-types" 386 +"/tet:te-topology/wson:wson-topology" { 387 description 388 "This augment is only valid for WSON."; 389 } 390 description "WSON Link augmentation."; 392 uses wson-link-attributes; 393 }*/ 395 //FIXING NMDA 396 augment "/nd:networks/nd:network/nd:node/tet:te" 397 + "/tet:te-node-attributes" { 398 when "/nd:networks/nd:network/nd:network-types" 399 +"/tet:te-topology/wson:wson-topology" { 400 description 401 "This augment is only valid for WSON."; 402 } 403 description "WSON Node augmentation."; 405 uses wson-node-attributes; 406 } 408 //REMOVING 409 /* 410 augment "/nd:networks/nd:network/nd:node/tet:te/tet:state" 411 + "/tet:te-node-attributes" { 412 when "/nd:networks/nd:network/nd:network-types" 413 +"/tet:te-topology/wson:wson-topology" { 414 description 415 "This augment is only valid for WSON."; 416 } 417 description "WSON Node augmentation."; 419 uses wson-node-attributes; 420 }*/ 422 //FIXING NMDA 423 augment "/nd:networks/nd:network/nd:node/tet:te" 424 + "/tet:tunnel-termination-point" { 425 when "/nd:networks/nd:network/nd:network-types" 426 +"/tet:te-topology/wson:wson-topology" { 427 description 428 "This augment is only valid for WSON."; 429 } 430 description "WSON tunnel termination point 431 augmentation."; 433 uses wson-ttp-attributes; 434 } 436 //removing 437 /*augment "/nd:networks/nd:network/nd:node/tet:te" 438 + "/tet:tunnel-termination-point/tet:state" { 439 when "/nd:networks/nd:network/nd:network-types" 440 +"/tet:te-topology/wson:wson-topology" { 441 description 442 "This augment is only valid for WSON."; 443 } 444 description "WSON tunnel termination point 445 augmentation."; 447 uses wson-ttp-attributes; 448 }*/ 450 } 451 453 4. IETF-TE-WSON-Types YANG Model 455 file "ietf-te-wson-types@2017-10-09.yang" 456 module ietf-te-wson-types { 457 namespace "urn:ietf:params:xml:ns:yang:ietf-te-wson-types"; 458 prefix "te-wson-types"; 460 organization 461 "IETF CCAMP Working Group"; 462 contact 463 "WG Web: 464 WG List: 466 Editor: Aihua Guo 467 469 Editor: Young Lee 470 "; 472 description 473 "This module defines WSON types."; 475 revision "2017-10-09" { 476 description 477 "Revision 0.1"; 478 reference "TBD"; 479 } 481 typedef operational-mode { 482 type string; 483 description 484 "Vendor-specific mode that guarantees interoperability. 485 It must be an string with the following format: 486 B-DScW-ytz(v) where all these attributes are conformant 487 to the ITU-T recomendation"; 488 reference "ITU-T G.698.2 (11/2009) Section 5.3"; 489 } 490 identity wson-node-type { 491 description 492 "WSON node type."; 493 reference 494 ""; 495 } 497 identity wson-node-foadm { 498 base wson-node-type; 499 description 500 "Fixed OADM node."; 501 } 503 identity wson-node-roadm { 504 base wson-node-type; 505 description 506 "ROADM or OXC node."; 507 } 509 identity wson-node-ila { 510 base wson-node-type; 511 description 512 "ILA (In-Line Amplifier) node."; 513 } 515 //ADDED 516 typedef wavelength-range-type { 517 type string { 518 pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?" + 519 "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)"; 520 } 521 description 522 "A list of WDM channel numbers (starting at 1) 523 in ascending order. For example: 1,12-20,40,50-80"; 524 } 526 identity wavelength-assignment { 527 description "Wavelength selection base"; 528 } 529 identity unspecified-wavelength-assignment { 530 base wavelength-assignment; 531 description "No method specified"; 532 } 534 identity first-fit-wavelength-asignment { 535 base wavelength-assignment; 536 description "All the available wavelengths are numbered, 537 and this WA method chooses the available wavelength 538 with the lowest index."; 539 } 541 identity random-wavelength-asignment { 542 base wavelength-assignment; 543 description "This WA method chooses an available 544 wavelength randomly."; 545 } 547 identity least-loaded-wavelength-asignment { 548 base wavelength-assignment; 549 description "This WA method selects the wavelength that 550 has the largest residual capacity on the most loaded 551 link along the route (in muli-fiber networks)."; 552 } 554 } 556 558 5. Security Considerations 560 TDB 562 6. IANA Considerations 564 TDB 566 7. Acknowledgments 568 This document was prepared using 2-Word-v2.0.template.dot. 570 8. References 572 8.1. Normative References 574 [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work 575 in progress: draft-ietf-teas-yang-te-topo. 577 8.2. Informative References 579 [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and 580 Wavelength Assignment Information Model for Wavelength 581 Switched Optical Networks", RFC 7446, Feburary 2015. 583 [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General 584 Network Element Constraint Encoding for GMPLS Controlled 585 Networks", RFC 7579, June 2015. 587 [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and 588 Wavelength Assignment Information Encoding for Wavelength 589 Switched Optical Networks", RFC 7581, June 2015. 591 9. Contributors 593 Authors' Addresses 595 Young Lee (ed.) 596 Huawei Technologies 597 5340 Legacy Drive, Building 3 598 Plano, TX 75023 599 USA 601 Phone: (469) 277-5838 602 Email: leeyoung@huawei.com 604 Dhruv Dhody 605 Huawei Technologies India Pvt. Ltd, 606 Near EPIP Industrial Area, Kundalahalli Village, Whitefield, 607 Bangalore - 560 037 [H1-2A-245] 608 Email: dhruv.dhody@huawei.com 610 Xian Zhang 611 Huawei Technologies 613 Email: zhang.xian@huawei.com 615 Aihua Guo 616 Huawei Technologies 617 Email: aihuaguo@huawei.com 619 Victor Lopez 620 Telefonica 621 Email: victor.lopezalvarez@telefonica.com 623 Daniel King 624 University of Lancaster 625 Email: d.king@lancaster.ac.uk 627 Bin Yeong Yoon 628 ETRI 629 218 Gaijeongro, Yuseong-gu 630 Daejeon, Korea 631 Email: byyun@etri.re.kr 633 Ricard Vilalta 634 CTTC 635 Email: ricard.vilalta@cttc.es