idnits 2.17.1 draft-ietf-ccamp-wson-yang-05.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: ---------------------------------------------------------------------------- == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 59 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 10 instances of too long lines in the document, the longest one being 12 characters in excess of 72. ** There are 2 instances 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 132 has weird spacing: '...pool-id uin...' == Line 148 has weird spacing: '...pool-id uin...' == Line 158 has weird spacing: '...module ietf-...' -- The document date (February 21, 2017) is 2620 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 546, but not defined Summary: 2 errors (**), 0 flaws (~~), 6 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 R.Vilalta 17 CTTC 19 Expires: August 21, 2017 February 21, 2017 21 A Yang Data Model for WSON Optical Networks 23 draft-ietf-ccamp-wson-yang-05.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 49 The list of Internet-Draft Shadow Directories can be accessed at 50 http://www.ietf.org/shadow.html 52 This Internet-Draft will expire on August 21, 2017. 54 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. WSON-RWA YANG Model............................................4 73 4. Security Considerations.......................................11 74 5. IANA Considerations...........................................11 75 6. Acknowledgments...............................................11 76 7. References....................................................12 77 7.1. Normative References.....................................12 78 7.2. Informative References...................................12 79 8. Contributors..................................................12 80 Authors' Addresses...............................................12 82 1. Introduction 84 This document provides a YANG data model for the routing and 85 wavelength assignment (RWA) Traffic Engineering (TE) topology in 86 wavelength switched optical networks (WSONs). The YANG model 87 described in this document is a WSON technology-specific Yang model 88 based on the information model developed in [RFC7446] and the two 89 encoding documents [RFC7581] and [RFC7579] that developed protocol 90 independent encodings based on [RFC7446]. This document augments the 91 the generic TE topology draft [TE-TOPO]. 93 What is not in scope of this document is both impairment-aware WSON 94 and flex-grid. 96 2. YANG Model (Tree Structure) 98 module: ietf-wson-topology 99 augment /nd:networks/nd:network/nd:network-types: 100 +--rw wson-topology! 101 augment /nd:networks/nd:network/nd:node/tet:te/tet:config/tet:te-node- 102 attributes/tet:connectivity-matrix: 103 +--rw matrix-interface* [in-port-id] 104 +--rw in-port-id wson-interface-ref 105 +--rw out-port-id? wson-interface-ref 106 augment /nd:networks/nd:network/nd:node/tet:te/tet:state/tet:te-node- 107 attributes/tet:connectivity-matrix: 108 +--ro matrix-interface* [in-port-id] 109 +--ro in-port-id wson-interface-ref 110 +--ro out-port-id? wson-interface-ref 111 augment /nd:networks/nd:network/lnk:link/tet:te/tet:config/tet:te-link-attributes: 112 +--rw channel-max? int32 113 +--rw default-frequency? decimal64 114 +--rw channel-spacing? decimal64 115 +--rw wavelength-available-bitmap* binary 116 augment /nd:networks/nd:network/lnk:link/tet:te/tet:state/tet:te-link-attributes: 117 +--ro channel-max? int32 118 +--ro default-frequency? decimal64 119 +--ro channel-spacing? decimal64 120 +--ro wavelength-available-bitmap* binary 121 augment /nd:networks/nd:network/nd:node/tet:te/tet:config/tet:te-node-attributes: 122 +--rw wson-node 123 | +--rw device-type? devicetype 124 | +--rw dir? directionality 125 | +--rw interfaces* [name] 126 | +--rw name string 127 | +--rw port-number? uint32 128 | +--rw input-port? boolean 129 | +--rw output-port? boolean 130 | +--rw description? string 131 +--rw resource-pool* [resource-pool-id] 132 +--rw resource-pool-id uint32 133 +--rw pool-state? boolean 134 +--rw matrix-interface* [in-port-id] 135 +--rw in-port-id wson-interface-ref 136 +--rw out-port-id? wson-interface-ref 137 augment /nd:networks/nd:network/nd:node/tet:te/tet:state/tet:te-node-attributes: 138 +--ro wson-node 139 | +--ro device-type? devicetype 140 | +--ro dir? directionality 141 | +--ro interfaces* [name] 142 | +--ro name string 143 | +--ro port-number? uint32 144 | +--ro input-port? boolean 145 | +--ro output-port? boolean 146 | +--ro description? string 147 +--ro resource-pool* [resource-pool-id] 148 +--ro resource-pool-id uint32 149 +--ro pool-state? boolean 150 +--ro matrix-interface* [in-port-id] 151 +--ro in-port-id wson-interface-ref 152 +--ro out-port-id? wson-interface-ref 154 3. WSON-RWA YANG Model 156 file "ietf-wson-topology@2017-02-21.yang" 158 module ietf-wson-topology { 159 yang-version 1.1; 161 namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology"; 163 prefix "wson"; 165 import ietf-network { 166 prefix "nd"; 167 } 169 import ietf-network-topology { 170 prefix "lnk"; 171 } 173 import ietf-inet-types { 174 prefix "inet"; 175 } 176 import ietf-te-topology { 177 prefix "tet"; 178 } 180 organization 181 "IETF CCAMP Working Group"; 183 contact 184 "Editor: Young Lee "; 186 description 187 "This module contains a collection of YANG definitions for 188 RWA WSON. 190 Copyright (c) 2016 IETF Trust and the persons identified as 191 authors of the code. All rights reserved. 193 Redistribution and use in source and binary forms, with or 194 without modification, is permitted pursuant to, and subject 195 to the license terms contained in, the Simplified BSD 196 License set forth in Section 4.c of the IETF Trust's Legal 197 Provisions Relating to IETF Documents 198 (http://trustee.ietf.org/license-info)."; 200 revision 2017-02-21 { 201 description 202 "version 5."; 204 reference 205 "RFC XXX: A Yang Data Model for WSON Optical Networks "; 206 } 208 typedef wson-topology-id { 209 type inet:uri; 210 description 211 "The WSON Topology ID"; 212 } 214 typedef wson-node-id { 215 type inet:ip-address; 216 description 217 "The WSON Node ID"; 218 } 220 typedef devicetype { 221 type enumeration { 222 enum adm { 223 value 1; 224 description 225 "Device is ADM"; 226 } 228 enum roadm { 229 value 2; 230 description 231 "Device is ROAMD/OXC"; 232 } 233 } 234 description 235 "device type: fixed (ADM) or switched (ROADM/OXC)"; 236 } 238 typedef directionality { 239 type enumeration { 240 enum bidir { 241 value 0; 242 description 243 "bi-directional"; 244 } 245 enum input { 246 value 1; 247 description 248 "input direction"; 249 } 250 enum output { 251 value 2; 252 description 253 "output direction"; 254 } 255 } 256 description 257 "The directionality of link set"; 258 } 260 typedef wson-interface-ref { 261 type leafref { 262 path "/nd:networks/nd:network/nd:node/tet:te/tet:config" 263 + "/tet:te-node-attributes/wson:wson-node/" 264 + "wson:interfaces/wson:name"; 265 } 266 description 267 "This type is used by data models that need to 268 reference WSON interface."; 269 } 270 grouping wson-topology-type { 271 description "wson-topology type"; 272 container wson-topology { 273 presence "indicates a topology of wson"; 274 description 275 "Container to identify wson topology type"; 276 } 277 } 279 grouping wson-node-attributes { 280 description "wson node attributes"; 281 container wson-node { 282 description "WSON node attrtibutes."; 283 leaf device-type { 284 type devicetype; 285 description 286 "device type: fixed (ADM) or switched 287 (ROADM/OXC)"; 288 } 289 leaf dir { 290 type directionality; 291 description 292 "bi-directionality or input or output 293 of link set"; 294 } 295 list interfaces { 296 key "name"; 297 unique "port-number"; // TODO Puerto y TP ID 298 description "List of interfaces contained in the node"; 299 uses node-interface; 300 } 301 } 302 } 304 grouping node-interface { 305 description "node interface definition"; 306 leaf name { 307 type string; 308 description "Interface name"; 309 } 310 leaf port-number { 311 type uint32; 312 description "Number of the port used by the interface"; 313 } 314 leaf input-port { 315 type boolean; 316 description "Determines if the port is an input port"; 317 } 318 leaf output-port { 319 type boolean; 320 description 321 "Determines if the port is an output port"; 322 } 323 leaf description { 324 type string; 325 description "Description of the interface"; 326 } 327 } 329 grouping available-wavelength { 330 description "describe available wavelengths"; 331 leaf-list wavelength-available-bitmap { 332 type binary; 333 description 334 "array of bits (i.e., bitmap) that indicates 335 if a wavelength is available or not on each 336 channel."; 337 } 338 } 340 grouping wson-link-attributes { 341 description "Set of WSON link attributes"; 342 leaf channel-max { 343 type int32; 344 description "Maximum Number of OCh channels available 345 by the node"; 346 } 347 leaf default-frequency { 348 type decimal64 { 349 fraction-digits 5; 350 } 351 units THz; 352 default 193.1; 353 description "Default Central Frequency"; 354 } 355 leaf channel-spacing { 356 type decimal64 { 357 fraction-digits 5; 358 } 359 units GHz; 360 description "This is fixed channel spacing for WSON, 361 e.g, 12.5, 25, 50, 100, .."; 362 } 363 } 365 grouping wson-connectivity-matrix { 366 description "wson connectivity matrix"; 367 list matrix-interface { 368 key "in-port-id"; 370 description 371 "matrix-interface describes input-ports 372 and out-ports around a connectivity 373 matrix"; 375 leaf in-port-id { 376 type wson-interface-ref; 377 description 378 "The reference to in-port"; 379 } 381 leaf out-port-id { 382 type wson-interface-ref; 383 description 384 "The reference to out-port"; 385 } 386 } 387 } 389 grouping resource-pool-attributes { 390 description "resource pool describes regeneration or wave converter"; 391 list resource-pool { 392 key "resource-pool-id"; 393 description 394 "The resource pool list"; 396 leaf resource-pool-id { 397 type uint32; 398 description 399 "The resource pool ID"; 400 } 402 leaf pool-state { 403 type boolean; 404 description 405 "TRUE is state UP; FALSE is state down"; 406 } 408 uses wson-connectivity-matrix; 409 } 410 } 412 augment "/nd:networks/nd:network/nd:network-types" { 413 description "wson-topology augmented"; 414 uses wson-topology-type; 415 } 416 augment "/nd:networks/nd:network/nd:node/tet:te/tet:config" 417 +"/tet:te-node-attributes/tet:connectivity-matrix" { 418 when "/nd:networks/nd:network/nd:network-types" 419 +"/wson-topology" { 420 description 421 "This augment is only valid for WSON connectivity 422 matrix."; 423 } 424 description "WSON connectivity matrix config augmentation"; 425 uses wson-connectivity-matrix; 426 } 428 augment "/nd:networks/nd:network/nd:node/tet:te/tet:state" 429 +"/tet:te-node-attributes/tet:connectivity-matrix" { 430 when "/nd:networks/nd:network/nd:network-types" 431 +"/wson-topology" { 432 description 433 "This augment is only valid for WSON connectivity 434 matrix."; 435 } 436 description "WSON connectivity matrix state augmentation"; 437 uses wson-connectivity-matrix; 438 } 440 augment "/nd:networks/nd:network/lnk:link/tet:te/tet:config" 441 + "/tet:te-link-attributes" { 442 when "/nd:networks/nd:network/nd:network-types" 443 +"/wson-topology" { 444 description 445 "This augment is only valid for WSON."; 446 } 447 description "WSON Link augmentation."; 449 uses wson-link-attributes; 450 uses available-wavelength; 451 } 453 augment "/nd:networks/nd:network/lnk:link/tet:te/tet:state" 454 + "/tet:te-link-attributes" { 455 when "/nd:networks/nd:network/nd:network-types" 456 +"/wson-topology" { 457 description 458 "This augment is only valid for WSON."; 459 } 460 description "WSON Link augmentation."; 462 uses wson-link-attributes; 463 uses available-wavelength; 465 } 467 augment "/nd:networks/nd:network/nd:node/tet:te/tet:config" 468 + "/tet:te-node-attributes" { 469 when "/nd:networks/nd:network/nd:network-types" 470 +"/wson-topology" { 471 description 472 "This augment is only valid for WSON."; 473 } 474 description "WSON Node augmentation."; 476 uses wson-node-attributes; 477 uses resource-pool-attributes; 478 } 480 augment "/nd:networks/nd:network/nd:node/tet:te/tet:state" 481 + "/tet:te-node-attributes" { 482 when "/nd:networks/nd:network/nd:network-types" 483 +"/wson-topology" { 484 description 485 "This augment is only valid for WSON."; 486 } 487 description "WSON Node augmentation."; 489 uses wson-node-attributes; 490 uses resource-pool-attributes; 491 } 493 } 495 497 4. Security Considerations 499 TDB 501 5. IANA Considerations 503 TDB 505 6. Acknowledgments 507 This document was prepared using 2-Word-v2.0.template.dot. 509 7. References 511 7.1. Normative References 513 [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work 514 in progress: draft-ietf-teas-yang-te-topo. 516 7.2. Informative References 518 [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and 519 Wavelength Assignment Information Model for Wavelength 520 Switched Optical Networks", RFC 7446, Feburary 2015. 522 [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General 523 Network Element Constraint Encoding for GMPLS Controlled 524 Networks", RFC 7579, June 2015. 526 [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and 527 Wavelength Assignment Information Encoding for Wavelength 528 Switched Optical Networks", RFC 7581, June 2015. 530 8. Contributors 532 Authors' Addresses 534 Young Lee (ed.) 535 Huawei Technologies 536 5340 Legacy Drive, Building 3 537 Plano, TX 75023 538 USA 540 Phone: (469) 277-5838 541 Email: leeyoung@huawei.com 543 Dhruv Dhody 544 Huawei Technologies India Pvt. Ltd, 545 Near EPIP Industrial Area, Kundalahalli Village, Whitefield, 546 Bangalore - 560 037 [H1-2A-245] 547 Email: dhruv.dhody@huawei.com 549 Xian Zhang 550 Huawei Technologies 552 Email: zhang.xian@huawei.com 554 Aihua Guo 555 Huawei Technologies 556 Email: aihuaguo@huawei.com 558 Victor Lopez 559 Telefonica 560 Email: victor.lopezalvarez@telefonica.com 562 Daniel King 563 University of Lancaster 564 Email: d.king@lancaster.ac.uk 566 Bin Yeong Yoon 567 ETRI 568 218 Gaijeongro, Yuseong-gu 569 Daejeon, Korea 570 Email: byyun@etri.re.kr 572 Ricard Vilalta 573 CTTC 574 Email: ricard.vilalta@cttc.es