idnits 2.17.1 draft-ietf-ccamp-wson-yang-09.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 127 has weird spacing: '...module ietf-...' -- The document date (November 12, 2017) is 2356 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 593, but not defined Summary: 1 error (**), 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: May 12, 2018 November 12, 2017 21 A Yang Data Model for WSON Optical Networks 23 draft-ietf-ccamp-wson-yang-09.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 May 12, 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.................................11 74 5. Security Considerations.......................................13 75 6. IANA Considerations...........................................13 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]. 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: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/lnk:link/tet:te/tet:te-link-attributes: 109 +--rw channel-num? int32 110 +--rw first-channel-frequency? decimal64 111 +--rw channel-spacing? decimal64 112 +--rw available-wavelength-info* [priority] 113 +--rw priority uint8 114 +--rw wavelength-availability-range? te-wson-types:wavelength-range- 115 type 116 augment /nd:networks/nd:network/nd:node/tet:te/tet:te-node-attributes: 117 +--rw wson-node 118 +--rw node-type? identityref 119 augment /nd:networks/nd:network/nd:node/tet:te/tet:tunnel-termination-point: 120 +--rw available-operational-mode* te-wson-types:operational-mode 121 +--rw operational-mode? te-wson-types:operational-mode 123 3. IETF-WSON-Topology YANG Model 125 file "ietf-wson-topology@2017-10-09.yang" 127 module ietf-wson-topology { 128 //TODO: FIXME 129 //yang-version 1.1; 131 namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology"; 133 prefix "wson"; 135 import ietf-network { 136 prefix "nd"; 137 } 139 import ietf-network-topology { 140 prefix "lnk"; 141 } 143 import ietf-inet-types { 144 prefix "inet"; 145 } 147 import ietf-te-topology { 148 prefix "tet"; 149 } 150 import ietf-te-wson-types { //Modified 151 prefix "te-wson-types"; 152 } 154 //NOT NEEDED 155 /*import ietf-transport-types { 156 prefix "tran-types"; 157 } */ 159 organization 160 "IETF CCAMP Working Group"; 162 contact 163 "Editor: Young Lee "; 165 description 166 "This module contains a collection of YANG definitions 168 for 169 RWA WSON. 171 Copyright (c) 2016 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 2017-10-09 { 186 description 187 "version 8."; 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 } 392 //REMOVING 393 /* 394 augment "/nd:networks/nd:network/nd:node/tet:te/tet:state" 395 + "/tet:te-node-attributes" { 396 when "/nd:networks/nd:network/nd:network-types" 397 +"/tet:te-topology/wson:wson-topology" { 398 description 399 "This augment is only valid for WSON."; 400 } 401 description "WSON Node augmentation."; 403 uses wson-node-attributes; 404 }*/ 406 //FIXING NMDA 407 augment "/nd:networks/nd:network/nd:node/tet:te" 408 + "/tet:tunnel-termination-point" { 409 when "/nd:networks/nd:network/nd:network-types" 410 +"/tet:te-topology/wson:wson-topology" { 411 description 412 "This augment is only valid for WSON."; 413 } 414 description "WSON tunnel termination point 415 augmentation."; 417 uses wson-ttp-attributes; 418 } 420 //removing 421 /*augment "/nd:networks/nd:network/nd:node/tet:te" 422 + "/tet:tunnel-termination-point/tet:state" { 423 when "/nd:networks/nd:network/nd:network-types" 424 +"/tet:te-topology/wson:wson-topology" { 425 description 426 "This augment is only valid for WSON."; 427 } 428 description "WSON tunnel termination point 429 augmentation."; 431 uses wson-ttp-attributes; 432 }*/ 433 } 435 436 4. IETF-TE-WSON-Types YANG Model 438 file "ietf-te-wson-types@2017-10-09.yang" 439 module ietf-te-wson-types { 440 namespace "urn:ietf:params:xml:ns:yang:ietf-te-wson-types"; 441 prefix "te-wson-types"; 443 organization 444 "IETF CCAMP Working Group"; 445 contact 446 "WG Web: 447 WG List: 449 Editor: Aihua Guo 450 452 Editor: Young Lee 453 "; 455 description 456 "This module defines WSON types."; 458 revision "2017-10-09" { 459 description 460 "Revision 0.1"; 461 reference "TBD"; 462 } 464 typedef operational-mode { 465 type string; 466 description 467 "Vendor-specific mode that guarantees interoperability. 468 It must be an string with the following format: 469 B-DScW-ytz(v) where all these attributes are conformant 470 to the ITU-T recomendation"; 471 reference "ITU-T G.698.2 (11/2009) Section 5.3"; 472 } 474 identity wson-node-type { 475 description 476 "WSON node type."; 477 reference 478 ""; 479 } 481 identity wson-node-foadm { 482 base wson-node-type; 483 description 484 "Fixed OADM node."; 485 } 487 identity wson-node-roadm { 488 base wson-node-type; 489 description 490 "ROADM or OXC node."; 491 } 493 identity wson-node-ila { 494 base wson-node-type; 495 description 496 "ILA (In-Line Amplifier) node."; 497 } 499 //ADDED 500 typedef wavelength-range-type { 501 type string { 502 pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?" + 503 "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)"; 504 } 505 description 506 "A list of WDM channel numbers (starting at 1) 507 in ascending order. For example: 1,12-20,40,50-80"; 508 } 510 identity wavelength-assignment { 511 description "Wavelength selection base"; 512 } 514 identity unspecified-wavelength-assignment { 515 base wavelength-assignment; 516 description "No method specified"; 518 } 520 identity first-fit-wavelength-asignment { 521 base wavelength-assignment; 522 description "All the available wavelengths are numbered, 523 and this WA method chooses the available wavelength 524 with the lowest index."; 525 } 527 identity random-wavelength-asignment { 528 base wavelength-assignment; 529 description "This WA method chooses an available 530 wavelength randomly."; 531 } 533 identity least-loaded-wavelength-asignment { 534 base wavelength-assignment; 535 description "This WA method selects the wavelength that 536 has the largest residual capacity on the most loaded 537 link along the route (in muli-fiber networks)."; 538 } 540 } 542 544 5. Security Considerations 546 TDB 548 6. IANA Considerations 550 TDB 552 7. Acknowledgments 554 This document was prepared using 2-Word-v2.0.template.dot. 556 8. References 558 8.1. Normative References 560 [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work 561 in progress: draft-ietf-teas-yang-te-topo. 563 8.2. Informative References 565 [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and 566 Wavelength Assignment Information Model for Wavelength 567 Switched Optical Networks", RFC 7446, Feburary 2015. 569 [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General 570 Network Element Constraint Encoding for GMPLS Controlled 571 Networks", RFC 7579, June 2015. 573 [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and 574 Wavelength Assignment Information Encoding for Wavelength 575 Switched Optical Networks", RFC 7581, June 2015. 577 9. Contributors 579 Authors' Addresses 581 Young Lee (ed.) 582 Huawei Technologies 583 5340 Legacy Drive, Building 3 584 Plano, TX 75023 585 USA 587 Phone: (469) 277-5838 588 Email: leeyoung@huawei.com 590 Dhruv Dhody 591 Huawei Technologies India Pvt. Ltd, 592 Near EPIP Industrial Area, Kundalahalli Village, Whitefield, 593 Bangalore - 560 037 [H1-2A-245] 594 Email: dhruv.dhody@huawei.com 596 Xian Zhang 597 Huawei Technologies 599 Email: zhang.xian@huawei.com 601 Aihua Guo 602 Huawei Technologies 603 Email: aihuaguo@huawei.com 605 Victor Lopez 606 Telefonica 607 Email: victor.lopezalvarez@telefonica.com 609 Daniel King 610 University of Lancaster 611 Email: d.king@lancaster.ac.uk 613 Bin Yeong Yoon 614 ETRI 615 218 Gaijeongro, Yuseong-gu 616 Daejeon, Korea 617 Email: byyun@etri.re.kr 619 Ricard Vilalta 620 CTTC 621 Email: ricard.vilalta@cttc.es