idnits 2.17.1 draft-ietf-ccamp-wson-yang-18.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 130 instances of too long lines in the document, the longest one being 13 characters in excess of 72. 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 (December 3, 2018) is 1943 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: 'RFC8174' is mentioned on line 116, but not defined == Missing Reference: 'RFCXXXX' is mentioned on line 161, but not defined == Missing Reference: 'RFC7205' is mentioned on line 173, but not defined == Unused Reference: 'RFC6205' is defined on line 3484, but no explicit reference was found in the text ** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341) 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 Internet Draft D. Dhody 3 Intended status: Standard Track A. Guo 4 Expires: June 3, 2019 Huawei 6 V. Lopez 7 Telefonica 9 D. King 10 U. of Lancaster 12 December 3, 2018 14 A YANG Data Model for WSON (Wavelength Switched Optical Networks) 16 draft-ietf-ccamp-wson-yang-18 18 Abstract 20 This document provides a YANG data model for the routing and 21 wavelength assignment (RWA) TE topology in wavelength switched 22 optical networks (WSONs). The YANG data model defined in this 23 document conforms to the Network Management Datastore Architecture 24 defined in RFC 8342. 26 Status of this Memo 28 This Internet-Draft is submitted to IETF in full conformance with 29 the provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF), its areas, and its working groups. Note that 33 other groups may also distribute working documents as Internet- 34 Drafts. 36 Internet-Drafts are draft documents valid for a maximum of six 37 months and may be updated, replaced, or obsoleted by other documents 38 at any time. It is inappropriate to use Internet-Drafts as 39 reference material or to cite them other than as "work in progress." 41 The list of current Internet-Drafts can be accessed at 42 http://www.ietf.org/ietf/1id-abstracts.txt 44 The list of Internet-Draft Shadow Directories can be accessed at 45 http://www.ietf.org/shadow.html 47 This Internet-Draft will expire on June 3, 2019. 49 Copyright Notice 50 Copyright (c) 2018 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (http://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with 58 respect to this document. Code Components extracted from this 59 document must include Simplified BSD License text as described in 60 Section 4.e of the Trust Legal Provisions and are provided without 61 warranty as described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction...................................................2 66 1.1. Requirements Language.....................................3 67 1.2. Terminology...............................................3 68 1.3. Tree diagram..............................................4 69 1.4. Prefixes in Data Node Names...............................4 70 2. YANG Model (Tree Structure)....................................4 71 3. IETF-WSON-Topology YANG Model.................................22 72 4. IETF-Layer0-Types YANG Model..................................58 73 5. Security Considerations.......................................71 74 6. IANA Considerations...........................................72 75 7. Acknowledgments...............................................73 76 8. References....................................................74 77 8.1. Normative References.....................................74 78 8.2. Informative References...................................74 79 9. Contributors..................................................76 80 Authors' Addresses...............................................76 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]. 92 This document augments 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-layer0-types (Section 4). 100 There are multiple applications for the yang data model defined in 101 this document. For example, nodes within the network can use the 102 data model to capture their understanding of the overall WSON 103 topology and expose it to a controller. A controller can further 104 propagate the topology to other controllers. The YANG model is used 105 by NETCONF [RFC6020], [RFC8341] or a RESTCONF [RFC8040] protocol. 106 The YANG data model defined in this document conforms to the Network 107 Management Datastore Architecture [RFC8342]. 109 1.1. Requirements Language 111 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 112 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 113 "OPTIONAL" in this document are to be interpreted as described in BCP 114 14 [RFC2119] [RFC8174] when, and only when, they appear in all 115 capitals, as shown here. 117 1.2. Terminology 119 Refer to [RFC7446] and [RFC7581] for the key terms used in this 120 document. 122 The following terms are defined in [RFC7950] and are not redefined 123 here: 125 o client 127 o server 129 o augment 131 o data model 133 o data node 135 The following terms are defined in [RFC6241] and are not redefined 136 here: 138 o configuration data 140 o state data 142 The terminology for describing YANG data models is found in 143 [RFC7950]. 145 1.3. Tree diagram 147 A simplified graphical representation of the data model is used in 148 chapter 2 of this this document. The meaning of the symbols in 149 these diagrams is defined in [RFC8340]. 151 1.4. Prefixes in Data Node Names 153 In this document, names of data nodes and other data model objects 154 are prefixed using the standard prefix associated with the 155 corresponding YANG imported modules, as shown in Table 1. 157 +-------------+-------------------------+-----------------+ 158 | Prefix | YANG module | Reference | 159 +-------------+-------------------------+-----------------+ 160 | layer0-type | ietf-layer0-types | [RFCXXXX] | 161 | wson | ietf-wson-topology | [RFCXXXX] | 162 | nw | ietf-network | [RFC8345] | 163 | nt | ietf-network-topology | [RFC8345] | 164 | tet | ietf-te-topology | [TE-TOPO] | 165 +-------------+-------------------------+-----------------+ 167 Table 1: Prefixes and corresponding YANG modules 169 Note: The RFC Editor will replace XXXX with the number assigned to 170 the RFC once this draft becomes an RFC. 172 YANG module "ietf-layer0-types" (defined in Section 4) references 173 [RFC6163], [RFC7205], and [RFC7698]. 175 2. YANG Model (Tree Structure) 177 module: ietf-wson-topology 178 augment /nw:networks/nw:network/nw:network-types/tet:te-topology: 179 +-rw wson-topology! 180 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes: 182 augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te: 183 +-rw supported-payload-types* [index] 184 | +-rw index uint16 185 | +-rw payload-type? string 186 +-rw client-facing? boolean 187 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes: 188 +-rw wson-node 189 +-rw node-type? identityref 190 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-point: 191 +-rw supported-operational-modes* layer0-types:operational-mode 192 +-rw configured-operational-modes? layer0-types:operational-mode 193 +-rw supported-fec-types* identityref 194 +-rw supported-termination-types* identityref 195 +-rw supports-bit-stuffing? boolean 196 +-rw is-tunable? boolean 197 +-rw max-subcarrier-channel-num? uint8 198 augment /nw:networks/nw:network/nw:node/nt:termination- 199 point/tet:te/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te- 200 bandwidth/tet:technology: 201 +-:(wson) 202 +-rw bandwidth-type? identityref 203 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 204 attributes/tet:connectivity-matrices/tet:path-constraints/tet:te- 205 bandwidth/tet:technology: 206 +-:(wson) 207 +-rw supported-bandwidth-list* identityref 208 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 209 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:path- 210 constraints/tet:te-bandwidth/tet:technology: 211 +-:(wson) 212 +-rw supported-bandwidth-list* identityref 213 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 214 entry/tet:connectivity-matrices/tet:path-constraints/tet:te- 215 bandwidth/tet:technology: 216 +-:(wson) 217 +-ro supported-bandwidth-list* identityref 218 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 219 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:path- 220 constraints/tet:te-bandwidth/tet:technology: 221 +-:(wson) 222 +-ro supported-bandwidth-list* identityref 223 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 224 point/tet:client-layer-adaptation/tet:switching-capability/tet:te- 225 bandwidth/tet:technology: 226 +-:(wson) 227 +-rw supported-bandwidth-list* identityref 228 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 229 point/tet:local-link-connectivities/tet:path-constraints/tet:te- 230 bandwidth/tet:technology: 232 +-:(wson) 233 +-rw supported-bandwidth-list* identityref 234 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 235 point/tet:local-link-connectivities/tet:local-link-connectivity/tet:path- 236 constraints/tet:te-bandwidth/tet:technology: 237 +-:(wson) 238 +-rw supported-bandwidth-list* identityref 239 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- 240 attributes/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te- 241 bandwidth/tet:technology: 242 +-:(wson) 243 +-rw bandwidth-type? identityref 244 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:max- 245 link-bandwidth/tet:te-bandwidth/tet:technology: 246 +-:(wson) 247 +-rw supported-bandwidth-list* identityref 248 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:max- 249 resv-link-bandwidth/tet:te-bandwidth/tet:technology: 250 +-:(wson) 251 +-rw supported-bandwidth-list* identityref 252 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- 253 attributes/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: 254 +-:(wson) 255 +-rw supported-bandwidth-list* identityref 256 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 257 entry/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te- 258 bandwidth/tet:technology: 259 +-:(wson) 260 +-ro bandwidth-type? identityref 261 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 262 entry/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology: 263 +-:(wson) 264 +-ro supported-bandwidth-list* identityref 265 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 266 entry/tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology: 267 +-:(wson) 268 +-ro supported-bandwidth-list* identityref 269 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 270 entry/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: 271 +-:(wson) 272 +-ro supported-bandwidth-list* identityref 273 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 274 attributes/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te- 275 bandwidth/tet:technology: 276 +-:(wson) 277 +-rw bandwidth-type? identityref 278 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 279 attributes/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology: 280 +-:(wson) 281 +-rw supported-bandwidth-list* identityref 282 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 283 attributes/tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology: 284 +-:(wson) 285 +-rw supported-bandwidth-list* identityref 286 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 287 attributes/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: 288 +-:(wson) 289 +-rw supported-bandwidth-list* identityref 290 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 291 attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction: 292 +-rw grid-type? identityref 293 +-rw priority? uint8 294 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 295 attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label- 296 restriction/tet:label-start/tet:te-label/tet:technology: 297 +-:(wson) 298 +-rw (grid-type)? 299 +-:(dwdm) 300 | +-rw channel-freq? frequency-thz 301 +-:(cwdm) 302 +-rw channel-wavelength? uint32 303 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 304 attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label- 305 restriction/tet:label-end/tet:te-label/tet:technology: 306 +-:(wson) 307 +-rw (grid-type)? 308 +-:(dwdm) 309 | +-rw channel-freq? frequency-thz 310 +-:(cwdm) 311 +-rw channel-wavelength? uint32 312 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 313 attributes/tet:connectivity-matrices/tet:underlay/tet:primary-path/tet:path- 314 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 315 +-:(wson) 316 +-rw (grid-type)? 317 +-:(dwdm) 318 | +-rw (single-or-super-channel)? 319 | +-:(single) 320 | | +-rw channel-freq? frequency-thz 321 | +-:(super) 322 | +-rw subcarrier-channels* frequency-thz 323 +-:(cwdm) 324 +-rw channel-wavelength? uint32 325 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 326 attributes/tet:connectivity-matrices/tet:underlay/tet:backup-path/tet:path- 327 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 328 +-:(wson) 329 +-rw (grid-type)? 330 +-:(dwdm) 331 | +-rw (single-or-super-channel)? 332 | +-:(single) 333 | | +-rw channel-freq? frequency-thz 334 | +-:(super) 335 | +-rw subcarrier-channels* frequency-thz 336 +-:(cwdm) 337 +-rw channel-wavelength? uint32 338 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 339 attributes/tet:connectivity- 340 matrices/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 341 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 342 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 343 +-:(wson) 344 +-rw (grid-type)? 345 +-:(dwdm) 346 | +-rw (single-or-super-channel)? 347 | +-:(single) 348 | | +-rw channel-freq? frequency-thz 349 | +-:(super) 350 | +-rw subcarrier-channels* frequency-thz 351 +-:(cwdm) 352 +-rw channel-wavelength? uint32 353 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 354 attributes/tet:connectivity- 355 matrices/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 356 metric/tet:explicit-route-include-objects/tet:route-object-include- 357 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 358 +-:(wson) 359 +-rw (grid-type)? 360 +-:(dwdm) 361 | +-rw (single-or-super-channel)? 362 | +-:(single) 363 | | +-rw channel-freq? frequency-thz 364 | +-:(super) 365 | +-rw subcarrier-channels* frequency-thz 366 +-:(cwdm) 367 +-rw channel-wavelength? uint32 368 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 369 attributes/tet:connectivity-matrices/tet:path-properties/tet:path-route- 370 objects/tet:path-route-object/tet:type/tet:label/tet:label-hop/tet:te- 371 label/tet:technology: 372 +-:(wson) 373 +-ro (grid-type)? 374 +-:(dwdm) 375 | +-ro (single-or-super-channel)? 376 | +-:(single) 377 | | +-ro channel-freq? frequency-thz 378 | +-:(super) 379 | +-ro subcarrier-channels* frequency-thz 380 +-:(cwdm) 381 +-ro channel-wavelength? uint32 382 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 383 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 384 restrictions/tet:label-restriction: 385 +-rw grid-type? identityref 386 +-rw priority? uint8 387 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 388 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 389 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 390 +-:(wson) 391 +-rw (grid-type)? 392 +-:(dwdm) 393 | +-rw channel-freq? frequency-thz 394 +-:(cwdm) 395 +-rw channel-wavelength? uint32 396 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 397 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 398 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 399 +-:(wson) 400 +-rw (grid-type)? 401 +-:(dwdm) 402 | +-rw channel-freq? frequency-thz 403 +-:(cwdm) 404 +-rw channel-wavelength? uint32 405 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 406 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 407 restrictions/tet:label-restriction: 408 +-rw grid-type? identityref 409 +-rw priority? uint8 410 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 411 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 412 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 413 +-:(wson) 414 +-rw (grid-type)? 415 +-:(dwdm) 416 | +-rw channel-freq? frequency-thz 417 +-:(cwdm) 418 +-rw channel-wavelength? uint32 419 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 420 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 421 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 422 +-:(wson) 423 +-rw (grid-type)? 424 +-:(dwdm) 425 | +-rw channel-freq? frequency-thz 426 +-:(cwdm) 427 +-rw channel-wavelength? uint32 429 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 430 attributes/tet:connectivity-matrices/tet:connectivity- 431 matrix/tet:underlay/tet:primary-path/tet:path- 432 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 433 +-:(wson) 434 +-rw (grid-type)? 435 +-:(dwdm) 436 | +-rw (single-or-super-channel)? 437 | +-:(single) 438 | | +-rw channel-freq? frequency-thz 439 | +-:(super) 440 | +-rw subcarrier-channels* frequency-thz 441 +-:(cwdm) 442 +-rw channel-wavelength? uint32 443 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 444 attributes/tet:connectivity-matrices/tet:connectivity- 445 matrix/tet:underlay/tet:backup-path/tet:path-element/tet:type/tet:label/tet:label- 446 hop/tet:te-label/tet:technology: 447 +-:(wson) 448 +-rw (grid-type)? 449 +-:(dwdm) 450 | +-rw (single-or-super-channel)? 451 | +-:(single) 452 | | +-rw channel-freq? frequency-thz 453 | +-:(super) 454 | +-rw subcarrier-channels* frequency-thz 455 +-:(cwdm) 456 +-rw channel-wavelength? uint32 457 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 458 attributes/tet:connectivity-matrices/tet:connectivity- 459 matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 460 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 461 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 462 +-:(wson) 463 +-rw (grid-type)? 464 +-:(dwdm) 465 | +-rw (single-or-super-channel)? 466 | +-:(single) 467 | | +-rw channel-freq? frequency-thz 468 | +-:(super) 469 | +-rw subcarrier-channels* frequency-thz 470 +-:(cwdm) 471 +-rw channel-wavelength? uint32 472 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 473 attributes/tet:connectivity-matrices/tet:connectivity- 474 matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 475 metric/tet:explicit-route-include-objects/tet:route-object-include- 476 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 477 +-:(wson) 478 +-rw (grid-type)? 479 +-:(dwdm) 480 | +-rw (single-or-super-channel)? 481 | +-:(single) 482 | | +-rw channel-freq? frequency-thz 483 | +-:(super) 484 | +-rw subcarrier-channels* frequency-thz 485 +-:(cwdm) 486 +-rw channel-wavelength? uint32 487 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 488 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:path- 489 properties/tet:path-route-objects/tet:path-route- 490 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 491 +-:(wson) 492 +-ro (grid-type)? 493 +-:(dwdm) 494 | +-ro (single-or-super-channel)? 495 | +-:(single) 496 | | +-ro channel-freq? frequency-thz 497 | +-:(super) 498 | +-ro subcarrier-channels* frequency-thz 499 +-:(cwdm) 500 +-ro channel-wavelength? uint32 501 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 502 entry/tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction: 503 +-ro grid-type? identityref 504 +-ro priority? uint8 505 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 506 entry/tet:connectivity-matrices/tet:label-restrictions/tet:label- 507 restriction/tet:label-start/tet:te-label/tet:technology: 508 +-:(wson) 509 +-ro (grid-type)? 510 +-:(dwdm) 511 | +-ro channel-freq? frequency-thz 512 +-:(cwdm) 513 +-ro channel-wavelength? uint32 514 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 515 entry/tet:connectivity-matrices/tet:label-restrictions/tet:label- 516 restriction/tet:label-end/tet:te-label/tet:technology: 517 +-:(wson) 518 +-ro (grid-type)? 519 +-:(dwdm) 520 | +-ro channel-freq? frequency-thz 521 +-:(cwdm) 522 +-ro channel-wavelength? uint32 523 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 524 entry/tet:connectivity-matrices/tet:underlay/tet:primary-path/tet:path- 525 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 526 +-:(wson) 527 +-ro (grid-type)? 528 +-:(dwdm) 529 | +-ro (single-or-super-channel)? 530 | +-:(single) 531 | | +-ro channel-freq? frequency-thz 532 | +-:(super) 533 | +-ro subcarrier-channels* frequency-thz 534 +-:(cwdm) 535 +-ro channel-wavelength? uint32 536 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 537 entry/tet:connectivity-matrices/tet:underlay/tet:backup-path/tet:path- 538 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 539 +-:(wson) 540 +-ro (grid-type)? 541 +-:(dwdm) 542 | +-ro (single-or-super-channel)? 543 | +-:(single) 544 | | +-ro channel-freq? frequency-thz 545 | +-:(super) 546 | +-ro subcarrier-channels* frequency-thz 547 +-:(cwdm) 548 +-ro channel-wavelength? uint32 549 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 550 entry/tet:connectivity- 551 matrices/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 552 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 553 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 554 +-:(wson) 555 +-ro (grid-type)? 556 +-:(dwdm) 557 | +-ro (single-or-super-channel)? 558 | +-:(single) 559 | | +-ro channel-freq? frequency-thz 560 | +-:(super) 561 | +-ro subcarrier-channels* frequency-thz 562 +-:(cwdm) 563 +-ro channel-wavelength? uint32 564 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 565 entry/tet:connectivity- 566 matrices/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 567 metric/tet:explicit-route-include-objects/tet:route-object-include- 568 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 569 +-:(wson) 570 +-ro (grid-type)? 571 +-:(dwdm) 572 | +-ro (single-or-super-channel)? 573 | +-:(single) 574 | | +-ro channel-freq? frequency-thz 575 | +-:(super) 576 | +-ro subcarrier-channels* frequency-thz 577 +-:(cwdm) 578 +-ro channel-wavelength? uint32 579 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 580 entry/tet:connectivity-matrices/tet:path-properties/tet:path-route- 581 objects/tet:path-route-object/tet:type/tet:label/tet:label-hop/tet:te- 582 label/tet:technology: 583 +-:(wson) 584 +-ro (grid-type)? 585 +-:(dwdm) 586 | +-ro (single-or-super-channel)? 587 | +-:(single) 588 | | +-ro channel-freq? frequency-thz 589 | +-:(super) 590 | +-ro subcarrier-channels* frequency-thz 591 +-:(cwdm) 592 +-ro channel-wavelength? uint32 593 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 594 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 595 restrictions/tet:label-restriction: 596 +-ro grid-type? identityref 597 +-ro priority? uint8 598 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 599 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 600 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 601 +-:(wson) 602 +-ro (grid-type)? 603 +-:(dwdm) 604 | +-ro channel-freq? frequency-thz 605 +-:(cwdm) 606 +-ro channel-wavelength? uint32 607 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 608 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 609 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 610 +-:(wson) 611 +-ro (grid-type)? 612 +-:(dwdm) 613 | +-ro channel-freq? frequency-thz 614 +-:(cwdm) 615 +-ro channel-wavelength? uint32 616 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 617 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 618 restrictions/tet:label-restriction: 619 +-ro grid-type? identityref 620 +-ro priority? uint8 621 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 622 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 623 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 624 +-:(wson) 625 +-ro (grid-type)? 626 +-:(dwdm) 627 | +-ro channel-freq? frequency-thz 628 +-:(cwdm) 629 +-ro channel-wavelength? uint32 630 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 631 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 632 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 633 +-:(wson) 634 +-ro (grid-type)? 635 +-:(dwdm) 636 | +-ro channel-freq? frequency-thz 637 +-:(cwdm) 638 +-ro channel-wavelength? uint32 639 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 640 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:underlay/tet:primary- 641 path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te- 642 label/tet:technology: 643 +-:(wson) 644 +-ro (grid-type)? 645 +-:(dwdm) 646 | +-ro (single-or-super-channel)? 647 | +-:(single) 648 | | +-ro channel-freq? frequency-thz 649 | +-:(super) 650 | +-ro subcarrier-channels* frequency-thz 651 +-:(cwdm) 652 +-ro channel-wavelength? uint32 653 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 654 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:underlay/tet:backup- 655 path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te- 656 label/tet:technology: 657 +-:(wson) 658 +-ro (grid-type)? 659 +-:(dwdm) 660 | +-ro (single-or-super-channel)? 661 | +-:(single) 662 | | +-ro channel-freq? frequency-thz 663 | +-:(super) 664 | +-ro subcarrier-channels* frequency-thz 665 +-:(cwdm) 666 +-ro channel-wavelength? uint32 667 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 668 entry/tet:connectivity-matrices/tet:connectivity- 669 matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 670 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 671 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 672 +-:(wson) 673 +-ro (grid-type)? 674 +-:(dwdm) 675 | +-ro (single-or-super-channel)? 676 | +-:(single) 677 | | +-ro channel-freq? frequency-thz 678 | +-:(super) 679 | +-ro subcarrier-channels* frequency-thz 680 +-:(cwdm) 681 +-ro channel-wavelength? uint32 682 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 683 entry/tet:connectivity-matrices/tet:connectivity- 684 matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 685 metric/tet:explicit-route-include-objects/tet:route-object-include- 686 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 687 +-:(wson) 688 +-ro (grid-type)? 689 +-:(dwdm) 690 | +-ro (single-or-super-channel)? 691 | +-:(single) 692 | | +-ro channel-freq? frequency-thz 693 | +-:(super) 694 | +-ro subcarrier-channels* frequency-thz 695 +-:(cwdm) 696 +-ro channel-wavelength? uint32 697 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 698 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:path- 699 properties/tet:path-route-objects/tet:path-route- 700 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 701 +-:(wson) 702 +-ro (grid-type)? 703 +-:(dwdm) 704 | +-ro (single-or-super-channel)? 705 | +-:(single) 706 | | +-ro channel-freq? frequency-thz 707 | +-:(super) 708 | +-ro subcarrier-channels* frequency-thz 709 +-:(cwdm) 710 +-ro channel-wavelength? uint32 711 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 712 point/tet:local-link-connectivities/tet:label-restrictions/tet:label-restriction: 713 +-rw grid-type? identityref 714 +-rw priority? uint8 715 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 716 point/tet:local-link-connectivities/tet:label-restrictions/tet:label- 717 restriction/tet:label-start/tet:te-label/tet:technology: 718 +-:(wson) 719 +-rw (grid-type)? 720 +-:(dwdm) 721 | +-rw channel-freq? frequency-thz 722 +-:(cwdm) 723 +-rw channel-wavelength? uint32 724 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 725 point/tet:local-link-connectivities/tet:label-restrictions/tet:label- 726 restriction/tet:label-end/tet:te-label/tet:technology: 727 +-:(wson) 728 +-rw (grid-type)? 729 +-:(dwdm) 730 | +-rw channel-freq? frequency-thz 731 +-:(cwdm) 732 +-rw channel-wavelength? uint32 733 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 734 point/tet:local-link-connectivities/tet:underlay/tet:primary-path/tet:path- 735 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 736 +-:(wson) 737 +-rw (grid-type)? 738 +-:(dwdm) 739 | +-rw (single-or-super-channel)? 740 | +-:(single) 741 | | +-rw channel-freq? frequency-thz 742 | +-:(super) 743 | +-rw subcarrier-channels* frequency-thz 744 +-:(cwdm) 745 +-rw channel-wavelength? uint32 746 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 747 point/tet:local-link-connectivities/tet:underlay/tet:backup-path/tet:path- 748 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 749 +-:(wson) 750 +-rw (grid-type)? 751 +-:(dwdm) 752 | +-rw (single-or-super-channel)? 753 | +-:(single) 754 | | +-rw channel-freq? frequency-thz 755 | +-:(super) 756 | +-rw subcarrier-channels* frequency-thz 757 +-:(cwdm) 758 +-rw channel-wavelength? uint32 759 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 760 point/tet:local-link- 761 connectivities/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 762 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 763 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 764 +-:(wson) 765 +-rw (grid-type)? 766 +-:(dwdm) 767 | +-rw (single-or-super-channel)? 768 | +-:(single) 769 | | +-rw channel-freq? frequency-thz 770 | +-:(super) 771 | +-rw subcarrier-channels* frequency-thz 772 +-:(cwdm) 773 +-rw channel-wavelength? uint32 774 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 775 point/tet:local-link- 776 connectivities/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 777 metric/tet:explicit-route-include-objects/tet:route-object-include- 778 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 779 +-:(wson) 780 +-rw (grid-type)? 781 +-:(dwdm) 782 | +-rw (single-or-super-channel)? 783 | +-:(single) 784 | | +-rw channel-freq? frequency-thz 785 | +-:(super) 786 | +-rw subcarrier-channels* frequency-thz 787 +-:(cwdm) 788 +-rw channel-wavelength? uint32 789 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 790 point/tet:local-link-connectivities/tet:path-properties/tet:path-route- 791 objects/tet:path-route-object/tet:type/tet:label/tet:label-hop/tet:te- 792 label/tet:technology: 793 +-:(wson) 794 +-ro (grid-type)? 795 +-:(dwdm) 796 | +-ro (single-or-super-channel)? 797 | +-:(single) 798 | | +-ro channel-freq? frequency-thz 799 | +-:(super) 800 | +-ro subcarrier-channels* frequency-thz 801 +-:(cwdm) 802 +-ro channel-wavelength? uint32 803 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 804 point/tet:local-link-connectivities/tet:local-link-connectivity/tet:label- 805 restrictions/tet:label-restriction: 806 +-rw grid-type? identityref 807 +-rw priority? uint8 808 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 809 point/tet:local-link-connectivities/tet:local-link-connectivity/tet:label- 810 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 811 +-:(wson) 812 +-rw (grid-type)? 813 +-:(dwdm) 814 | +-rw channel-freq? frequency-thz 815 +-:(cwdm) 816 +-rw channel-wavelength? uint32 817 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 818 point/tet:local-link-connectivities/tet:local-link-connectivity/tet:label- 819 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 820 +-:(wson) 821 +-rw (grid-type)? 822 +-:(dwdm) 823 | +-rw channel-freq? frequency-thz 824 +-:(cwdm) 825 +-rw channel-wavelength? uint32 826 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 827 point/tet:local-link-connectivities/tet:local-link- 828 connectivity/tet:underlay/tet:primary-path/tet:path- 829 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 830 +-:(wson) 831 +-rw (grid-type)? 832 +-:(dwdm) 833 | +-rw (single-or-super-channel)? 834 | +-:(single) 835 | | +-rw channel-freq? frequency-thz 836 | +-:(super) 837 | +-rw subcarrier-channels* frequency-thz 838 +-:(cwdm) 839 +-rw channel-wavelength? uint32 840 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 841 point/tet:local-link-connectivities/tet:local-link- 842 connectivity/tet:underlay/tet:backup-path/tet:path- 843 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 844 +-:(wson) 845 +-rw (grid-type)? 846 +-:(dwdm) 847 | +-rw (single-or-super-channel)? 848 | +-:(single) 849 | | +-rw channel-freq? frequency-thz 850 | +-:(super) 851 | +-rw subcarrier-channels* frequency-thz 852 +-:(cwdm) 853 +-rw channel-wavelength? uint32 854 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 855 point/tet:local-link-connectivities/tet:local-link- 856 connectivity/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 857 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 858 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 859 +-:(wson) 860 +-rw (grid-type)? 861 +-:(dwdm) 862 | +-rw (single-or-super-channel)? 863 | +-:(single) 864 | | +-rw channel-freq? frequency-thz 865 | +-:(super) 866 | +-rw subcarrier-channels* frequency-thz 867 +-:(cwdm) 868 +-rw channel-wavelength? uint32 870 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 871 point/tet:local-link-connectivities/tet:local-link- 872 connectivity/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 873 metric/tet:explicit-route-include-objects/tet:route-object-include- 874 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 875 +-:(wson) 876 +-rw (grid-type)? 877 +-:(dwdm) 878 | +-rw (single-or-super-channel)? 879 | +-:(single) 880 | | +-rw channel-freq? frequency-thz 881 | +-:(super) 882 | +-rw subcarrier-channels* frequency-thz 883 +-:(cwdm) 884 +-rw channel-wavelength? uint32 885 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 886 point/tet:local-link-connectivities/tet:local-link-connectivity/tet:path- 887 properties/tet:path-route-objects/tet:path-route- 888 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 889 +-:(wson) 890 +-ro (grid-type)? 891 +-:(dwdm) 892 | +-ro (single-or-super-channel)? 893 | +-:(single) 894 | | +-ro channel-freq? frequency-thz 895 | +-:(super) 896 | +-ro subcarrier-channels* frequency-thz 897 +-:(cwdm) 898 +-ro channel-wavelength? uint32 899 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- 900 attributes/tet:underlay/tet:primary-path/tet:path- 901 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 902 +-:(wson) 903 +-rw (grid-type)? 904 +-:(dwdm) 905 | +-rw (single-or-super-channel)? 906 | +-:(single) 907 | | +-rw channel-freq? frequency-thz 908 | +-:(super) 909 | +-rw subcarrier-channels* frequency-thz 910 +-:(cwdm) 911 +-rw channel-wavelength? uint32 912 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- 913 attributes/tet:underlay/tet:backup-path/tet:path- 914 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 915 +-:(wson) 916 +-rw (grid-type)? 917 +-:(dwdm) 918 | +-rw (single-or-super-channel)? 919 | +-:(single) 920 | | +-rw channel-freq? frequency-thz 921 | +-:(super) 922 | +-rw subcarrier-channels* frequency-thz 923 +-:(cwdm) 924 +-rw channel-wavelength? uint32 925 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label- 926 restrictions/tet:label-restriction: 927 +-rw grid-type? identityref 928 +-rw priority? uint8 929 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label- 930 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 931 +-:(wson) 932 +-rw (grid-type)? 933 +-:(dwdm) 934 | +-rw channel-freq? frequency-thz 935 +-:(cwdm) 936 +-rw channel-wavelength? uint32 937 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label- 938 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 939 +-:(wson) 940 +-rw (grid-type)? 941 +-:(dwdm) 942 | +-rw channel-freq? frequency-thz 943 +-:(cwdm) 944 +-rw channel-wavelength? uint32 945 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 946 entry/tet:label-restrictions/tet:label-restriction: 947 +-ro grid-type? identityref 948 +-ro priority? uint8 949 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 950 entry/tet:label-restrictions/tet:label-restriction/tet:label-start/tet:te- 951 label/tet:technology: 952 +-:(wson) 953 +-ro (grid-type)? 954 +-:(dwdm) 955 | +-ro channel-freq? frequency-thz 956 +-:(cwdm) 957 +-ro channel-wavelength? uint32 958 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 959 entry/tet:label-restrictions/tet:label-restriction/tet:label-end/tet:te- 960 label/tet:technology: 961 +-:(wson) 962 +-ro (grid-type)? 963 +-:(dwdm) 964 | +-ro channel-freq? frequency-thz 965 +-:(cwdm) 966 +-ro channel-wavelength? uint32 968 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 969 attributes/tet:underlay/tet:primary-path/tet:path- 970 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 971 +-:(wson) 972 +-rw (grid-type)? 973 +-:(dwdm) 974 | +-rw (single-or-super-channel)? 975 | +-:(single) 976 | | +-rw channel-freq? frequency-thz 977 | +-:(super) 978 | +-rw subcarrier-channels* frequency-thz 979 +-:(cwdm) 980 +-rw channel-wavelength? uint32 981 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 982 attributes/tet:underlay/tet:backup-path/tet:path- 983 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 984 +-:(wson) 985 +-rw (grid-type)? 986 +-:(dwdm) 987 | +-rw (single-or-super-channel)? 988 | +-:(single) 989 | | +-rw channel-freq? frequency-thz 990 | +-:(super) 991 | +-rw subcarrier-channels* frequency-thz 992 +-:(cwdm) 993 +-rw channel-wavelength? uint32 994 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 995 attributes/tet:label-restrictions/tet:label-restriction: 996 +-rw grid-type? identityref 997 +-rw priority? uint8 998 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 999 attributes/tet:label-restrictions/tet:label-restriction/tet:label-start/tet:te- 1000 label/tet:technology: 1001 +-:(wson) 1002 +-rw (grid-type)? 1003 +-:(dwdm) 1004 | +-rw channel-freq? frequency-thz 1005 +-:(cwdm) 1006 +-rw channel-wavelength? uint32 1007 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 1008 attributes/tet:label-restrictions/tet:label-restriction/tet:label-end/tet:te- 1009 label/tet:technology: 1010 +-:(wson) 1011 +-rw (grid-type)? 1012 +-:(dwdm) 1013 | +-rw channel-freq? frequency-thz 1014 +-:(cwdm) 1015 +-rw channel-wavelength? uint32 1017 3. IETF-WSON-Topology YANG Model 1019 file "ietf-wson-topology@2018-12-03.yang" 1021 module ietf-wson-topology { 1023 yang-version 1.1; 1025 namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology"; 1027 prefix "wson"; 1029 import ietf-network { 1030 prefix "nw"; 1031 reference 1032 "RFC 8345: A YANG Data Model for Network Topologies"; 1033 } 1035 import ietf-network-topology { 1036 prefix "nt"; 1037 reference 1038 "RFC 8345: A YANG Data Model for Network Topologies"; 1039 } 1041 import ietf-te-topology { 1042 prefix "tet"; 1043 reference 1044 "RFC YYYY: YANG Data Model for 1045 Traffic Engineering (TE) Topologies"; 1046 } 1048 /* Note: The RFC Editor will replace YYYY with the number assigned to 1049 the RFC once draft-ietf-teas-yang-te-topo becomes an RFC.*/ 1051 import ietf-layer0-types { 1052 prefix "layer0-types"; 1053 reference 1054 "RFC XXXX: A YANG Data Model for WSON 1055 (Wavelength Switched Optical Networks)"; 1056 } 1058 /* Note: The RFC Editor will replace XXXX with the number assigned to 1059 the RFC once draft-ietf-ccamp-wson-yang becomes an RFC.*/ 1061 organization 1062 "IETF CCAMP Working Group"; 1064 contact 1065 "Editor: Young Lee 1066 Editor: Aihua Guo "; 1068 description 1069 "This module provides a YANG data model for the routing and 1070 wavelength assignment (RWA) Traffic Engineering (TE) 1071 topology in wavelength switched optical networks (WSONs). 1072 The YANG model described in this document is a WSON 1073 technology-specific YANG model augmenting the generic TE 1074 topology module [TE-TOPO] based on the information model 1075 developed in [RFC7446] and the two encoding documents 1076 [RFC7581] and [RFC7579] that developed protocol independent 1077 encodings based on [RFC7446]. 1079 Copyright (c) 2018 IETF Trust and the persons identified 1080 as authors of the code. All rights reserved. 1082 Redistribution and use in source and binary forms, with 1083 or without modification, is permitted pursuant to, and 1084 subject to the license terms contained in, the Simplified 1085 BSD License set forth in Section 4.c of the IETF Trust's 1086 Legal Provisions Relating to IETF Documents 1087 (http://trustee.ietf.org/license-info)."; 1089 revision 2018-12-03 { 1090 description 1091 "Initial Version"; 1093 reference 1094 "RFC XXXX: A YANG Data Model for WSON (Wavelenghth Switched 1095 Optical Networks)"; 1096 } 1098 /* 1099 * Groupings 1100 */ 1101 grouping wson-node-attributes { 1102 description "WSON node attributes"; 1103 container wson-node { 1104 description "WSON node attrtibutes"; 1105 leaf node-type { 1106 type identityref { 1107 base layer0-types:layer0-node-type; 1108 } 1109 description "WSON node type"; 1111 } 1112 } 1113 } 1115 grouping wson-link-attributes { 1116 description 1117 "Future WSON link attributes extensions"; 1118 } 1120 grouping wson-tp-attributes { 1121 description "wson-tp-attributes"; 1123 list supported-payload-types { 1124 key "index"; 1125 description 1126 "Supported payload types of a TP (Termination Point). 1127 The payload type is defined as the generalized PIDs 1128 (Payload Identifiers) in GMPLS"; 1129 leaf index { 1130 type uint16; 1131 description "payload type index"; 1132 } 1133 leaf payload-type { 1134 type string; 1135 description "the payload type supported by this client TP"; 1136 reference 1137 "http://www.iana.org/assignments/gmpls-sig-parameters 1138 /gmpls-sig-parameters.xhtml"; 1139 } 1140 } 1141 leaf client-facing { 1142 type boolean; 1143 default 'false'; 1144 description 1145 "Indicates if it is a client-facing TP"; 1146 } 1147 } 1149 grouping wson-ttp-attributes { 1150 description 1151 "WSON tunnel termination point (e.g., tranponder) attributes"; 1153 leaf-list supported-operational-modes { 1154 type layer0-types:operational-mode; 1155 description 1156 "List of all supported vendor-specific 1157 mode identifiers"; 1159 } 1161 leaf configured-operational-modes { 1162 type layer0-types:operational-mode; 1163 description 1164 "Vendor-specific mode identifier configured 1165 on the TTP (TE-tunnel Termination Point)"; 1166 } 1168 leaf-list supported-fec-types { 1169 type identityref { 1170 base layer0-types:fec-type; 1171 } 1172 description 1173 "List of all supported FEC (Forward Error Correction) 1174 types by this TTP"; 1175 } 1177 leaf-list supported-termination-types { 1178 type identityref { 1179 base layer0-types:term-type; 1180 } 1181 description 1182 "List of all supported termination types by this TTP"; 1183 } 1185 leaf supports-bit-stuffing { 1186 type boolean; 1187 description 1188 "Indicates whether bit stuffing is supported by this TTP"; 1189 } 1191 leaf is-tunable { 1192 type boolean; 1193 description 1194 "Indicates if the TTP, or transponder, is tunable. Tunable 1195 transponders are assumed to be fully tunable to any of the 1196 96 channels within DWDM C-band"; 1197 } 1199 leaf max-subcarrier-channel-num { 1200 type uint8 { 1201 range "1..max"; 1202 } 1203 default 1; 1204 description 1205 "Indicates the maximum number of subcarrier channels for 1206 super-channel transponders. When the value equals 1 it 1207 represents regular single-channel transponder"; 1208 } 1209 } 1211 /* 1212 * Data nodes 1213 */ 1215 augment "/nw:networks/nw:network/nw:network-types" 1216 + "/tet:te-topology" { 1217 description "wson-topology augmented"; 1218 container wson-topology { 1219 presence "indicates a topology of WSON"; 1220 description 1221 "Container to identify WSON topology type"; 1222 } 1223 } 1225 augment "/nw:networks/nw:network/nt:link/tet:te" 1226 + "/tet:te-link-attributes" { 1227 when "/nw:networks/nw:network/nw:network-types" 1228 +"/tet:te-topology/wson:wson-topology" { 1229 description "This augment is only valid for WSON"; 1230 } 1231 description "WSON Link augmentation."; 1232 uses wson-link-attributes; 1233 } 1235 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 1236 + "tet:te" { 1237 when "/nw:networks/nw:network/nw:network-types" 1238 +"/tet:te-topology/wson:wson-topology" { 1239 description "This augment is only valid for WSON"; 1240 } 1241 description "WSON TP attributes"; 1242 uses wson-tp-attributes; 1243 } 1245 augment "/nw:networks/nw:network/nw:node/tet:te" 1246 + "/tet:te-node-attributes" { 1247 when "/nw:networks/nw:network/nw:network-types" 1248 +"/tet:te-topology/wson:wson-topology" { 1249 description "This augment is only valid for WSON"; 1250 } 1251 description "WSON Node augmentation"; 1252 uses wson-node-attributes; 1253 } 1255 augment "/nw:networks/nw:network/nw:node/tet:te" 1256 + "/tet:tunnel-termination-point" { 1257 when "/nw:networks/nw:network/nw:network-types" 1258 +"/tet:te-topology/wson:wson-topology" { 1259 description "This augment is only valid for WSON"; 1260 } 1261 description "WSON tunnel termination point augmentation"; 1262 uses wson-ttp-attributes; 1263 } 1265 /* 1266 * Augment TE bandwidth 1267 */ 1269 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 1270 + "tet:te/" 1271 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 1272 + "tet:te-bandwidth/tet:technology" { 1273 when "../../../../../../nw:network-types/tet:te-topology/" 1274 + "wson:wson-topology" { 1275 description "Augment WSON TE bandwidth"; 1276 } 1277 description 1278 "Augment maximum LSP WSON bandwidth of link termination point 1279 (LTP)"; 1280 case wson { 1281 uses layer0-types:wson-path-bandwidth; 1282 } 1283 } 1285 augment "/nw:networks/nw:network/nw:node/tet:te/" 1286 + "tet:te-node-attributes/tet:connectivity-matrices/" 1287 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1288 when "../../../../../../nw:network-types/tet:te-topology/" 1289 + "wson:wson-topology" { 1290 description "Augment WSON TE bandwidth"; 1291 } 1292 description 1293 "Augment WSON bandwidth path constraints of 1294 connectivity-matrices"; 1295 case wson { 1296 uses layer0-types:wson-link-bandwidth; 1297 } 1298 } 1299 augment "/nw:networks/nw:network/nw:node/tet:te/" 1300 + "tet:te-node-attributes/tet:connectivity-matrices/" 1301 + "tet:connectivity-matrix/" 1302 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1303 when "../../../../../../../nw:network-types/tet:te-topology/" 1304 + "wson:wson-topology" { 1305 description "Augment WSON TE bandwidth"; 1306 } 1307 description 1308 "Augment WSON bandwidth path constraints of 1309 connectivity-matrix"; 1310 case wson { 1311 uses layer0-types:wson-link-bandwidth; 1312 } 1313 } 1315 augment "/nw:networks/nw:network/nw:node/tet:te/" 1316 + "tet:information-source-entry/tet:connectivity-matrices/" 1317 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1318 when "../../../../../../nw:network-types/tet:te-topology/" 1319 + "wson:wson-topology" { 1320 description "Augment WSON TE bandwidth"; 1321 } 1322 description 1323 "Augment WSON bandwidth path constraints of 1324 connectivity-matrices information-source"; 1325 case wson { 1326 uses layer0-types:wson-link-bandwidth; 1327 } 1328 } 1330 augment "/nw:networks/nw:network/nw:node/tet:te/" 1331 + "tet:information-source-entry/tet:connectivity-matrices/" 1332 + "tet:connectivity-matrix/" 1333 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1334 when "../../../../../../../nw:network-types/tet:te-topology/" 1335 + "wson:wson-topology" { 1336 description "Augment WSON TE bandwidth"; 1337 } 1338 description 1339 "Augment WSON bandwidth path constraints of 1340 connectivity-matrix information-source"; 1341 case wson { 1342 uses layer0-types:wson-link-bandwidth; 1343 } 1344 } 1345 augment "/nw:networks/nw:network/nw:node/tet:te/" 1346 + "tet:tunnel-termination-point/" 1347 + "tet:client-layer-adaptation/tet:switching-capability/" 1348 + "tet:te-bandwidth/tet:technology" { 1349 when "../../../../../../nw:network-types/tet:te-topology/" 1350 + "wson:wson-topology" { 1351 description "Augment WSON TE bandwidth"; 1352 } 1353 description 1354 "Augment client WSON bandwidth of tunnel termination point 1355 (TTP)"; 1356 case wson { 1357 uses layer0-types:wson-link-bandwidth; 1358 } 1359 } 1361 augment "/nw:networks/nw:network/nw:node/tet:te/" 1362 + "tet:tunnel-termination-point/" 1363 + "tet:local-link-connectivities/tet:path-constraints/" 1364 + "tet:te-bandwidth/tet:technology" { 1365 when "../../../../../../nw:network-types/tet:te-topology/" 1366 + "wson:wson-topology" { 1367 description "Augment WSON TE bandwidth"; 1368 } 1369 description 1370 "Augment WSON bandwidth path constraints of 1371 local-link-connectivities"; 1372 case wson { 1373 uses layer0-types:wson-link-bandwidth; 1374 } 1375 } 1377 augment "/nw:networks/nw:network/nw:node/tet:te/" 1378 + "tet:tunnel-termination-point/" 1379 + "tet:local-link-connectivities/" 1380 + "tet:local-link-connectivity/tet:path-constraints/" 1381 + "tet:te-bandwidth/tet:technology" { 1382 when "../../../../../../../nw:network-types/tet:te-topology/" 1383 + "wson:wson-topology" { 1384 description "Augment WSON TE bandwidth"; 1385 } 1386 description 1387 "Augment WSON bandwidth path constraints of 1388 local-link-connectivity (LLC)"; 1389 case wson { 1390 uses layer0-types:wson-link-bandwidth; 1392 } 1393 } 1395 augment "/nw:networks/nw:network/nt:link/tet:te/" 1396 + "tet:te-link-attributes/" 1397 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 1398 + "tet:te-bandwidth/tet:technology" { 1399 when "../../../../../../nw:network-types/tet:te-topology/" 1400 + "wson:wson-topology" { 1401 description "WSON TE bandwidth"; 1402 } 1403 description "Augment maximum LSP WSON bandwidth of TE link"; 1404 case wson { 1405 uses layer0-types:wson-path-bandwidth; 1406 } 1407 } 1409 augment "/nw:networks/nw:network/nt:link/tet:te/" 1410 + "tet:te-link-attributes/" 1411 + "tet:max-link-bandwidth/" 1412 + "tet:te-bandwidth/tet:technology" { 1413 when "../../../../../nw:network-types/tet:te-topology/" 1414 + "wson:wson-topology" { 1415 description "WSON TE bandwidth"; 1416 } 1417 description 1418 "Augment maximum WSON bandwidth of TE link"; 1419 case wson { 1420 uses layer0-types:wson-link-bandwidth; 1421 } 1422 } 1424 augment "/nw:networks/nw:network/nt:link/tet:te/" 1425 + "tet:te-link-attributes/" 1426 + "tet:max-resv-link-bandwidth/" 1427 + "tet:te-bandwidth/tet:technology" { 1428 when "../../../../../nw:network-types/tet:te-topology/" 1429 + "wson:wson-topology" { 1430 description "WSON TE bandwidth"; 1431 } 1432 description 1433 "Augment maximum reservable WSON bandwidth of 1434 TE link"; 1435 case wson { 1436 uses layer0-types:wson-link-bandwidth; 1437 } 1438 } 1439 augment "/nw:networks/nw:network/nt:link/tet:te/" 1440 + "tet:te-link-attributes/" 1441 + "tet:unreserved-bandwidth/" 1442 + "tet:te-bandwidth/tet:technology" { 1443 when "../../../../../nw:network-types/tet:te-topology/" 1444 + "wson:wson-topology" { 1445 description "WSON TE bandwidth"; 1446 } 1447 description 1448 "Augment unreserved WSON bandwidth of TE Link"; 1449 case wson { 1450 uses layer0-types:wson-link-bandwidth; 1451 } 1452 } 1454 augment "/nw:networks/nw:network/nt:link/tet:te/" 1455 + "tet:information-source-entry/" 1456 + "tet:interface-switching-capability/" 1457 + "tet:max-lsp-bandwidth/" 1458 + "tet:te-bandwidth/tet:technology" { 1459 when "../../../../../../nw:network-types/tet:te-topology/" 1460 + "wson:wson-topology" { 1461 description "WSON TE bandwidth"; 1462 } 1463 description 1464 "Augment maximum LSP WSON bandwidth of TE link 1465 information-source"; 1466 case wson { 1467 uses layer0-types:wson-path-bandwidth; 1468 } 1469 } 1471 augment "/nw:networks/nw:network/nt:link/tet:te/" 1472 + "tet:information-source-entry/" 1473 + "tet:max-link-bandwidth/" 1474 + "tet:te-bandwidth/tet:technology" { 1475 when "../../../../../nw:network-types/tet:te-topology/" 1476 + "wson:wson-topology" { 1477 description "WSON TE bandwidth"; 1478 } 1479 description 1480 "Augment maximum WSON bandwidth of TE link 1481 information-source"; 1482 case wson { 1483 uses layer0-types:wson-link-bandwidth; 1484 } 1486 } 1488 augment "/nw:networks/nw:network/nt:link/tet:te/" 1489 + "tet:information-source-entry/" 1490 + "tet:max-resv-link-bandwidth/" 1491 + "tet:te-bandwidth/tet:technology" { 1492 when "../../../../../nw:network-types/tet:te-topology/" 1493 + "wson:wson-topology" { 1494 description "WSON TE bandwidth"; 1495 } 1496 description 1497 "Augment maximum reservable WSON bandwidth of TE link 1498 information-source"; 1499 case wson { 1500 uses layer0-types:wson-link-bandwidth; 1501 } 1502 } 1504 augment "/nw:networks/nw:network/nt:link/tet:te/" 1505 + "tet:information-source-entry/" 1506 + "tet:unreserved-bandwidth/" 1507 + "tet:te-bandwidth/tet:technology" { 1508 when "../../../../../nw:network-types/tet:te-topology/" 1509 + "wson:wson-topology" { 1510 description "WSON TE bandwidth"; 1511 } 1512 description 1513 "Augment unreserved WSON bandwidth of TE link 1514 information-source"; 1515 case wson { 1516 uses layer0-types:wson-link-bandwidth; 1517 } 1518 } 1520 augment "/nw:networks/tet:te/tet:templates/" 1521 + "tet:link-template/tet:te-link-attributes/" 1522 + "tet:interface-switching-capability/" 1523 + "tet:max-lsp-bandwidth/" 1524 + "tet:te-bandwidth/tet:technology" { 1525 description 1526 "Augment maximum WSON LSP bandwidth of TE link 1527 template"; 1528 case wson { 1529 uses layer0-types:wson-path-bandwidth; 1530 } 1531 } 1532 augment "/nw:networks/tet:te/tet:templates/" 1533 + "tet:link-template/tet:te-link-attributes/" 1534 + "tet:max-link-bandwidth/" 1535 + "tet:te-bandwidth/tet:technology" { 1536 description 1537 "Augment maximum WSON bandwidth of TE link template"; 1538 case wson { 1539 uses layer0-types:wson-link-bandwidth; 1540 } 1541 } 1543 augment "/nw:networks/tet:te/tet:templates/" 1544 + "tet:link-template/tet:te-link-attributes/" 1545 + "tet:max-resv-link-bandwidth/" 1546 + "tet:te-bandwidth/tet:technology" { 1547 description 1548 "Augment maximum reservable WSON bandwidth of TE link 1549 template"; 1550 case wson { 1551 uses layer0-types:wson-link-bandwidth; 1552 } 1553 } 1555 augment "/nw:networks/tet:te/tet:templates/" 1556 + "tet:link-template/tet:te-link-attributes/" 1557 + "tet:unreserved-bandwidth/" 1558 + "tet:te-bandwidth/tet:technology" { 1559 description 1560 "Augment unreserved WSON bandwidth of TE link template"; 1561 case wson { 1562 uses layer0-types:wson-link-bandwidth; 1563 } 1564 } 1566 /* 1567 * Augment TE label. 1568 */ 1570 augment "/nw:networks/nw:network/nw:node/tet:te/" 1571 + "tet:te-node-attributes/tet:connectivity-matrices/" 1572 + "tet:label-restrictions/tet:label-restriction" { 1573 when "../../../../../../nw:network-types/tet:te-topology/" 1574 + "wson:wson-topology" { 1575 description "Augment WSON TE label"; 1576 } 1577 description 1578 "Augment WSON label restrictions of connectivity-matrices"; 1580 uses layer0-types:layer0-label-restriction; 1581 } 1583 augment "/nw:networks/nw:network/nw:node/tet:te/" 1584 + "tet:te-node-attributes/tet:connectivity-matrices/" 1585 + "tet:label-restrictions/tet:label-restriction/" 1586 + "tet:label-start/" 1587 + "tet:te-label/tet:technology" { 1588 when "../../../../../../../../nw:network-types/tet:te-topology/" 1589 + "wson:wson-topology" { 1590 description "Augment WSON TE label"; 1591 } 1592 description 1593 "Augment WSON label restrictions start of 1594 connectivity-matrices"; 1595 case wson { 1596 uses layer0-types:wson-link-label; 1597 } 1598 } 1600 augment "/nw:networks/nw:network/nw:node/tet:te/" 1601 + "tet:te-node-attributes/tet:connectivity-matrices/" 1602 + "tet:label-restrictions/" 1603 + "tet:label-restriction/tet:label-end/" 1604 + "tet:te-label/tet:technology" { 1605 when "../../../../../../../../" 1606 + "nw:network-types/tet:te-topology/" 1607 + "wson:wson-topology" { 1608 description "Augment WSON TE label"; 1609 } 1610 description 1611 "Augment WSON label restrictions end of 1612 connectivity-matrices"; 1613 case wson { 1614 uses layer0-types:wson-link-label; 1615 } 1616 } 1618 augment "/nw:networks/nw:network/nw:node/tet:te/" 1619 + "tet:te-node-attributes/tet:connectivity-matrices/" 1620 + "tet:underlay/tet:primary-path/tet:path-element/" 1621 + "tet:type/tet:label/tet:label-hop/" 1622 + "tet:te-label/tet:technology" { 1623 when "../../../../../../../../../" 1624 + "nw:network-types/tet:te-topology/" 1625 + "wson:wson-topology" { 1626 description "Augment WSON TE label"; 1628 } 1629 description 1630 "Augment WSON label hop of underlay primary path of 1631 connectivity-matrices"; 1632 case wson { 1633 uses layer0-types:wson-path-label; 1634 } 1635 } 1637 augment "/nw:networks/nw:network/nw:node/tet:te/" 1638 + "tet:te-node-attributes/tet:connectivity-matrices/" 1639 + "tet:underlay/tet:backup-path/tet:path-element/" 1640 + "tet:type/tet:label/tet:label-hop/" 1641 + "tet:te-label/tet:technology" { 1642 when "../../../../../../../../../" 1643 + "nw:network-types/tet:te-topology/" 1644 + "wson:wson-topology" { 1645 description "Augment WSON TE label"; 1646 } 1647 description 1648 "Augment WSON label hop of underlay backup path of 1649 connectivity-matrices"; 1650 case wson { 1651 uses layer0-types:wson-path-label; 1652 } 1653 } 1655 augment "/nw:networks/nw:network/nw:node/tet:te/" 1656 + "tet:te-node-attributes/tet:connectivity-matrices/" 1657 + "tet:optimizations/tet:algorithm/tet:metric/" 1658 + "tet:optimization-metric/" 1659 + "tet:explicit-route-exclude-objects/" 1660 + "tet:route-object-exclude-object/" 1661 + "tet:type/tet:label/tet:label-hop/" 1662 + "tet:te-label/tet:technology" { 1663 when "../../../../../../../../../../" 1664 + "nw:network-types/tet:te-topology/" 1665 + "wson:wson-topology" { 1666 description "Augment WSON TE label"; 1667 } 1668 description 1669 "Augment WSON label hop of route-exclude of 1670 connectivity-matrices"; 1671 case wson { 1672 uses layer0-types:wson-path-label; 1673 } 1674 } 1675 augment "/nw:networks/nw:network/nw:node/tet:te/" 1676 + "tet:te-node-attributes/tet:connectivity-matrices/" 1677 + "tet:optimizations/tet:algorithm/tet:metric/" 1678 + "tet:optimization-metric/" 1679 + "tet:explicit-route-include-objects/" 1680 + "tet:route-object-include-object/" 1681 + "tet:type/tet:label/tet:label-hop/" 1682 + "tet:te-label/tet:technology" { 1683 when "../../../../../../../../../../" 1684 + "nw:network-types/tet:te-topology/" 1685 + "wson:wson-topology" { 1686 description "Augment WSON TE label"; 1687 } 1688 description 1689 "Augment WSON label hop of route-include of 1690 connectivity-matrices"; 1691 case wson { 1692 uses layer0-types:wson-path-label; 1693 } 1694 } 1696 augment "/nw:networks/nw:network/nw:node/tet:te/" 1697 + "tet:te-node-attributes/tet:connectivity-matrices/" 1698 + "tet:path-properties/tet:path-route-objects/" 1699 + "tet:path-route-object/tet:type/tet:label/tet:label-hop/" 1700 + "tet:te-label/tet:technology"{ 1701 when "../../../../../../../../../" 1702 + "nw:network-types/tet:te-topology/" 1703 + "wson:wson-topology" { 1704 description "Augment WSON TE label"; 1705 } 1706 description 1707 "Augment WSON label hop of path-route of 1708 connectivity-matrices"; 1709 case wson { 1710 uses layer0-types:wson-path-label; 1711 } 1712 } 1714 augment "/nw:networks/nw:network/nw:node/tet:te/" 1715 + "tet:te-node-attributes/tet:connectivity-matrices/" 1716 + "tet:connectivity-matrix/tet:from/" 1717 + "tet:label-restrictions/tet:label-restriction" { 1718 when "../../../../../../../../" 1719 + "nw:network-types/tet:te-topology/" 1720 + "wson:wson-topology" { 1722 description "Augment WSON TE label"; 1723 } 1724 description 1725 "Augment ingress WSON label restrictions of 1726 connectivity-matrix"; 1727 uses layer0-types:layer0-label-restriction; 1728 } 1730 augment "/nw:networks/nw:network/nw:node/tet:te/" 1731 + "tet:te-node-attributes/tet:connectivity-matrices/" 1732 + "tet:connectivity-matrix/tet:from/" 1733 + "tet:label-restrictions/tet:label-restriction/" 1734 + "tet:label-start/" 1735 + "tet:te-label/tet:technology" { 1736 when "../../../../../../../../../../" 1737 + "nw:network-types/tet:te-topology/" 1738 + "wson:wson-topology" { 1739 description "Augment WSON TE label"; 1740 } 1741 description 1742 "Augment ingress WSON label restrictions start of 1743 connectivity-matrix "; 1744 case wson { 1745 uses layer0-types:wson-link-label; 1746 } 1747 } 1749 augment "/nw:networks/nw:network/nw:node/tet:te/" 1750 + "tet:te-node-attributes/tet:connectivity-matrices/" 1751 + "tet:connectivity-matrix/tet:from/" 1752 + "tet:label-restrictions/tet:label-restriction/" 1753 + "tet:label-end/" 1754 + "tet:te-label/tet:technology" { 1755 when "../../../../../../../../../../" 1756 + "nw:network-types/tet:te-topology/" 1757 + "wson:wson-topology" { 1758 description "Augment WSON TE label"; 1759 } 1760 description 1761 "Augment ingress WSON label restrictions end of 1762 connectivity-matrix"; 1763 case wson { 1764 uses layer0-types:wson-link-label; 1765 } 1766 } 1768 augment "/nw:networks/nw:network/nw:node/tet:te/" 1769 + "tet:te-node-attributes/tet:connectivity-matrices/" 1770 + "tet:connectivity-matrix/tet:to/" 1771 + "tet:label-restrictions/tet:label-restriction" { 1772 when "../../../../../../../../" 1773 + "nw:network-types/tet:te-topology/" 1774 + "wson:wson-topology" { 1775 description "Augment WSON TE label"; 1776 } 1777 description 1778 "Augment egress WSON label restrictions of 1779 connectivity-matrix"; 1780 uses layer0-types:layer0-label-restriction; 1781 } 1783 augment "/nw:networks/nw:network/nw:node/tet:te/" 1784 + "tet:te-node-attributes/tet:connectivity-matrices/" 1785 + "tet:connectivity-matrix/tet:to/" 1786 + "tet:label-restrictions/tet:label-restriction/" 1787 + "tet:label-start/" 1788 + "tet:te-label/tet:technology" { 1789 when "../../../../../../../../../../" 1790 + "nw:network-types/tet:te-topology/" 1791 + "wson:wson-topology" { 1792 description "Augment WSON TE label"; 1793 } 1794 description 1795 "Augment egress WSON label restrictions start of 1796 connectivity-matrix"; 1797 case wson { 1798 uses layer0-types:wson-link-label; 1799 } 1800 } 1802 augment "/nw:networks/nw:network/nw:node/tet:te/" 1803 + "tet:te-node-attributes/tet:connectivity-matrices/" 1804 + "tet:connectivity-matrix/tet:to/" 1805 + "tet:label-restrictions/tet:label-restriction/" 1806 + "tet:label-end/" 1807 + "tet:te-label/tet:technology" { 1808 when "../../../../../../../../../../" 1809 + "nw:network-types/tet:te-topology/" 1810 + "wson:wson-topology" { 1811 description "Augment WSON TE label"; 1812 } 1813 description 1814 "Augment egress WSON label restrictions end of 1815 connectivity-matrix"; 1817 case wson { 1818 uses layer0-types:wson-link-label; 1819 } 1820 } 1822 augment "/nw:networks/nw:network/nw:node/tet:te/" 1823 + "tet:te-node-attributes/tet:connectivity-matrices/" 1824 + "tet:connectivity-matrix/" 1825 + "tet:underlay/tet:primary-path/tet:path-element/" 1826 + "tet:type/tet:label/tet:label-hop/" 1827 + "tet:te-label/tet:technology" { 1828 when "../../../../../../../../../../" 1829 + "nw:network-types/tet:te-topology/" 1830 + "wson:wson-topology" { 1831 description "Augment WSON TE label"; 1832 } 1833 description 1834 "Augment WSON label hop of underlay primary path of 1835 connectivity-matrix"; 1836 case wson { 1837 uses layer0-types:wson-path-label; 1838 } 1839 } 1841 augment "/nw:networks/nw:network/nw:node/tet:te/" 1842 + "tet:te-node-attributes/tet:connectivity-matrices/" 1843 + "tet:connectivity-matrix/" 1844 + "tet:underlay/tet:backup-path/tet:path-element/" 1845 + "tet:type/tet:label/tet:label-hop/" 1846 + "tet:te-label/tet:technology" { 1847 when "../../../../../../../../../../" 1848 + "nw:network-types/tet:te-topology/" 1849 + "wson:wson-topology" { 1850 description "Augment WSON TE label"; 1851 } 1852 description 1853 "Augment WSON label hop of underlay backup path of 1854 connectivity-matrix"; 1855 case wson { 1856 uses layer0-types:wson-path-label; 1857 } 1858 } 1860 augment "/nw:networks/nw:network/nw:node/tet:te/" 1861 + "tet:te-node-attributes/tet:connectivity-matrices/" 1862 + "tet:connectivity-matrix/tet:optimizations/" 1863 + "tet:algorithm/tet:metric/tet:optimization-metric/" 1864 + "tet:explicit-route-exclude-objects/" 1865 + "tet:route-object-exclude-object/tet:type/" 1866 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1867 when "../../../../../../../../../../../" 1868 + "nw:network-types/tet:te-topology/" 1869 + "wson:wson-topology" { 1870 description "Augment WSON TE label"; 1871 } 1872 description 1873 "Augment WSON label hop of route-exclude of 1874 connectivity-matrix"; 1875 case wson { 1876 uses layer0-types:wson-path-label; 1877 } 1878 } 1880 augment "/nw:networks/nw:network/nw:node/tet:te/" 1881 + "tet:te-node-attributes/tet:connectivity-matrices/" 1882 + "tet:connectivity-matrix/tet:optimizations/" 1883 + "tet:algorithm/tet:metric/tet:optimization-metric/" 1884 + "tet:explicit-route-include-objects/" 1885 + "tet:route-object-include-object/tet:type/" 1886 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1887 when "../../../../../../../../../../../" 1888 + "nw:network-types/tet:te-topology/" 1889 + "wson:wson-topology" { 1890 description "Augment WSON TE label"; 1891 } 1892 description 1893 "Augment WSON label hop of route-include of 1894 connectivity-matrix"; 1895 case wson { 1896 uses layer0-types:wson-path-label; 1897 } 1898 } 1900 augment "/nw:networks/nw:network/nw:node/tet:te/" 1901 + "tet:te-node-attributes/tet:connectivity-matrices/" 1902 + "tet:connectivity-matrix/" 1903 + "tet:path-properties/tet:path-route-objects/" 1904 + "tet:path-route-object/tet:type/" 1905 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1906 when "../../../../../../../../../../" 1907 + "nw:network-types/tet:te-topology/" 1908 + "wson:wson-topology" { 1909 description "Augment WSON TE label"; 1910 } 1911 description 1912 "Augment WSON label hop of path-route of 1913 connectivity-matrix"; 1914 case wson { 1915 uses layer0-types:wson-path-label; 1916 } 1917 } 1919 augment "/nw:networks/nw:network/nw:node/tet:te/" 1920 + "tet:information-source-entry/" 1921 + "tet:connectivity-matrices/tet:label-restrictions/" 1922 + "tet:label-restriction" { 1923 when "../../../../../../nw:network-types/tet:te-topology/" 1924 + "wson:wson-topology" { 1925 description "Augment WSON TE label"; 1926 } 1927 description 1928 "Augment WSON label restrictions of connectivity-matrices 1929 information-source"; 1930 uses layer0-types:layer0-label-restriction; 1931 } 1933 augment "/nw:networks/nw:network/nw:node/tet:te/" 1934 + "tet:information-source-entry/" 1935 + "tet:connectivity-matrices/tet:label-restrictions/" 1936 + "tet:label-restriction/" 1937 + "tet:label-start/tet:te-label/tet:technology" { 1938 when "../../../../../../../../" 1939 + "nw:network-types/tet:te-topology/" 1940 + "wson:wson-topology" { 1941 description "Augment WSON TE label"; 1942 } 1943 description 1944 "Augment WSON label restrictions start of 1945 connectivity-matrices information-source"; 1946 case wson { 1947 uses layer0-types:wson-link-label; 1948 } 1949 } 1951 augment "/nw:networks/nw:network/nw:node/tet:te/" 1952 + "tet:information-source-entry/" 1953 + "tet:connectivity-matrices/tet:label-restrictions/" 1954 + "tet:label-restriction/" 1955 + "tet:label-end/tet:te-label/tet:technology" { 1956 when "../../../../../../../../" 1957 + "nw:network-types/tet:te-topology/" 1958 + "wson:wson-topology" { 1959 description "Augment WSON TE label"; 1960 } 1961 description 1962 "Augment WSON label restrictions end of 1963 connectivity-matrices information-source"; 1964 case wson { 1965 uses layer0-types:wson-link-label; 1966 } 1967 } 1969 augment "/nw:networks/nw:network/nw:node/tet:te/" 1970 + "tet:information-source-entry/tet:connectivity-matrices/" 1971 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 1972 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1973 when "../../../../../../../../../" 1974 + "nw:network-types/tet:te-topology/" 1975 + "wson:wson-topology" { 1976 description "Augment WSON TE label"; 1977 } 1978 description 1979 "Augment WSON label hop of underlay primary path of 1980 connectivity-matrices information-source"; 1981 case wson { 1982 uses layer0-types:wson-path-label; 1983 } 1984 } 1986 augment "/nw:networks/nw:network/nw:node/tet:te/" 1987 + "tet:information-source-entry/tet:connectivity-matrices/" 1988 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 1989 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1990 when "../../../../../../../../../" 1991 + "nw:network-types/tet:te-topology/" 1992 + "wson:wson-topology" { 1993 description "Augment WSON TE label"; 1994 } 1995 description 1996 "Augment label hop of underlay backup path of 1997 connectivity-matrices information-source"; 1998 case wson { 1999 uses layer0-types:wson-path-label; 2000 } 2001 } 2003 augment "/nw:networks/nw:network/nw:node/tet:te/" 2004 + "tet:information-source-entry/tet:connectivity-matrices/" 2005 + "tet:optimizations/tet:algorithm/tet:metric/" 2006 + "tet:optimization-metric/" 2007 + "tet:explicit-route-exclude-objects/" 2008 + "tet:route-object-exclude-object/tet:type/" 2009 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2010 when "../../../../../../../../../../" 2011 + "nw:network-types/tet:te-topology/" 2012 + "wson:wson-topology" { 2013 description "Augment WSON TE label"; 2014 } 2015 description 2016 "Augment WSON label hop of route-exclude of 2017 connectivity-matrices information-source"; 2018 case wson { 2019 uses layer0-types:wson-path-label; 2020 } 2021 } 2023 augment "/nw:networks/nw:network/nw:node/tet:te/" 2024 + "tet:information-source-entry/tet:connectivity-matrices/" 2025 + "tet:optimizations/tet:algorithm/tet:metric/" 2026 + "tet:optimization-metric/" 2027 + "tet:explicit-route-include-objects/" 2028 + "tet:route-object-include-object/tet:type/" 2029 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2030 when "../../../../../../../../../../" 2031 + "nw:network-types/tet:te-topology/" 2032 + "wson:wson-topology" { 2033 description "Augment WSON TE label"; 2034 } 2035 description 2036 "Augment WSON label hop of route-include of 2037 connectivity-matrices information-source"; 2038 case wson { 2039 uses layer0-types:wson-path-label; 2040 } 2041 } 2043 augment "/nw:networks/nw:network/nw:node/tet:te/" 2044 + "tet:information-source-entry/tet:connectivity-matrices/" 2045 + "tet:path-properties/tet:path-route-objects/" 2046 + "tet:path-route-object/tet:type/" 2047 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2048 when "../../../../../../../../../" 2049 + "nw:network-types/tet:te-topology/" 2050 + "wson:wson-topology" { 2051 description "Augment WSON TE label"; 2053 } 2054 description 2055 "Augment WSON label hop of path-route of connectivity-matrices 2056 information-source"; 2057 case wson { 2058 uses layer0-types:wson-path-label; 2059 } 2060 } 2062 augment "/nw:networks/nw:network/nw:node/tet:te/" 2063 + "tet:information-source-entry/tet:connectivity-matrices/" 2064 + "tet:connectivity-matrix/" 2065 + "tet:from/tet:label-restrictions/tet:label-restriction" { 2066 when "../../../../../../../../" 2067 + "nw:network-types/tet:te-topology/" 2068 + "wson:wson-topology" { 2069 description "Augment WSON TE label"; 2070 } 2071 description 2072 "Augment ingress WSON label restrictions of 2073 connectivity-matrix information-source"; 2074 uses layer0-types:layer0-label-restriction; 2075 } 2077 augment "/nw:networks/nw:network/nw:node/tet:te/" 2078 + "tet:information-source-entry/tet:connectivity-matrices/" 2079 + "tet:connectivity-matrix/" 2080 + "tet:from/tet:label-restrictions/" 2081 + "tet:label-restriction/" 2082 + "tet:label-start/tet:te-label/tet:technology" { 2083 when "../../../../../../../../../../" 2084 + "nw:network-types/tet:te-topology/" 2085 + "wson:wson-topology" { 2086 description "Augment WSON TE label"; 2087 } 2088 description 2089 "Augment ingress WSON label restrictions start of 2090 connectivity-matrix information-source"; 2091 case wson { 2092 uses layer0-types:wson-link-label; 2093 } 2094 } 2096 augment "/nw:networks/nw:network/nw:node/tet:te/" 2097 + "tet:information-source-entry/tet:connectivity-matrices/" 2098 + "tet:connectivity-matrix/" 2099 + "tet:from/tet:label-restrictions/" 2100 + "tet:label-restriction/" 2101 + "tet:label-end/tet:te-label/tet:technology" { 2102 when "../../../../../../../../../../" 2103 + "nw:network-types/tet:te-topology/" 2104 + "wson:wson-topology" { 2105 description "Augment WSON TE label"; 2106 } 2107 description 2108 "Augment ingress WSON label restrictions end of 2109 connectivity-matrix information-source"; 2110 case wson { 2111 uses layer0-types:wson-link-label; 2112 } 2113 } 2115 augment "/nw:networks/nw:network/nw:node/tet:te/" 2116 + "tet:information-source-entry/tet:connectivity-matrices/" 2117 + "tet:connectivity-matrix/" 2118 + "tet:to/tet:label-restrictions/tet:label-restriction" { 2119 when "../../../../../../../../" 2120 + "nw:network-types/tet:te-topology/" 2121 + "wson:wson-topology" { 2122 description "Augment WSON TE label"; 2123 } 2124 description 2125 "Augment egress WSON label restrictions of connectivity-matrix 2126 information-source"; 2127 uses layer0-types:layer0-label-restriction; 2128 } 2130 augment "/nw:networks/nw:network/nw:node/tet:te/" 2131 + "tet:information-source-entry/tet:connectivity-matrices/" 2132 + "tet:connectivity-matrix/" 2133 + "tet:to/tet:label-restrictions/tet:label-restriction/" 2134 + "tet:label-start/tet:te-label/tet:technology" { 2135 when "../../../../../../../../../../" 2136 + "nw:network-types/tet:te-topology/" 2137 + "wson:wson-topology" { 2138 description "Augment WSON TE label"; 2139 } 2140 description 2141 "Augment egress WSON label restrictions start of 2142 connectivity-matrix information-source"; 2143 case wson { 2144 uses layer0-types:wson-link-label; 2145 } 2146 } 2147 augment "/nw:networks/nw:network/nw:node/tet:te/" 2148 + "tet:information-source-entry/tet:connectivity-matrices/" 2149 + "tet:connectivity-matrix/" 2150 + "tet:to/tet:label-restrictions/tet:label-restriction/" 2151 + "tet:label-end/tet:te-label/tet:technology" { 2152 when "../../../../../../../../../../" 2153 + "nw:network-types/tet:te-topology/" 2154 + "wson:wson-topology" { 2155 description "Augment WSON TE label"; 2156 } 2157 description 2158 "Augment egress WSON label restrictions end of 2159 connectivity-matrix information-source"; 2160 case wson { 2161 uses layer0-types:wson-link-label; 2162 } 2163 } 2165 augment "/nw:networks/nw:network/nw:node/tet:te/" 2166 + "tet:information-source-entry/tet:connectivity-matrices/" 2167 + "tet:connectivity-matrix/" 2168 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2169 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2170 when "../../../../../../../../../../" 2171 + "nw:network-types/tet:te-topology/" 2172 + "wson:wson-topology" { 2173 description "Augment WSON TE label"; 2174 } 2175 description 2176 "Augment WSON label hop of underlay primary path of 2177 connectivity-matrix information-source"; 2178 case wson { 2179 uses layer0-types:wson-path-label; 2180 } 2181 } 2183 augment "/nw:networks/nw:network/nw:node/tet:te/" 2184 + "tet:information-source-entry/tet:connectivity-matrices/" 2185 + "tet:connectivity-matrix/" 2186 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2187 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2188 when "../../../../../../../../../../" 2189 + "nw:network-types/tet:te-topology/" 2190 + "wson:wson-topology" { 2191 description "Augment WSON TE label"; 2192 } 2193 description 2194 "Augment WSON label hop of underlay backup path of 2195 connectivity-matrix information-source"; 2196 case wson { 2197 uses layer0-types:wson-path-label; 2198 } 2199 } 2201 augment "/nw:networks/nw:network/nw:node/tet:te/" 2202 + "tet:information-source-entry/tet:connectivity-matrices/" 2203 + "tet:connectivity-matrix/" 2204 + "tet:optimizations/tet:algorithm/tet:metric/" 2205 + "tet:optimization-metric/" 2206 + "tet:explicit-route-exclude-objects/" 2207 + "tet:route-object-exclude-object/tet:type/" 2208 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2209 when "../../../../../../../../../../../" 2210 + "nw:network-types/tet:te-topology/" 2211 + "wson:wson-topology" { 2212 description "Augment WSON TE label"; 2213 } 2214 description 2215 "Augment label hop of route-exclude of connectivity-matrix 2216 information-source"; 2217 case wson { 2218 uses layer0-types:wson-path-label; 2219 } 2220 } 2222 augment "/nw:networks/nw:network/nw:node/tet:te/" 2223 + "tet:information-source-entry/tet:connectivity-matrices/" 2224 + "tet:connectivity-matrix/" 2225 + "tet:optimizations/tet:algorithm/tet:metric/" 2226 + "tet:optimization-metric/" 2227 + "tet:explicit-route-include-objects/" 2228 + "tet:route-object-include-object/tet:type/" 2229 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2230 when "../../../../../../../../../../../" 2231 + "nw:network-types/tet:te-topology/" 2232 + "wson:wson-topology" { 2233 description "Augment WSON TE label"; 2234 } 2235 description 2236 "Augment WSON label hop of route-include of 2237 connectivity-matrix information-source"; 2238 case wson { 2239 uses layer0-types:wson-path-label; 2241 } 2242 } 2244 augment "/nw:networks/nw:network/nw:node/tet:te/" 2245 + "tet:information-source-entry/tet:connectivity-matrices/" 2246 + "tet:connectivity-matrix/" 2247 + "tet:path-properties/tet:path-route-objects/" 2248 + "tet:path-route-object/tet:type/" 2249 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2250 when "../../../../../../../../../../" 2251 + "nw:network-types/tet:te-topology/" 2252 + "wson:wson-topology" { 2253 description "Augment WSON TE label"; 2254 } 2255 description 2256 "Augment WSON label hop of path-route of connectivity-matrix 2257 information-source"; 2258 case wson { 2259 uses layer0-types:wson-path-label; 2260 } 2261 } 2263 augment "/nw:networks/nw:network/nw:node/tet:te/" 2264 + "tet:tunnel-termination-point/" 2265 + "tet:local-link-connectivities/" 2266 + "tet:label-restrictions/tet:label-restriction" { 2267 when "../../../../../../nw:network-types/tet:te-topology/" 2268 + "wson:wson-topology" { 2269 description "Augment WSON TE label"; 2270 } 2271 description 2272 "Augment WSON label restrictions of 2273 local-link-connectivities"; 2274 uses layer0-types:layer0-label-restriction; 2275 } 2277 augment "/nw:networks/nw:network/nw:node/tet:te/" 2278 + "tet:tunnel-termination-point/" 2279 + "tet:local-link-connectivities/" 2280 + "tet:label-restrictions/tet:label-restriction/" 2281 + "tet:label-start/" 2282 + "tet:te-label/tet:technology" { 2283 when "../../../../../../../../" 2284 + "nw:network-types/tet:te-topology/" 2285 + "wson:wson-topology" { 2286 description "Augment WSON TE label"; 2287 } 2288 description 2289 "Augment WSON label restrictions start of 2290 local-link-connectivities"; 2291 case wson { 2292 uses layer0-types:wson-link-label; 2293 } 2294 } 2296 augment "/nw:networks/nw:network/nw:node/tet:te/" 2297 + "tet:tunnel-termination-point/" 2298 + "tet:local-link-connectivities/" 2299 + "tet:label-restrictions/tet:label-restriction/" 2300 + "tet:label-end/" 2301 + "tet:te-label/tet:technology"{ 2302 when "../../../../../../../../" 2303 + "nw:network-types/tet:te-topology/" 2304 + "wson:wson-topology" { 2305 description "Augment WSON TE label"; 2306 } 2307 description 2308 "Augment WSON label restrictions end of 2309 local-link-connectivities"; 2310 case wson { 2311 uses layer0-types:wson-link-label; 2312 } 2313 } 2315 augment "/nw:networks/nw:network/nw:node/tet:te/" 2316 + "tet:tunnel-termination-point/" 2317 + "tet:local-link-connectivities/" 2318 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2319 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2320 when "../../../../../../../../../" 2321 + "nw:network-types/tet:te-topology/" 2322 + "wson:wson-topology" { 2323 description "Augment WSON TE label"; 2324 } 2325 description 2326 "Augment WSON label hop of underlay primary path of 2327 local-link-connectivities"; 2328 case wson { 2329 uses layer0-types:wson-path-label; 2330 } 2331 } 2333 augment "/nw:networks/nw:network/nw:node/tet:te/" 2334 + "tet:tunnel-termination-point/" 2335 + "tet:local-link-connectivities/" 2336 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2337 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2338 when "../../../../../../../../../" 2339 + "nw:network-types/tet:te-topology/" 2340 + "wson:wson-topology" { 2341 description "Augment WSON TE label"; 2342 } 2343 description 2344 "Augment WSON label hop of underlay backup path of 2345 local-link-connectivities"; 2346 case wson { 2347 uses layer0-types:wson-path-label; 2348 } 2349 } 2351 augment "/nw:networks/nw:network/nw:node/tet:te/" 2352 + "tet:tunnel-termination-point/" 2353 + "tet:local-link-connectivities/" 2354 + "tet:optimizations/tet:algorithm/tet:metric/" 2355 + "tet:optimization-metric/" 2356 + "tet:explicit-route-exclude-objects/" 2357 + "tet:route-object-exclude-object/tet:type/" 2358 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2359 when "../../../../../../../../../../" 2360 + "nw:network-types/tet:te-topology/" 2361 + "wson:wson-topology" { 2362 description "Augment WSON TE label"; 2363 } 2364 description 2365 "Augment WSON label hop of route-exclude of 2366 local-link-connectivities"; 2367 case wson { 2368 uses layer0-types:wson-path-label; 2369 } 2370 } 2372 augment "/nw:networks/nw:network/nw:node/tet:te/" 2373 + "tet:tunnel-termination-point/" 2374 + "tet:local-link-connectivities/" 2375 + "tet:optimizations/tet:algorithm/tet:metric/" 2376 + "tet:optimization-metric/" 2377 + "tet:explicit-route-include-objects/" 2378 + "tet:route-object-include-object/tet:type/" 2379 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2380 when "../../../../../../../../../../" 2381 + "nw:network-types/tet:te-topology/" 2382 + "wson:wson-topology" { 2383 description "Augment WSON TE label"; 2384 } 2385 description 2386 "Augment label hop of route-include of 2387 local-link-connectivities"; 2388 case wson { 2389 uses layer0-types:wson-path-label; 2390 } 2391 } 2393 augment "/nw:networks/nw:network/nw:node/tet:te/" 2394 + "tet:tunnel-termination-point/" 2395 + "tet:local-link-connectivities/" 2396 + "tet:path-properties/tet:path-route-objects/" 2397 + "tet:path-route-object/tet:type/" 2398 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2399 when "../../../../../../../../../" 2400 + "nw:network-types/tet:te-topology/" 2401 + "wson:wson-topology" { 2402 description "Augment WSON TE label"; 2403 } 2404 description 2405 "Augment WSON label hop of path-route of 2406 local-link-connectivities"; 2407 case wson { 2408 uses layer0-types:wson-path-label; 2409 } 2410 } 2412 augment "/nw:networks/nw:network/nw:node/tet:te/" 2413 + "tet:tunnel-termination-point/" 2414 + "tet:local-link-connectivities/" 2415 + "tet:local-link-connectivity/" 2416 + "tet:label-restrictions/tet:label-restriction" { 2417 when "../../../../../../../nw:network-types/tet:te-topology/" 2418 + "wson:wson-topology" { 2419 description "Augment WSON TE label"; 2420 } 2421 description 2422 "Augment WSON label restrictions of 2423 local-link-connectivity (LLC)"; 2424 uses layer0-types:layer0-label-restriction; 2425 } 2427 augment "/nw:networks/nw:network/nw:node/tet:te/" 2428 + "tet:tunnel-termination-point/" 2429 + "tet:local-link-connectivities/" 2430 + "tet:local-link-connectivity/" 2431 + "tet:label-restrictions/tet:label-restriction/" 2432 + "tet:label-start/tet:te-label/tet:technology" { 2433 when "../../../../../../../../../" 2434 + "nw:network-types/tet:te-topology/" 2435 + "wson:wson-topology" { 2436 description "Augment WSON TE label"; 2437 } 2438 description 2439 "Augment WSON label restrictions start of 2440 local-link-connectivity (LLC)"; 2441 case wson { 2442 uses layer0-types:wson-link-label; 2443 } 2444 } 2446 augment "/nw:networks/nw:network/nw:node/tet:te/" 2447 + "tet:tunnel-termination-point/" 2448 + "tet:local-link-connectivities/" 2449 + "tet:local-link-connectivity/" 2450 + "tet:label-restrictions/tet:label-restriction/" 2451 + "tet:label-end/tet:te-label/tet:technology" { 2452 when "../../../../../../../../../" 2453 + "nw:network-types/tet:te-topology/" 2454 + "wson:wson-topology" { 2455 description "Augment WSON TE label"; 2456 } 2457 description 2458 "Augment WSON label restrictions end of 2459 local-link-connectivity (LLC)"; 2460 case wson { 2461 uses layer0-types:wson-link-label; 2462 } 2463 } 2465 augment "/nw:networks/nw:network/nw:node/tet:te/" 2466 + "tet:tunnel-termination-point/" 2467 + "tet:local-link-connectivities/" 2468 + "tet:local-link-connectivity/" 2469 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2470 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2471 when "../../../../../../../../../../" 2472 + "nw:network-types/tet:te-topology/" 2473 + "wson:wson-topology" { 2474 description "Augment WSON TE label"; 2475 } 2476 description 2477 "Augment WSON label hop of underlay primary path of 2478 local-link-connectivity (LLC)"; 2479 case wson { 2480 uses layer0-types:wson-path-label; 2481 } 2482 } 2484 augment "/nw:networks/nw:network/nw:node/tet:te/" 2485 + "tet:tunnel-termination-point/" 2486 + "tet:local-link-connectivities/" 2487 + "tet:local-link-connectivity/" 2488 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2489 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2490 when "../../../../../../../../../../" 2491 + "nw:network-types/tet:te-topology/" 2492 + "wson:wson-topology" { 2493 description "Augment WSON TE label"; 2494 } 2495 description 2496 "Augment WSON label hop of underlay backup path of 2497 local-link-connectivity (LLC)"; 2498 case wson { 2499 uses layer0-types:wson-path-label; 2500 } 2501 } 2503 augment "/nw:networks/nw:network/nw:node/tet:te/" 2504 + "tet:tunnel-termination-point/" 2505 + "tet:local-link-connectivities/" 2506 + "tet:local-link-connectivity/" 2507 + "tet:optimizations/tet:algorithm/tet:metric/" 2508 + "tet:optimization-metric/" 2509 + "tet:explicit-route-exclude-objects/" 2510 + "tet:route-object-exclude-object/tet:type/" 2511 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2512 when "../../../../../../../../../../../" 2513 + "nw:network-types/tet:te-topology/" 2514 + "wson:wson-topology" { 2515 description "Augment WSON TE label"; 2516 } 2517 description 2518 "Augment WSON label hop of route-exclude of 2519 local-link-connectivity (LLC)"; 2520 case wson { 2521 uses layer0-types:wson-path-label; 2522 } 2524 } 2526 augment "/nw:networks/nw:network/nw:node/tet:te/" 2527 + "tet:tunnel-termination-point/" 2528 + "tet:local-link-connectivities/" 2529 + "tet:local-link-connectivity/" 2530 + "tet:optimizations/tet:algorithm/tet:metric/" 2531 + "tet:optimization-metric/" 2532 + "tet:explicit-route-include-objects/" 2533 + "tet:route-object-include-object/tet:type/" 2534 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2535 when "../../../../../../../../../../../" 2536 + "nw:network-types/tet:te-topology/" 2537 + "wson:wson-topology" { 2538 description "Augment WSON TE label"; 2539 } 2540 description 2541 "Augment WSON label hop of route-include of 2542 local-link-connectivity (LLC)"; 2543 case wson { 2544 uses layer0-types:wson-path-label; 2545 } 2546 } 2548 augment "/nw:networks/nw:network/nw:node/tet:te/" 2549 + "tet:tunnel-termination-point/" 2550 + "tet:local-link-connectivities/" 2551 + "tet:local-link-connectivity/" 2552 + "tet:path-properties/tet:path-route-objects/" 2553 + "tet:path-route-object/tet:type/" 2554 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2555 when "../../../../../../../../../../" 2556 + "nw:network-types/tet:te-topology/" 2557 + "wson:wson-topology" { 2558 description "Augment WSON TE label"; 2559 } 2560 description 2561 "Augment WSON label hop of path-route of 2562 local-link-connectivity (LLC)"; 2563 case wson { 2564 uses layer0-types:wson-path-label; 2565 } 2566 } 2568 augment "/nw:networks/nw:network/nt:link/tet:te/" 2569 + "tet:te-link-attributes/" 2570 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2571 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2572 when "../../../../../../../../" 2573 + "nw:network-types/tet:te-topology/" 2574 + "wson:wson-topology" { 2575 description "Augment WSON TE label"; 2576 } 2577 description 2578 "Augment WSON label hop of underlay primary path of TE link"; 2579 case wson { 2580 uses layer0-types:wson-path-label; 2581 } 2582 } 2584 augment "/nw:networks/nw:network/nt:link/tet:te/" 2585 + "tet:te-link-attributes/" 2586 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2587 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2588 when "../../../../../../../../" 2589 + "nw:network-types/tet:te-topology/" 2590 + "wson:wson-topology" { 2591 description "Augment WSON TE label"; 2592 } 2593 description 2594 "Augment WSON label hop of underlay backup path of TE link"; 2595 case wson { 2596 uses layer0-types:wson-path-label; 2597 } 2598 } 2600 augment "/nw:networks/nw:network/nt:link/tet:te/" 2601 + "tet:te-link-attributes/" 2602 + "tet:label-restrictions/tet:label-restriction" { 2603 when "../../../../../nw:network-types/tet:te-topology/" 2604 + "wson:wson-topology" { 2605 description "Augment WSON TE label"; 2606 } 2607 description 2608 "Augment WSON label restrictions of TE link"; 2609 uses layer0-types:layer0-label-restriction; 2610 } 2612 augment "/nw:networks/nw:network/nt:link/tet:te/" 2613 + "tet:te-link-attributes/" 2614 + "tet:label-restrictions/tet:label-restriction/" 2615 + "tet:label-start/tet:te-label/tet:technology" { 2616 when "../../../../../../../nw:network-types/tet:te-topology/" 2617 + "wson:wson-topology" { 2619 description "Augment WSON TE label"; 2620 } 2621 description 2622 "Augment WSON label restrictions start of TE link"; 2623 case wson { 2624 uses layer0-types:wson-link-label; 2625 } 2626 } 2628 augment "/nw:networks/nw:network/nt:link/tet:te/" 2629 + "tet:te-link-attributes/" 2630 + "tet:label-restrictions/tet:label-restriction/" 2631 + "tet:label-end/tet:te-label/tet:technology" { 2632 when "../../../../../../../nw:network-types/tet:te-topology/" 2633 + "wson:wson-topology" { 2634 description "Augment WSON TE label"; 2635 } 2636 description 2637 "Augment WSON label restrictions end of TE link"; 2638 case wson { 2639 uses layer0-types:wson-link-label; 2640 } 2641 } 2643 augment "/nw:networks/nw:network/nt:link/tet:te/" 2644 + "tet:information-source-entry/" 2645 + "tet:label-restrictions/tet:label-restriction" { 2646 when "../../../../../nw:network-types/tet:te-topology/" 2647 + "wson:wson-topology" { 2648 description "Augment WSON TE label"; 2649 } 2650 description 2651 "Augment WSON label restrictions of TE link 2652 information-source"; 2653 uses layer0-types:layer0-label-restriction; 2654 } 2656 augment "/nw:networks/nw:network/nt:link/tet:te/" 2657 + "tet:information-source-entry/" 2658 + "tet:label-restrictions/tet:label-restriction/" 2659 + "tet:label-start/tet:te-label/tet:technology" { 2660 when "../../../../../../../nw:network-types/tet:te-topology/" 2661 + "wson:wson-topology" { 2662 description "Augment WSON TE label"; 2663 } 2664 description 2665 "Augment WSON label restrictions start of TE link 2666 information-source"; 2667 case wson { 2668 uses layer0-types:wson-link-label; 2669 } 2670 } 2672 augment "/nw:networks/nw:network/nt:link/tet:te/" 2673 + "tet:information-source-entry/" 2674 + "tet:label-restrictions/tet:label-restriction/" 2675 + "tet:label-end/tet:te-label/tet:technology" { 2676 when "../../../../../../../nw:network-types/tet:te-topology/" 2677 + "wson:wson-topology" { 2678 description "Augment WSON TE label"; 2679 } 2680 description 2681 "Augment WSON label restrictions end of TE link 2682 information-source"; 2683 case wson { 2684 uses layer0-types:wson-link-label; 2685 } 2686 } 2688 augment "/nw:networks/tet:te/tet:templates/" 2689 + "tet:link-template/tet:te-link-attributes/" 2690 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2691 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2692 description 2693 "Augment WSON label hop of underlay primary path of TE link 2694 template"; 2695 case wson { 2696 uses layer0-types:wson-path-label; 2697 } 2698 } 2700 augment "/nw:networks/tet:te/tet:templates/" 2701 + "tet:link-template/tet:te-link-attributes/" 2702 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2703 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2704 description 2705 "Augment WSON label hop of underlay backup path of TE link 2706 template"; 2707 case wson { 2708 uses layer0-types:wson-path-label; 2709 } 2710 } 2712 augment "/nw:networks/tet:te/tet:templates/" 2713 + "tet:link-template/tet:te-link-attributes/" 2714 + "tet:label-restrictions/tet:label-restriction" { 2715 description 2716 "Augment WSON label restrictions of TE link template"; 2717 uses layer0-types:layer0-label-restriction; 2718 } 2720 augment "/nw:networks/tet:te/tet:templates/" 2721 + "tet:link-template/tet:te-link-attributes/" 2722 + "tet:label-restrictions/tet:label-restriction/" 2723 + "tet:label-start/tet:te-label/tet:technology" { 2724 description 2725 "Augment WSON label restrictions start of TE link template"; 2726 case wson { 2727 uses layer0-types:wson-link-label; 2728 } 2729 } 2731 augment "/nw:networks/tet:te/tet:templates/" 2732 + "tet:link-template/tet:te-link-attributes/" 2733 + "tet:label-restrictions/tet:label-restriction/" 2734 + "tet:label-end/tet:te-label/tet:technology" { 2735 description 2736 "Augment WSON label restrictions end of TE link template"; 2737 case wson { 2738 uses layer0-types:wson-link-label; 2739 } 2740 } 2741 } 2742 2744 4. IETF-Layer0-Types YANG Model 2746 file "ietf-layer0-types@2018-11-19.yang" 2748 module ietf-layer0-types { 2749 namespace "urn:ietf:params:xml:ns:yang:ietf-layer0-types"; 2750 prefix "layer0-types"; 2752 organization 2753 "IETF CCAMP Working Group"; 2754 contact 2755 "WG Web: 2756 WG List: 2758 Editor: Aihua Guo 2759 2761 Editor: Young Lee 2762 "; 2764 description 2765 "This module defines Optical Layer 0 types. This module 2766 provides groupings that can be applicable to Layer 0 2767 Fixed Optical Networks (e.g., CWDM (Coarse Wavelength 2768 Division Multiplexing) and DWDM (Dense Wavelength Division 2769 Multiplexing)) and Flexi-grid Optical Networks. 2771 Copyright (c) 2018 IETF Trust and the persons identified 2772 as authors of the code. All rights reserved. 2774 Redistribution and use in source and binary forms, with 2775 or without modification, is permitted pursuant to, and 2776 subject to the license terms contained in, the Simplified 2777 BSD License set forth in Section 4.c of the IETF Trust's 2778 Legal Provisions Relating to IETF Documents 2779 (http://trustee.ietf.org/license-info)."; 2781 revision "2018-11-26" { 2782 description 2783 "Initial Version"; 2784 reference 2785 "RFC XXXX: A YANG Data Model for WSON (Wavelenghth Switched 2786 Optical Networks)"; 2787 } 2789 typedef operational-mode { 2790 type string; 2791 description 2792 "Vendor-specific mode that guarantees interoperability. 2793 It must be an string with the following format: 2794 B-DScW-ytz(v) where all these attributes are conformant 2795 to the ITU-T recomendation"; 2796 reference "ITU-T G.698.2 (11/2009) Section 5.3"; 2797 } 2799 typedef vendor-identifier { 2800 type string; 2801 description 2802 "vendor identifier that uses vendor-specific mode"; 2803 reference "TBD"; 2804 } 2806 typedef frequency-thz { 2807 type decimal64 { 2808 fraction-digits 5; 2809 } 2810 units THz; 2811 description 2812 "The DWDM frequency in THz, e.g., 193.12500"; 2813 reference 2814 "RFC6205"; 2815 } 2817 typedef frequency-ghz { 2818 type decimal64 { 2819 fraction-digits 5; 2820 } 2821 units GHz; 2822 description 2823 "The DWDM frequency in GHz, e.g., 193125.00"; 2824 reference 2825 "RFC6205"; 2826 } 2828 identity layer0-node-type { 2829 description 2830 "layer0 node type."; 2831 reference 2832 "RFC6163"; 2833 } 2835 identity flex-grid-node { 2836 base layer0-node-type; 2837 description 2838 "Flex Grid node"; 2839 } 2841 identity wson-node-foadm { 2842 base layer0-node-type; 2843 description 2844 "Fixed OADM (Optical Add-Drop Multiplexer) node"; 2845 } 2847 identity wson-node-roadm { 2848 base layer0-node-type; 2849 description 2850 "ROADM (Reconfigurable Optical Add-Drop Multiplexer) 2851 or OXC (Optical Cross Connect) node"; 2852 } 2854 identity wson-node-ila { 2855 base layer0-node-type; 2856 description 2857 "ILA (In-Line Amplifier) node"; 2858 } 2860 identity wavelength-assignment { 2861 description 2862 "Wavelength selection base"; 2863 } 2865 identity unspecified-wavelength-assignment { 2866 base wavelength-assignment; 2867 description 2868 "No method specified"; 2869 } 2871 identity first-fit-wavelength-asignment { 2872 base wavelength-assignment; 2873 description 2874 "All the available wavelengths are numbered, 2875 and this WA (Wavelength Assignment) method chooses 2876 the available wavelength with the lowest index"; 2877 } 2879 identity random-wavelength-asignment { 2880 base wavelength-assignment; 2881 description 2882 "This WA method chooses an available 2883 wavelength randomly"; 2884 } 2886 identity least-loaded-wavelength-asignment { 2887 base wavelength-assignment; 2888 description 2889 "This WA method selects the wavelength that 2890 has the largest residual capacity on the most loaded 2891 link along the route (in multi-fiber networks)"; 2892 } 2894 identity layer0-grid-type { 2895 description 2896 "Layer0 grid type."; 2897 } 2899 identity flex-grid-dwdm { 2900 base layer0-grid-type; 2901 description 2902 "Flex grid"; 2903 } 2904 identity wson-grid-dwdm { 2905 base layer0-grid-type; 2906 description 2907 "DWDM grid"; 2908 } 2910 identity wson-grid-cwdm { 2911 base layer0-grid-type; 2912 description 2913 "CWDM grid"; 2914 } 2916 identity term-type { 2917 description 2918 "Termination type."; 2919 } 2921 identity term-phys { 2922 base term-type; 2923 description 2924 "Physical Layer Termination"; 2925 } 2927 identity term-otu { 2928 base term-type; 2929 description 2930 "OTU (Optical Transport Unit) Termination"; 2931 } 2933 identity term-odu { 2934 base term-type; 2935 description 2936 "ODU (Optical Data Unit) Termination"; 2937 } 2939 identity term-opu { 2940 base term-type; 2941 description 2942 "OPU (Optical Payload Unit) Termination"; 2943 } 2945 identity term-section { 2946 base term-type; 2947 description 2948 "Section Layer Termination"; 2949 } 2951 identity layer0-bandwidth-type { 2952 description 2953 "Bandwidth type carried by a single wavelength channel"; 2954 } 2956 identity bw-otu1 { 2957 base layer0-bandwidth-type; 2958 description 2959 "OTU1 (2.66G)"; 2960 } 2962 identity bw-otu1e { 2963 base layer0-bandwidth-type; 2964 description 2965 "OTU1e (11.04G)"; 2966 } 2968 identity bw-otu1f { 2969 base layer0-bandwidth-type; 2970 description 2971 "OTU1f (11.27G)"; 2972 } 2974 identity bw-otu2 { 2975 base layer0-bandwidth-type; 2976 description 2977 "OTU2 (10.70G)"; 2978 } 2980 identity bw-otu2e { 2981 base layer0-bandwidth-type; 2982 description 2983 "OTU2e (11.09G)"; 2984 } 2986 identity bw-otu2f { 2987 base layer0-bandwidth-type; 2988 description 2989 "OTU2f (11.31G)"; 2990 } 2992 identity bw-otu3 { 2993 base layer0-bandwidth-type; 2994 description 2995 "OTU3 (43.01G)"; 2996 } 2998 identity bw-otu3e1 { 2999 base layer0-bandwidth-type; 3000 description 3001 "OTU3e1 (44.57G)"; 3003 } 3005 identity bw-otu3e2 { 3006 base layer0-bandwidth-type; 3007 description 3008 "OTU3e2 (44.58G)"; 3009 } 3011 identity bw-otu4 { 3012 base layer0-bandwidth-type; 3013 description 3014 "OTU4 (111.80G)"; 3015 } 3017 identity bw-otucn { 3018 base layer0-bandwidth-type; 3019 description 3020 "OTUCn (beyond 100G)"; 3021 } 3023 identity dwdm-ch-spc-type { 3024 description 3025 "DWDM channel spacing type"; 3026 } 3028 identity dwdm-100ghz { 3029 base dwdm-ch-spc-type; 3030 description 3031 "100GHz channel spacing"; 3032 } 3034 identity dwdm-50ghz { 3035 base dwdm-ch-spc-type; 3036 description 3037 "50GHz channel spacing"; 3038 } 3040 identity dwdm-25ghz { 3041 base dwdm-ch-spc-type; 3042 description 3043 "25GHz channel spacing"; 3044 } 3046 identity dwdm-12p5ghz { 3047 base dwdm-ch-spc-type; 3048 description 3049 "12.5GHz channel spacing"; 3050 } 3051 identity dwdm-6p25ghz { 3052 base dwdm-ch-spc-type; 3053 description 3054 "6.25GHz channel spacing"; 3055 } 3057 identity cwdm-ch-spc-type { 3058 description 3059 "CWDM channel spacing type."; 3060 } 3062 identity cwdm-20nm { 3063 base cwdm-ch-spc-type; 3064 description 3065 "20nm channel spacing"; 3066 } 3068 identity fec-type { 3069 description 3070 "FEC (Forward Error Correction) type"; 3071 } 3073 identity g-fec { 3074 base fec-type; 3075 description 3076 "G-FEC (Generic-FEC)"; 3077 } 3078 identity e-fec { 3079 base fec-type; 3080 description 3081 "E-FEC (Enhanced-FEC)"; 3082 } 3083 identity no-fec { 3084 base fec-type; 3085 description 3086 "No FEC"; 3087 } 3089 /* Groupings. */ 3090 grouping wson-path-bandwidth { 3091 description "WSON (Wavelength Switched Optical Network) 3092 path bandwidth attributes"; 3093 leaf bandwidth-type { 3094 type identityref { 3095 base layer0-bandwidth-type; 3096 } 3097 description "WSON bandwidth type"; 3098 } 3099 } 3100 grouping wson-link-bandwidth { 3101 description "WSON link bandwidth attributes"; 3102 leaf-list supported-bandwidth-list { 3103 type identityref { 3104 base layer0-bandwidth-type; 3105 } 3106 description "WSON bandwidth type"; 3107 } 3108 } 3110 grouping wson-link-label { 3111 description 3112 "Generic label for WSON links"; 3113 choice grid-type { 3114 description 3115 "Label for DWDM or CWDM grid"; 3116 case dwdm { 3117 leaf channel-freq { 3118 type frequency-thz; 3119 description 3120 "The DWDM fixed-grid channel frequency in THz, 3121 e.g., 193.12500"; 3122 reference 3123 "RFC6205"; 3124 } 3125 } 3126 case cwdm { 3127 leaf channel-wavelength { 3128 type uint32; 3129 units nm; 3130 description 3131 "The CWDM wavelength in nanometer, e.g., 1511"; 3132 reference 3133 "RFC6205"; 3134 } 3135 } 3136 } 3137 } 3139 grouping wson-path-label { 3140 description 3141 "Generic label for WSON paths"; 3142 choice grid-type { 3143 description 3144 "Label for DWDM or CWDM grid"; 3145 case dwdm { 3146 choice single-or-super-channel { 3147 description "single or super channel"; 3148 case single { 3149 leaf channel-freq { 3150 type frequency-thz; 3151 description 3152 "The DWDM fixed-grid channel frequency in THz, 3153 e.g., 193.12500"; 3154 } 3155 } 3156 case super { 3157 leaf-list subcarrier-channels { 3158 type frequency-thz; 3159 description 3160 "List of subcarrier channels for super channel"; 3161 } 3162 } 3163 } 3165 } 3166 case cwdm { 3167 leaf channel-wavelength { 3168 type uint32; 3169 units nm; 3170 description 3171 "The CWDM wavelength in nanometer, e.g., 1511"; 3172 reference 3173 "RFC6205"; 3174 } 3175 } 3176 } 3177 } 3179 grouping layer0-label-restriction { 3180 description 3181 "layer0 label restriction."; 3183 leaf grid-type { 3184 type identityref { 3185 base layer0-grid-type; 3186 } 3187 description "Grid type"; 3188 } 3189 leaf priority { 3190 type uint8; 3191 description "priority"; 3192 } 3193 } 3195 grouping wson-label-step { 3196 description "Label step information for WSON"; 3197 choice layer0-grid-type { 3198 description 3199 "WSON grid-type: DWDM, CWDM, etc."; 3200 case dwdm { 3201 leaf wson-dwdm { 3202 type identityref { 3203 base dwdm-ch-spc-type; 3204 } 3205 description 3206 "Label-step is the channel-spacing (GHz), e.g., 3207 100, 50, 25, or 12.5 GHz for DWDM"; 3208 reference 3209 "RFC6205"; 3210 } 3211 } 3212 case cwdm { 3213 leaf wson-cwdm { 3214 type identityref { 3215 base cwdm-ch-spc-type; 3216 } 3217 description 3218 "label-step is the channel-spacing (nm), i.e., 20 nm 3219 for CWDM, which is the only value defined for CWDM"; 3220 reference 3221 "RFC6205"; 3222 } 3223 } 3224 } 3225 } 3227 grouping flex-grid-node-attributes { 3228 description "Flex-grid node attributes"; 3230 container flex-grid-node { 3231 description "Flex-grid node attrtibutes"; 3232 leaf node-type { 3233 type identityref { 3234 base layer0-node-type; 3235 } 3236 description "Flex-grid node type"; 3237 } 3238 } 3239 } 3241 grouping flex-grid-path-bandwidth { 3242 description "Flex-grid path bandwidth attributes"; 3243 leaf bandwidth-type { 3244 type identityref { 3245 base layer0-bandwidth-type; 3247 } 3248 description "Flex-grid bandwidth type"; 3249 } 3250 } 3252 grouping flex-grid-link-bandwidth { 3253 description "flex-grid link bandwidth attributes"; 3254 leaf-list supported-bandwidth-list { 3255 type identityref { 3256 base layer0-bandwidth-type; 3257 } 3258 description "Flex-grid bandwidth type"; 3259 } 3260 } 3262 grouping flex-grid-link-label { 3263 description "Flex-grid link label."; 3264 leaf central-frequency { 3265 type frequency-thz; 3266 description 3267 "The DWDM flex-grid channel central frequency 3268 in THz, e.g., 193.12500"; 3269 reference 3270 "RFC7698"; 3271 } 3272 } 3274 grouping flex-grid-channel { 3275 description "Flex-grid channel grouping."; 3276 leaf central-frequency { 3277 type frequency-thz; 3278 description 3279 "Flex-grid central frequency in THz, e.g., 193.12500"; 3280 reference 3281 "RFC7698"; 3282 } 3284 leaf slot-width { 3285 type frequency-ghz; 3286 description 3287 "Flex-grid The DWDM slot width in GHz, e.g., 50, 100, 150"; 3288 reference 3289 "RFC7698"; 3290 } 3291 } 3293 grouping flex-grid-path-label { 3294 description "Flex-grid path label."; 3295 choice single-or-super-channel { 3296 description "single of super channel"; 3297 case single { 3298 uses flex-grid-channel; 3299 } 3300 case super { 3301 list subcarrier-channels { 3302 key central-frequency; 3303 uses flex-grid-channel; 3304 description 3305 "List of subcarrier channels for flex-grid 3306 super channel"; 3307 } 3308 } 3309 } 3310 } 3312 grouping flex-grid-label-restriction { 3313 description 3314 "Flex Grid-specific label restriction"; 3315 uses layer0-label-restriction; 3317 container flex-grid { 3318 description "flex-grid definition"; 3319 leaf nominal-central-frequency-granularity { 3320 type frequency-ghz; 3321 default 6.25; 3322 description 3323 "It is the spacing between allowed nominal central 3324 frequencies and it is set to 6.25 GHz"; 3325 reference 3326 "RFC7698"; 3327 } 3329 leaf slot-width-granularity { 3330 type frequency-ghz; 3331 default 12.5; 3332 description 3333 "Minimum space between slot widths"; 3334 reference 3335 "RFC7698"; 3336 } 3337 } 3338 } 3340 grouping flex-grid-label-step { 3341 description "Label step information for flex grid"; 3342 leaf flex { 3343 type identityref { 3344 base dwdm-ch-spc-type; 3346 } 3347 description 3348 "Label-step is the nominal central frequency 3349 granularity (GHz), e.g., 6.25 GHz"; 3350 reference 3351 "RFC7698"; 3352 } 3353 } 3354 } 3355 3357 5. Security Considerations 3359 The YANG module specified in this document defines a schema for data 3360 that is designed to be accessed via network management protocols 3361 such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF 3362 layer is the secure transport layer, and the mandatory-to-implement 3363 secure transport is Secure Shell (SSH) [RFC6242]. The lowest 3364 RESTCONF layer is HTTPS, and the mandatory-to-implement secure 3365 transport is TLS [RFC8446]. 3367 The NETCONF access control model [RFC6536] provides the means to 3368 restrict access for particular NETCONF users to a preconfigured 3369 subset of all available NETCONF protocol operations and content. The 3370 NETCONF Protocol over Secure Shell (SSH) [RFC6242] describes a 3371 method for invoking and running NETCONF within a Secure Shell (SSH) 3372 session as an SSH subsystem. The Network Configuration Access 3373 Control Model (NACM) [RFC8341] provides the means to restrict access 3374 for particular NETCONF or RESTCONF users to a preconfigured subset 3375 of all available NETCONF or RESTCONF protocol operations and 3376 content. 3378 A number of configuration data nodes defined in this document are 3379 writable/deletable (i.e., "config true"). These data nodes may be 3380 considered sensitive or vulnerable in some network environments. 3382 There are a number of data nodes defined in this YANG module that 3383 are writable/creatable/deletable (i.e., config true, which is the 3384 default). These data nodes may be considered sensitive or 3385 vulnerable in some network environments. Write operations (e.g., 3386 edit-config) to these data nodes without proper protection can have 3387 a negative effect on network operations. These are the subtrees and 3388 data nodes and their sensitivity/vulnerability: 3390 /nw:networks/nw:network/nw:network-types/tet:te-topology 3391 /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 3393 /nw:networks/nw:network/nw:node/nt:termination-point/tet:te 3395 /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 3396 /te-connectivity-matrices/te-connectivity-matrix/tet:path- 3397 constraints/tet:te-bandwidth/tet:technology 3399 /nw:networks/nw:network/nw:node/tet:te 3400 /tet:tunnel-termination-point/tet:local-link-connectivities 3401 /tet:label-restrictions/tet:label-restriction 3403 6. IANA Considerations 3405 This document registers the following namespace URIs in the IETF XML 3406 registry [RFC3688]: 3408 -------------------------------------------------------------------- 3409 URI: urn:ietf:params:xml:ns:yang: ietf-wson-topology 3410 Registrant Contact: The IESG. 3411 XML: N/A, the requested URI is an XML namespace. 3412 -------------------------------------------------------------------- 3413 URI: urn:ietf:params:xml:ns:yang: ietf-layer0-types 3414 Registrant Contact: The IESG. 3415 XML: N/A, the requested URI is an XML namespace. 3416 -------------------------------------------------------------------- 3418 This document registers the following YANG modules in the YANG 3419 Module Names registry [RFC7950] & [RFC6020]: 3421 -------------------------------------------------------------------- 3422 name: ietf-wson-topology 3423 namespace: urn:ietf:params:xml:ns:yang:ietf-wson-topology 3424 reference: RFC XXXX (TDB) 3425 -------------------------------------------------------------------- 3426 name: ietf-layer0-types 3427 namespace: urn:ietf:params:xml:ns:yang: ietf-layer0-types 3428 reference: RFC XXXX (TDB) 3430 -------------------------------------------------------------------- 3432 7. Acknowledgments 3434 This document was prepared using 2-Word-v2.0.template.dot. 3436 8. References 3438 8.1. Normative References 3440 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 3441 the Network Configuration Protocol (NETCONF)", RFC 6020, 3442 October 2010. 3444 [RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed., 3445 "Network Configuration Protocol (NETCONF)", RFC 6241, June 3446 2011. 3448 [RFC6242] M. Wasserman, "Using the NETCONF Protocol over Secure 3449 Shell (SSH)", RFC 6242, June 2011. 3451 [RFC6536] A. Bierman, M. Bjorklund, "Network Configuration Protocol 3452 (NETCONF) Access Control Model", RFC 6536, March 2012. 3454 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 3455 RFC 7950, August 2016. 3457 [RFC8040] A. Bierman, M. Bjorklund, K. Watsen, "RESTCONF Protocol", 3458 RFC 8040, January 2017. 3460 [RFC8341] A. Bierman, M. Bjorklund, "Network Configuration Access 3461 Control Model", RFC 8341, March 2018. 3463 [RFC8446] E. Rescorla, "The Transport Layer Security (TLS) Protocol 3464 Version 1.3", RFC8446, August 2018. 3466 [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work 3467 in progress: draft-ietf-teas-yang-te-topo. 3469 8.2. Informative References 3471 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 3472 Requirement Levels", BCP 14, RFC 2119, DOI 3473 10.17487/RFC2119, March 1997, . 3476 [RFC3688] M. Mealling, "The IETF XML Registry", RFC 3688, January 3477 2004. 3479 [RFC6163] Y. Lee, Ed. G. Berstein, Ed., W. Imajuku, "Framework for 3480 GMPLS and Path Computation Element (PCE) Control of 3481 Wavelength Switched Optical Networks (WSONs)", RFC 6163, 3482 April 2011. 3484 [RFC6205] T. Otani, Ed., D. Li, Ed., "Generalized Labels for Lambda- 3485 Switch-Capable (LSC) Label Switching Routers", RFC 6205, 3486 March 2011. 3488 [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and 3489 Wavelength Assignment Information Model for Wavelength 3490 Switched Optical Networks", RFC 7446, Feburary 2015. 3492 [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General Network 3493 Element Constraint Encoding for GMPLS Controlled 3494 Networks", RFC 7579, June 2015. 3496 [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and 3497 Wavelength Assignment Information Encoding for Wavelength 3498 Switched Optical Networks", RFC 7581, June 2015. 3500 [RFC7698] O. Gonzalez de Dios, Ed., R. Casellas, Ed., "Framework and 3501 Requirements for GMPLS-Based Control of Flexi-Grid Dense 3502 Wavelength Division Multiplexing (DWDM) Networks", RFC 3503 7698, November 2015. 3505 [RFC8340] M. Bjorklund and L. Berger, Ed., "YANG Tree Diagrams", RFC 3506 8340, March 2018. 3508 [RFC8342] M. Bjorklund, J. Schoenwaelder, P. Shafer, K. Watsen, R. 3509 Wilton, "Network Management Datastore Architecture 3510 (NMDA)", RFC 8342, March 2018. 3512 [RFC8345] A. Clemm, et al, "A YANG Data Model for Network 3513 Topologies", RFC 8345, March 2018. 3515 9. Contributors 3517 Authors' Addresses 3519 Young Lee (ed.) 3520 Huawei Technologies 3521 5700 Tennyson Parkway, Suite 600 3522 Plano, TX 75024 3523 USA 3524 Email: leeyoung@huawei.com 3526 Dhruv Dhody 3527 Huawei Technologies 3528 Divyashree Techno Park, Whitefield 3529 Bangalore, Karnataka 560066 3530 India 3531 EMail: dhruv.ietf@gmail.com 3533 Aihua Guo 3534 Huawei Technologies 3535 Email: aihuaguo@huawei.com 3537 Victor Lopez 3538 Telefonica 3539 Email: victor.lopezalvarez@telefonica.com 3541 Daniel King 3542 University of Lancaster 3543 Email: d.king@lancaster.ac.uk 3545 Bin Yeong Yoon 3546 ETRI 3547 218 Gaijeongro, Yuseong-gu 3548 Daejeon, Korea 3549 Email: byyun@etri.re.kr 3551 Ricard Vilalta 3552 CTTC 3553 Email: ricard.vilalta@cttc.es 3555 Italo Busi 3556 Huawei 3557 Email: Italo.Busi@huawei.com