idnits 2.17.1 draft-ietf-ccamp-wson-yang-13.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 110 instances of too long lines in the document, the longest one being 14 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 date (August 22, 2018) is 2074 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC6241' is mentioned on line 2880, but not defined == Missing Reference: 'RFC6536' is mentioned on line 2881, but not defined ** Obsolete undefined reference: RFC 6536 (Obsoleted by RFC 8341) == Missing Reference: 'RFC3688' is mentioned on line 2892, but not defined == Missing Reference: 'RFC7950' is mentioned on line 2905, but not defined == Missing Reference: 'H1-2A-245' is mentioned on line 2958, but not defined Summary: 2 errors (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 CCAMP Working Group Y. Lee (Editor) 2 Internet Draft D. Dhody 3 Intended status: Standard Track A. Guo 4 Expires: February 22, 2019 Huawei 6 V. Lopez 7 Telefonica 9 D. King 10 U. of Lancaster 12 B. Yoon 13 ETRI 15 Ricard Vilalta 16 CTTC 18 August 22, 2018 20 A Yang Data Model for WSON Optical Networks 22 draft-ietf-ccamp-wson-yang-13 24 Abstract 26 This document provides a YANG data model for the routing and 27 wavelength assignment (RWA) TE topology in wavelength switched 28 optical networks (WSONs). 30 Status of this Memo 32 This Internet-Draft is submitted to IETF in full conformance with 33 the provisions of BCP 78 and BCP 79. 35 Internet-Drafts are working documents of the Internet Engineering 36 Task Force (IETF), its areas, and its working groups. Note that 37 other groups may also distribute working documents as Internet- 38 Drafts. 40 Internet-Drafts are draft documents valid for a maximum of six 41 months and may be updated, replaced, or obsoleted by other documents 42 at any time. It is inappropriate to use Internet-Drafts as 43 reference material or to cite them other than as "work in progress." 45 The list of current Internet-Drafts can be accessed at 46 http://www.ietf.org/ietf/1id-abstracts.txt 48 The list of Internet-Draft Shadow Directories can be accessed at 49 http://www.ietf.org/shadow.html 50 This Internet-Draft will expire on February 22, 2019. 52 Copyright Notice 54 Copyright (c) 2018 IETF Trust and the persons identified as the 55 document authors. All rights reserved. 57 This document is subject to BCP 78 and the IETF Trust's Legal 58 Provisions Relating to IETF Documents 59 (http://trustee.ietf.org/license-info) in effect on the date of 60 publication of this document. Please review these documents 61 carefully, as they describe your rights and restrictions with 62 respect to this document. Code Components extracted from this 63 document must include Simplified BSD License text as described in 64 Section 4.e of the Trust Legal Provisions and are provided without 65 warranty as described in the Simplified BSD License. 67 Table of Contents 69 1. Introduction...................................................2 70 2. YANG Model (Tree Structure)....................................3 71 3. IETF-WSON-Topology YANG Model.................................17 72 4. IETF-TE-WSON-Types YANG Model.................................51 73 5. Security Considerations.......................................60 74 6. IANA Considerations...........................................61 75 7. Acknowledgments...............................................61 76 8. References....................................................62 77 8.1. Normative References.....................................62 78 8.2. Informative References...................................62 79 9. Contributors..................................................62 80 Authors' Addresses...............................................62 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-te-wson-types (Section 4). 100 2. YANG Model (Tree Structure) 102 module: ietf-wson-topology 103 augment /nw:networks/nw:network/nw:network-types/tet:te-topology: 104 +--rw wson-topology! 105 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes: 106 augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te: 107 +--rw supported-payload-types* [index] 108 | +--rw index uint16 109 | +--rw payload-type? string 110 +--rw client-facing? boolean 111 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes: 112 +--rw wson-node 113 +--rw node-type? identityref 114 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-point: 115 +--rw supported-operational-modes* te-wson-types:operational-mode 116 +--rw configured-operational-modes? te-wson-types:operational-mode 117 +--rw supported-fec-types* identityref 118 +--rw supported-termination-types* identityref 119 +--rw supports-bit-stuffing? boolean 120 augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te/tet:interface- 121 switching-capability/tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology: 122 +--:(wson) 123 +--rw bandwidth-type? identityref 124 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 125 attributes/tet:connectivity-matrices/tet:path-constraints/tet:te- 126 bandwidth/tet:technology: 127 +--:(wson) 128 +--rw supported-bandwidth-list* identityref 129 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 130 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:path- 131 constraints/tet:te-bandwidth/tet:technology: 132 +--:(wson) 133 +--rw supported-bandwidth-list* identityref 134 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 135 entry/tet:connectivity-matrices/tet:path-constraints/tet:te-bandwidth/tet:technology: 136 +--:(wson) 137 +--ro supported-bandwidth-list* identityref 139 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 140 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:path-constraints/tet:te- 141 bandwidth/tet:technology: 142 +--:(wson) 143 +--ro supported-bandwidth-list* identityref 144 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 145 point/tet:client-layer-adaptation/tet:switching-capability/tet:te- 146 bandwidth/tet:technology: 147 +--:(wson) 148 +--rw supported-bandwidth-list* identityref 149 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 150 point/tet:local-link-connectivities/tet:path-constraints/tet:te- 151 bandwidth/tet:technology: 152 +--:(wson) 153 +--rw supported-bandwidth-list* identityref 154 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 155 point/tet:local-link-connectivities/tet:local-link-connectivity/tet:path- 156 constraints/tet:te-bandwidth/tet:technology: 157 +--:(wson) 158 +--rw supported-bandwidth-list* identityref 159 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:interface- 160 switching-capability/tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology: 161 +--:(wson) 162 +--rw bandwidth-type? identityref 163 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:max-link- 164 bandwidth/tet:te-bandwidth/tet:technology: 165 +--:(wson) 166 +--rw supported-bandwidth-list* identityref 167 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:max-resv- 168 link-bandwidth/tet:te-bandwidth/tet:technology: 169 +--:(wson) 170 +--rw supported-bandwidth-list* identityref 171 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- 172 attributes/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: 173 +--:(wson) 174 +--rw supported-bandwidth-list* identityref 175 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 176 entry/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te- 177 bandwidth/tet:technology: 178 +--:(wson) 179 +--ro bandwidth-type? identityref 180 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source-entry/tet:max- 181 link-bandwidth/tet:te-bandwidth/tet:technology: 182 +--:(wson) 183 +--ro supported-bandwidth-list* identityref 184 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source-entry/tet:max- 185 resv-link-bandwidth/tet:te-bandwidth/tet:technology: 186 +--:(wson) 187 +--ro supported-bandwidth-list* identityref 189 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 190 entry/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: 191 +--:(wson) 192 +--ro supported-bandwidth-list* identityref 193 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 194 attributes/tet:interface-switching-capability/tet:max-lsp-bandwidth/tet:te- 195 bandwidth/tet:technology: 196 +--:(wson) 197 +--rw bandwidth-type? identityref 198 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 199 attributes/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology: 200 +--:(wson) 201 +--rw supported-bandwidth-list* identityref 202 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 203 attributes/tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology: 204 +--:(wson) 205 +--rw supported-bandwidth-list* identityref 206 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 207 attributes/tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: 208 +--:(wson) 209 +--rw supported-bandwidth-list* identityref 210 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 211 attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction: 212 +--rw grid-type? identityref 213 +--rw priority? uint8 214 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 215 attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label- 216 restriction/tet:label-start/tet:te-label/tet:technology: 217 +--:(wson) 218 +--rw (grid-type)? 219 +--:(dwdm) 220 | +--rw channel-freq? decimal64 221 +--:(cwdm) 222 +--rw channel-wavelength? uint32 223 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 224 attributes/tet:connectivity-matrices/tet:label-restrictions/tet:label- 225 restriction/tet:label-end/tet:te-label/tet:technology: 226 +--:(wson) 227 +--rw (grid-type)? 228 +--:(dwdm) 229 | +--rw channel-freq? decimal64 230 +--:(cwdm) 231 +--rw channel-wavelength? uint32 232 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 233 attributes/tet:connectivity-matrices/tet:underlay/tet:primary-path/tet:path- 234 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 235 +--:(wson) 236 +--rw (grid-type)? 237 +--:(dwdm) 238 | +--rw channel-freq? decimal64 239 +--:(cwdm) 240 +--rw channel-wavelength? uint32 241 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 242 attributes/tet:connectivity-matrices/tet:underlay/tet:backup-path/tet:path- 243 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 244 +--:(wson) 245 +--rw (grid-type)? 246 +--:(dwdm) 247 | +--rw channel-freq? decimal64 248 +--:(cwdm) 249 +--rw channel-wavelength? uint32 250 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 251 attributes/tet:connectivity- 252 matrices/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 253 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 254 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 255 +--:(wson) 256 +--rw (grid-type)? 257 +--:(dwdm) 258 | +--rw channel-freq? decimal64 259 +--:(cwdm) 260 +--rw channel-wavelength? uint32 261 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 262 attributes/tet:connectivity- 263 matrices/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 264 metric/tet:explicit-route-include-objects/tet:route-object-include- 265 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 266 +--:(wson) 267 +--rw (grid-type)? 268 +--:(dwdm) 269 | +--rw channel-freq? decimal64 270 +--:(cwdm) 271 +--rw channel-wavelength? uint32 272 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 273 attributes/tet:connectivity-matrices/tet:path-properties/tet:path-route- 274 objects/tet:path-route-object/tet:type/tet:label/tet:label-hop/tet:te- 275 label/tet:technology: 276 +--:(wson) 277 +--ro (grid-type)? 278 +--:(dwdm) 279 | +--ro channel-freq? decimal64 280 +--:(cwdm) 281 +--ro channel-wavelength? uint32 282 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 283 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 284 restrictions/tet:label-restriction: 285 +--rw grid-type? identityref 286 +--rw priority? uint8 288 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 289 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 290 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 291 +--:(wson) 292 +--rw (grid-type)? 293 +--:(dwdm) 294 | +--rw channel-freq? decimal64 295 +--:(cwdm) 296 +--rw channel-wavelength? uint32 297 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 298 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 299 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 300 +--:(wson) 301 +--rw (grid-type)? 302 +--:(dwdm) 303 | +--rw channel-freq? decimal64 304 +--:(cwdm) 305 +--rw channel-wavelength? uint32 306 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 307 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 308 restrictions/tet:label-restriction: 309 +--rw grid-type? identityref 310 +--rw priority? uint8 311 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 312 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 313 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 314 +--:(wson) 315 +--rw (grid-type)? 316 +--:(dwdm) 317 | +--rw channel-freq? decimal64 318 +--:(cwdm) 319 +--rw channel-wavelength? uint32 320 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 321 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 322 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 323 +--:(wson) 324 +--rw (grid-type)? 325 +--:(dwdm) 326 | +--rw channel-freq? decimal64 327 +--:(cwdm) 328 +--rw channel-wavelength? uint32 329 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 330 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:underlay/tet:primary- 331 path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 332 +--:(wson) 333 +--rw (grid-type)? 334 +--:(dwdm) 335 | +--rw channel-freq? decimal64 336 +--:(cwdm) 337 +--rw channel-wavelength? uint32 338 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 339 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:underlay/tet:backup- 340 path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 341 +--:(wson) 342 +--rw (grid-type)? 343 +--:(dwdm) 344 | +--rw channel-freq? decimal64 345 +--:(cwdm) 346 +--rw channel-wavelength? uint32 347 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 348 attributes/tet:connectivity-matrices/tet:connectivity- 349 matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 350 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 351 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 352 +--:(wson) 353 +--rw (grid-type)? 354 +--:(dwdm) 355 | +--rw channel-freq? decimal64 356 +--:(cwdm) 357 +--rw channel-wavelength? uint32 358 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 359 attributes/tet:connectivity-matrices/tet:connectivity- 360 matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 361 metric/tet:explicit-route-include-objects/tet:route-object-include- 362 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 363 +--:(wson) 364 +--rw (grid-type)? 365 +--:(dwdm) 366 | +--rw channel-freq? decimal64 367 +--:(cwdm) 368 +--rw channel-wavelength? uint32 369 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node- 370 attributes/tet:connectivity-matrices/tet:connectivity-matrix/tet:path- 371 properties/tet:path-route-objects/tet:path-route-object/tet:type/tet:label/tet:label- 372 hop/tet:te-label/tet:technology: 373 +--:(wson) 374 +--ro (grid-type)? 375 +--:(dwdm) 376 | +--ro channel-freq? decimal64 377 +--:(cwdm) 378 +--ro channel-wavelength? uint32 379 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 380 entry/tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction: 381 +--ro grid-type? identityref 382 +--ro priority? uint8 383 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 384 entry/tet:connectivity-matrices/tet:label-restrictions/tet:label- 385 restriction/tet:label-start/tet:te-label/tet:technology: 387 +--:(wson) 388 +--ro (grid-type)? 389 +--:(dwdm) 390 | +--ro channel-freq? decimal64 391 +--:(cwdm) 392 +--ro channel-wavelength? uint32 393 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 394 entry/tet:connectivity-matrices/tet:label-restrictions/tet:label- 395 restriction/tet:label-end/tet:te-label/tet:technology: 396 +--:(wson) 397 +--ro (grid-type)? 398 +--:(dwdm) 399 | +--ro channel-freq? decimal64 400 +--:(cwdm) 401 +--ro channel-wavelength? uint32 402 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 403 entry/tet:connectivity-matrices/tet:underlay/tet:primary-path/tet:path- 404 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 405 +--:(wson) 406 +--ro (grid-type)? 407 +--:(dwdm) 408 | +--ro channel-freq? decimal64 409 +--:(cwdm) 410 +--ro channel-wavelength? uint32 411 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 412 entry/tet:connectivity-matrices/tet:underlay/tet:backup-path/tet:path- 413 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 414 +--:(wson) 415 +--ro (grid-type)? 416 +--:(dwdm) 417 | +--ro channel-freq? decimal64 418 +--:(cwdm) 419 +--ro channel-wavelength? uint32 420 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 421 entry/tet:connectivity- 422 matrices/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 423 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 424 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 425 +--:(wson) 426 +--ro (grid-type)? 427 +--:(dwdm) 428 | +--ro channel-freq? decimal64 429 +--:(cwdm) 430 +--ro channel-wavelength? uint32 431 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 432 entry/tet:connectivity- 433 matrices/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 434 metric/tet:explicit-route-include-objects/tet:route-object-include- 435 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 437 +--:(wson) 438 +--ro (grid-type)? 439 +--:(dwdm) 440 | +--ro channel-freq? decimal64 441 +--:(cwdm) 442 +--ro channel-wavelength? uint32 443 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 444 entry/tet:connectivity-matrices/tet:path-properties/tet:path-route-objects/tet:path- 445 route-object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 446 +--:(wson) 447 +--ro (grid-type)? 448 +--:(dwdm) 449 | +--ro channel-freq? decimal64 450 +--:(cwdm) 451 +--ro channel-wavelength? uint32 452 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 453 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 454 restrictions/tet:label-restriction: 455 +--ro grid-type? identityref 456 +--ro priority? uint8 457 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 458 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 459 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 460 +--:(wson) 461 +--ro (grid-type)? 462 +--:(dwdm) 463 | +--ro channel-freq? decimal64 464 +--:(cwdm) 465 +--ro channel-wavelength? uint32 466 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 467 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:from/tet:label- 468 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 469 +--:(wson) 470 +--ro (grid-type)? 471 +--:(dwdm) 472 | +--ro channel-freq? decimal64 473 +--:(cwdm) 474 +--ro channel-wavelength? uint32 475 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 476 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 477 restrictions/tet:label-restriction: 478 +--ro grid-type? identityref 479 +--ro priority? uint8 480 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 481 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 482 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 483 +--:(wson) 484 +--ro (grid-type)? 485 +--:(dwdm) 486 | +--ro channel-freq? decimal64 487 +--:(cwdm) 488 +--ro channel-wavelength? uint32 489 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 490 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:to/tet:label- 491 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 492 +--:(wson) 493 +--ro (grid-type)? 494 +--:(dwdm) 495 | +--ro channel-freq? decimal64 496 +--:(cwdm) 497 +--ro channel-wavelength? uint32 498 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 499 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:underlay/tet:primary- 500 path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 501 +--:(wson) 502 +--ro (grid-type)? 503 +--:(dwdm) 504 | +--ro channel-freq? decimal64 505 +--:(cwdm) 506 +--ro channel-wavelength? uint32 507 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 508 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:underlay/tet:backup- 509 path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 510 +--:(wson) 511 +--ro (grid-type)? 512 +--:(dwdm) 513 | +--ro channel-freq? decimal64 514 +--:(cwdm) 515 +--ro channel-wavelength? uint32 516 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 517 entry/tet:connectivity-matrices/tet:connectivity- 518 matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 519 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 520 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 521 +--:(wson) 522 +--ro (grid-type)? 523 +--:(dwdm) 524 | +--ro channel-freq? decimal64 525 +--:(cwdm) 526 +--ro channel-wavelength? uint32 527 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 528 entry/tet:connectivity-matrices/tet:connectivity- 529 matrix/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 530 metric/tet:explicit-route-include-objects/tet:route-object-include- 531 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 532 +--:(wson) 533 +--ro (grid-type)? 534 +--:(dwdm) 535 | +--ro channel-freq? decimal64 536 +--:(cwdm) 537 +--ro channel-wavelength? uint32 538 augment /nw:networks/nw:network/nw:node/tet:te/tet:information-source- 539 entry/tet:connectivity-matrices/tet:connectivity-matrix/tet:path-properties/tet:path- 540 route-objects/tet:path-route-object/tet:type/tet:label/tet:label-hop/tet:te- 541 label/tet:technology: 542 +--:(wson) 543 +--ro (grid-type)? 544 +--:(dwdm) 545 | +--ro channel-freq? decimal64 546 +--:(cwdm) 547 +--ro channel-wavelength? uint32 548 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 549 point/tet:local-link-connectivities/tet:label-restrictions/tet:label-restriction: 550 +--rw grid-type? identityref 551 +--rw priority? uint8 552 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 553 point/tet:local-link-connectivities/tet:label-restrictions/tet:label- 554 restriction/tet:label-start/tet:te-label/tet:technology: 555 +--:(wson) 556 +--rw (grid-type)? 557 +--:(dwdm) 558 | +--rw channel-freq? decimal64 559 +--:(cwdm) 560 +--rw channel-wavelength? uint32 561 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 562 point/tet:local-link-connectivities/tet:label-restrictions/tet:label- 563 restriction/tet:label-end/tet:te-label/tet:technology: 564 +--:(wson) 565 +--rw (grid-type)? 566 +--:(dwdm) 567 | +--rw channel-freq? decimal64 568 +--:(cwdm) 569 +--rw channel-wavelength? uint32 570 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 571 point/tet:local-link-connectivities/tet:underlay/tet:primary-path/tet:path- 572 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 573 +--:(wson) 574 +--rw (grid-type)? 575 +--:(dwdm) 576 | +--rw channel-freq? decimal64 577 +--:(cwdm) 578 +--rw channel-wavelength? uint32 579 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 580 point/tet:local-link-connectivities/tet:underlay/tet:backup-path/tet:path- 581 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 582 +--:(wson) 583 +--rw (grid-type)? 584 +--:(dwdm) 585 | +--rw channel-freq? decimal64 586 +--:(cwdm) 587 +--rw channel-wavelength? uint32 588 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 589 point/tet:local-link- 590 connectivities/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 591 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 592 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 593 +--:(wson) 594 +--rw (grid-type)? 595 +--:(dwdm) 596 | +--rw channel-freq? decimal64 597 +--:(cwdm) 598 +--rw channel-wavelength? uint32 599 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 600 point/tet:local-link- 601 connectivities/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 602 metric/tet:explicit-route-include-objects/tet:route-object-include- 603 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 604 +--:(wson) 605 +--rw (grid-type)? 606 +--:(dwdm) 607 | +--rw channel-freq? decimal64 608 +--:(cwdm) 609 +--rw channel-wavelength? uint32 610 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 611 point/tet:local-link-connectivities/tet:path-properties/tet:path-route- 612 objects/tet:path-route-object/tet:type/tet:label/tet:label-hop/tet:te- 613 label/tet:technology: 614 +--:(wson) 615 +--ro (grid-type)? 616 +--:(dwdm) 617 | +--ro channel-freq? decimal64 618 +--:(cwdm) 619 +--ro channel-wavelength? uint32 620 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 621 point/tet:local-link-connectivities/tet:local-link-connectivity/tet:label- 622 restrictions/tet:label-restriction: 623 +--rw grid-type? identityref 624 +--rw priority? uint8 625 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 626 point/tet:local-link-connectivities/tet:local-link-connectivity/tet:label- 627 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 628 +--:(wson) 629 +--rw (grid-type)? 630 +--:(dwdm) 631 | +--rw channel-freq? decimal64 632 +--:(cwdm) 633 +--rw channel-wavelength? uint32 634 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 635 point/tet:local-link-connectivities/tet:local-link-connectivity/tet:label- 636 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 637 +--:(wson) 638 +--rw (grid-type)? 639 +--:(dwdm) 640 | +--rw channel-freq? decimal64 641 +--:(cwdm) 642 +--rw channel-wavelength? uint32 643 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 644 point/tet:local-link-connectivities/tet:local-link- 645 connectivity/tet:underlay/tet:primary-path/tet:path- 646 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 647 +--:(wson) 648 +--rw (grid-type)? 649 +--:(dwdm) 650 | +--rw channel-freq? decimal64 651 +--:(cwdm) 652 +--rw channel-wavelength? uint32 653 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 654 point/tet:local-link-connectivities/tet:local-link- 655 connectivity/tet:underlay/tet:backup-path/tet:path- 656 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 657 +--:(wson) 658 +--rw (grid-type)? 659 +--:(dwdm) 660 | +--rw channel-freq? decimal64 661 +--:(cwdm) 662 +--rw channel-wavelength? uint32 663 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 664 point/tet:local-link-connectivities/tet:local-link- 665 connectivity/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 666 metric/tet:explicit-route-exclude-objects/tet:route-object-exclude- 667 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 668 +--:(wson) 669 +--rw (grid-type)? 670 +--:(dwdm) 671 | +--rw channel-freq? decimal64 672 +--:(cwdm) 673 +--rw channel-wavelength? uint32 674 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 675 point/tet:local-link-connectivities/tet:local-link- 676 connectivity/tet:optimizations/tet:algorithm/tet:metric/tet:optimization- 677 metric/tet:explicit-route-include-objects/tet:route-object-include- 678 object/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 679 +--:(wson) 680 +--rw (grid-type)? 681 +--:(dwdm) 682 | +--rw channel-freq? decimal64 683 +--:(cwdm) 684 +--rw channel-wavelength? uint32 685 augment /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination- 686 point/tet:local-link-connectivities/tet:local-link-connectivity/tet:path- 687 properties/tet:path-route-objects/tet:path-route-object/tet:type/tet:label/tet:label- 688 hop/tet:te-label/tet:technology: 689 +--:(wson) 690 +--ro (grid-type)? 691 +--:(dwdm) 692 | +--ro channel-freq? decimal64 693 +--:(cwdm) 694 +--ro channel-wavelength? uint32 695 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- 696 attributes/tet:underlay/tet:primary-path/tet:path- 697 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 698 +--:(wson) 699 +--rw (grid-type)? 700 +--:(dwdm) 701 | +--rw channel-freq? decimal64 702 +--:(cwdm) 703 +--rw channel-wavelength? uint32 704 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- 705 attributes/tet:underlay/tet:backup-path/tet:path-element/tet:type/tet:label/tet:label- 706 hop/tet:te-label/tet:technology: 707 +--:(wson) 708 +--rw (grid-type)? 709 +--:(dwdm) 710 | +--rw channel-freq? decimal64 711 +--:(cwdm) 712 +--rw channel-wavelength? uint32 713 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label- 714 restrictions/tet:label-restriction: 715 +--rw grid-type? identityref 716 +--rw priority? uint8 717 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label- 718 restrictions/tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 719 +--:(wson) 720 +--rw (grid-type)? 721 +--:(dwdm) 722 | +--rw channel-freq? decimal64 723 +--:(cwdm) 724 +--rw channel-wavelength? uint32 725 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label- 726 restrictions/tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 727 +--:(wson) 728 +--rw (grid-type)? 729 +--:(dwdm) 730 | +--rw channel-freq? decimal64 731 +--:(cwdm) 732 +--rw channel-wavelength? uint32 733 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 734 entry/tet:label-restrictions/tet:label-restriction: 735 +--ro grid-type? identityref 736 +--ro priority? uint8 737 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 738 entry/tet:label-restrictions/tet:label-restriction/tet:label-start/tet:te- 739 label/tet:technology: 740 +--:(wson) 741 +--ro (grid-type)? 742 +--:(dwdm) 743 | +--ro channel-freq? decimal64 744 +--:(cwdm) 745 +--ro channel-wavelength? uint32 746 augment /nw:networks/nw:network/nt:link/tet:te/tet:information-source- 747 entry/tet:label-restrictions/tet:label-restriction/tet:label-end/tet:te- 748 label/tet:technology: 749 +--:(wson) 750 +--ro (grid-type)? 751 +--:(dwdm) 752 | +--ro channel-freq? decimal64 753 +--:(cwdm) 754 +--ro channel-wavelength? uint32 755 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 756 attributes/tet:underlay/tet:primary-path/tet:path- 757 element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 758 +--:(wson) 759 +--rw (grid-type)? 760 +--:(dwdm) 761 | +--rw channel-freq? decimal64 762 +--:(cwdm) 763 +--rw channel-wavelength? uint32 764 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 765 attributes/tet:underlay/tet:backup-path/tet:path-element/tet:type/tet:label/tet:label- 766 hop/tet:te-label/tet:technology: 767 +--:(wson) 768 +--rw (grid-type)? 769 +--:(dwdm) 770 | +--rw channel-freq? decimal64 771 +--:(cwdm) 772 +--rw channel-wavelength? uint32 773 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 774 attributes/tet:label-restrictions/tet:label-restriction: 775 +--rw grid-type? identityref 776 +--rw priority? uint8 777 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 778 attributes/tet:label-restrictions/tet:label-restriction/tet:label-start/tet:te- 779 label/tet:technology: 781 +--:(wson) 782 +--rw (grid-type)? 783 +--:(dwdm) 784 | +--rw channel-freq? decimal64 785 +--:(cwdm) 786 +--rw channel-wavelength? uint32 787 augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-link- 788 attributes/tet:label-restrictions/tet:label-restriction/tet:label-end/tet:te- 789 label/tet:technology: 790 +--:(wson) 791 +--rw (grid-type)? 792 +--:(dwdm) 793 | +--rw channel-freq? decimal64 794 +--:(cwdm) 795 +--rw channel-wavelength? uint32 797 3. IETF-WSON-Topology YANG Model 799 file "ietf-wson-topology@2018-08-22.yang" 801 module ietf-wson-topology { 803 yang-version 1.1; 805 namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology"; 807 prefix "wson"; 809 import ietf-network { 810 prefix "nw"; 811 } 813 import ietf-network-topology { 814 prefix "nt"; 815 } 817 import ietf-te-topology { 818 prefix "tet"; 819 } 821 import ietf-te-wson-types { 822 prefix "te-wson-types"; 823 } 825 organization 826 "IETF CCAMP Working Group"; 828 contact 829 "Editor: Young Lee "; 831 description 832 "This module contains a collection of YANG definitions for 833 RWA WSON. 835 Copyright (c) 2018 IETF Trust and the persons identified 836 as authors of the code. All rights reserved. 838 Redistribution and use in source and binary forms, with 839 or without modification, is permitted pursuant to, and 840 subject to the license terms contained in, the Simplified BSD 841 License set forth in Section 4.c of the IETF Trust's Legal 842 Provisions Relating to IETF Documents 843 (http://trustee.ietf.org/license-info)."; 845 revision 2018-08-22 { 846 description 847 "version 13."; 849 reference 850 "RFC XXX: A Yang Data Model for WSON Optical Networks "; 851 } 853 grouping wson-node-attributes { 854 description "WSON node attributes"; 855 container wson-node { 856 description "WSON node attrtibutes."; 857 leaf node-type { 858 type identityref { 859 base te-wson-types:wson-node-type; 860 } 861 description "WSON node type."; 862 } 863 } 864 } 866 grouping wson-link-attributes { 867 description 868 "Future WSON link attributes extensions"; 869 } 871 grouping wson-tp-attributes { 872 description "wson-tp-attributes"; 874 list supported-payload-types { 875 key "index"; 876 description 877 "Supported payload types of a TP. The payload type is defined 878 as the generalized PIDs in GMPLS."; 879 leaf index { 880 type uint16; 881 description "payload type index"; 882 } 883 leaf payload-type { 884 type string; 885 description "the payload type supported by this client tp"; 886 reference 887 "http://www.iana.org/assignments/gmpls-sig-parameters 888 /gmpls-sig-parameters.xhtml"; 889 } 890 } 891 leaf client-facing { 892 type boolean; 893 default 'false'; 894 description 895 "Indicating if it is a client-facing TP."; 896 } 897 } 899 grouping wson-ttp-attributes { 900 description 901 "WSON tunnel termination point (e.g.tranponder) 902 attributes"; 904 leaf-list supported-operational-modes { 905 type te-wson-types:operational-mode; 906 description 907 "List of all supported vendor-specific 908 mode identifiers"; 909 } 911 leaf configured-operational-modes { 912 type te-wson-types:operational-mode; 913 description 914 "Vendor-specific mode identifier configured 915 on the TTP."; 917 } 919 leaf-list supported-fec-types { 920 type identityref { 921 base te-wson-types:fec-type; 922 } 923 description 924 "List of all supported FEC types by this TTP."; 925 } 927 leaf-list supported-termination-types { 928 type identityref { 929 base te-wson-types:term-type; 930 } 931 description 932 "List of all supported termination types by this TTP."; 933 } 935 leaf supports-bit-stuffing { 936 type boolean; 937 description 938 "Indicate whether bit stuffing is supported by this TTP."; 939 } 940 } 942 /* 943 * Data nodes 944 */ 946 augment "/nw:networks/nw:network/nw:network-types" 947 + "/tet:te-topology" { 948 description "wson-topology augmented"; 949 container wson-topology { 950 presence "indicates a topology of WSON"; 951 description 952 "Container to identify WSON topology type"; 953 } 954 } 956 augment "/nw:networks/nw:network/nt:link/tet:te" 957 + "/tet:te-link-attributes" { 958 when "/nw:networks/nw:network/nw:network-types" 959 +"/tet:te-topology/wson:wson-topology" { 960 description "This augment is only valid for WSON."; 961 } 962 description "WSON Link augmentation."; 963 uses wson-link-attributes; 964 } 965 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 966 + "tet:te" { 967 when "/nw:networks/nw:network/nw:network-types" 968 +"/tet:te-topology/wson:wson-topology" { 969 description "This augment is only valid for WSON."; 970 } 971 description "WSON TP attributes."; 972 uses wson-tp-attributes; 973 } 975 augment "/nw:networks/nw:network/nw:node/tet:te" 976 + "/tet:te-node-attributes" { 977 when "/nw:networks/nw:network/nw:network-types" 978 +"/tet:te-topology/wson:wson-topology" { 979 description "This augment is only valid for WSON."; 980 } 981 description "WSON Node augmentation."; 982 uses wson-node-attributes; 983 } 985 augment "/nw:networks/nw:network/nw:node/tet:te" 986 + "/tet:tunnel-termination-point" { 987 when "/nw:networks/nw:network/nw:network-types" 988 +"/tet:te-topology/wson:wson-topology" { 989 description "This augment is only valid for WSON."; 990 } 991 description "WSON tunnel termination point augmentation."; 992 uses wson-ttp-attributes; 993 } 995 /* 996 * Augment TE bandwidth 997 */ 999 /* Augment maximum LSP bandwidth of link terminationpoint (LTP) */ 1000 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 1001 + "tet:te/" 1002 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 1003 + "tet:te-bandwidth/tet:technology" { 1004 when "../../../../../../nw:network-types/tet:te-topology/" 1005 + "wson:wson-topology" { 1006 description "Augment WSON TE bandwidth"; 1007 } 1008 description "WSON bandwidth."; 1009 case wson { 1010 uses te-wson-types:wson-path-bandwidth; 1011 } 1012 } 1013 /* Augment bandwidth path constraints of connectivity-matrices */ 1014 augment "/nw:networks/nw:network/nw:node/tet:te/" 1015 + "tet:te-node-attributes/tet:connectivity-matrices/" 1016 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1017 when "../../../../../../nw:network-types/tet:te-topology/" 1018 + "wson:wson-topology" { 1019 description "Augment WSON TE bandwidth"; 1020 } 1021 description "WSON bandwidth."; 1022 case wson { 1023 uses te-wson-types:wson-link-bandwidth; 1024 } 1025 } 1027 /* Augment bandwidth path constraints of connectivity-matrix */ 1028 augment "/nw:networks/nw:network/nw:node/tet:te/" 1029 + "tet:te-node-attributes/tet:connectivity-matrices/" 1030 + "tet:connectivity-matrix/" 1031 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1032 when "../../../../../../../nw:network-types/tet:te-topology/" 1033 + "wson:wson-topology" { 1034 description "Augment WSON TE bandwidth"; 1035 } 1036 description "WSON bandwidth."; 1037 case wson { 1038 uses te-wson-types:wson-link-bandwidth; 1039 } 1040 } 1042 /* Augment bandwidth path constraints of connectivity-matrices information- 1043 source */ 1044 augment "/nw:networks/nw:network/nw:node/tet:te/" 1045 + "tet:information-source-entry/tet:connectivity-matrices/" 1046 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1047 when "../../../../../../nw:network-types/tet:te-topology/" 1048 + "wson:wson-topology" { 1049 description "Augment WSON TE bandwidth"; 1050 } 1051 description "WSON bandwidth."; 1052 case wson { 1053 uses te-wson-types:wson-link-bandwidth; 1054 } 1055 } 1057 /* Augment bandwidth path constraints of connectivity-matrix information- 1058 source */ 1059 augment "/nw:networks/nw:network/nw:node/tet:te/" 1060 + "tet:information-source-entry/tet:connectivity-matrices/" 1061 + "tet:connectivity-matrix/" 1062 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1063 when "../../../../../../../nw:network-types/tet:te-topology/" 1064 + "wson:wson-topology" { 1065 description "Augment WSON TE bandwidth"; 1066 } 1067 description "WSON bandwidth."; 1068 case wson { 1069 uses te-wson-types:wson-link-bandwidth; 1070 } 1071 } 1073 /* Augment client bandwidth of tunnel termination point (TTP) */ 1074 augment "/nw:networks/nw:network/nw:node/tet:te/" 1075 + "tet:tunnel-termination-point/" 1076 + "tet:client-layer-adaptation/tet:switching-capability/" 1077 + "tet:te-bandwidth/tet:technology" { 1078 when "../../../../../../nw:network-types/tet:te-topology/" 1079 + "wson:wson-topology" { 1080 description "Augment WSON TE bandwidth"; 1081 } 1082 description "WSON bandwidth."; 1083 case wson { 1084 uses te-wson-types:wson-link-bandwidth; 1085 } 1086 } 1088 /* Augment bandwidth path constraints of local-link-connectivities */ 1089 augment "/nw:networks/nw:network/nw:node/tet:te/" 1090 + "tet:tunnel-termination-point/" 1091 + "tet:local-link-connectivities/tet:path-constraints/" 1092 + "tet:te-bandwidth/tet:technology" { 1093 when "../../../../../../nw:network-types/tet:te-topology/" 1094 + "wson:wson-topology" { 1095 description "Augment WSON TE bandwidth"; 1096 } 1097 description "WSON bandwidth."; 1098 case wson { 1099 uses te-wson-types:wson-link-bandwidth; 1100 } 1101 } 1103 /* Augment bandwidth path constraints of local-link-connectivity (LLC) */ 1104 augment "/nw:networks/nw:network/nw:node/tet:te/" 1105 + "tet:tunnel-termination-point/" 1106 + "tet:local-link-connectivities/" 1107 + "tet:local-link-connectivity/tet:path-constraints/" 1108 + "tet:te-bandwidth/tet:technology" { 1109 when "../../../../../../../nw:network-types/tet:te-topology/" 1110 + "wson:wson-topology" { 1112 description "Augment WSON TE bandwidth"; 1113 } 1114 description "WSON bandwidth."; 1115 case wson { 1116 uses te-wson-types:wson-link-bandwidth; 1117 } 1118 } 1120 /* Augment maximum LSP bandwidth of TE link */ 1121 augment "/nw:networks/nw:network/nt:link/tet:te/" 1122 + "tet:te-link-attributes/" 1123 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 1124 + "tet:te-bandwidth/tet:technology" { 1125 when "../../../../../../nw:network-types/tet:te-topology/" 1126 + "wson:wson-topology" { 1127 description "WSON TE bandwidth."; 1128 } 1129 description "WSON bandwidth."; 1130 case wson { 1131 uses te-wson-types:wson-path-bandwidth; 1132 } 1133 } 1135 /* Augment maximum bandwidth of TE link */ 1136 augment "/nw:networks/nw:network/nt:link/tet:te/" 1137 + "tet:te-link-attributes/" 1138 + "tet:max-link-bandwidth/" 1139 + "tet:te-bandwidth/tet:technology" { 1140 when "../../../../../nw:network-types/tet:te-topology/" 1141 + "wson:wson-topology" { 1142 description "WSON TE bandwidth."; 1143 } 1144 description "WSON bandwidth."; 1145 case wson { 1146 uses te-wson-types:wson-link-bandwidth; 1147 } 1148 } 1150 /* Augment maximum reservable bandwidth of TE link */ 1151 augment "/nw:networks/nw:network/nt:link/tet:te/" 1152 + "tet:te-link-attributes/" 1153 + "tet:max-resv-link-bandwidth/" 1154 + "tet:te-bandwidth/tet:technology" { 1155 when "../../../../../nw:network-types/tet:te-topology/" 1156 + "wson:wson-topology" { 1157 description "WSON TE bandwidth."; 1158 } 1159 description "WSON bandwidth."; 1160 case wson { 1161 uses te-wson-types:wson-link-bandwidth; 1162 } 1163 } 1165 /* Augment unreserved bandwidth of TE Link */ 1166 augment "/nw:networks/nw:network/nt:link/tet:te/" 1167 + "tet:te-link-attributes/" 1168 + "tet:unreserved-bandwidth/" 1169 + "tet:te-bandwidth/tet:technology" { 1170 when "../../../../../nw:network-types/tet:te-topology/" 1171 + "wson:wson-topology" { 1172 description "WSON TE bandwidth."; 1173 } 1174 description "WSON bandwidth."; 1175 case wson { 1176 uses te-wson-types:wson-link-bandwidth; 1177 } 1178 } 1180 /* Augment maximum LSP bandwidth of TE link information-source */ 1181 augment "/nw:networks/nw:network/nt:link/tet:te/" 1182 + "tet:information-source-entry/" 1183 + "tet:interface-switching-capability/" 1184 + "tet:max-lsp-bandwidth/" 1185 + "tet:te-bandwidth/tet:technology" { 1186 when "../../../../../../nw:network-types/tet:te-topology/" 1187 + "wson:wson-topology" { 1188 description "WSON TE bandwidth."; 1189 } 1190 description "WSON bandwidth."; 1191 case wson { 1192 uses te-wson-types:wson-path-bandwidth; 1193 } 1194 } 1196 /* Augment maximum bandwidth of TE link information-source */ 1197 augment "/nw:networks/nw:network/nt:link/tet:te/" 1198 + "tet:information-source-entry/" 1199 + "tet:max-link-bandwidth/" 1200 + "tet:te-bandwidth/tet:technology" { 1201 when "../../../../../nw:network-types/tet:te-topology/" 1202 + "wson:wson-topology" { 1203 description "WSON TE bandwidth."; 1204 } 1205 description "WSON bandwidth."; 1206 case wson { 1207 uses te-wson-types:wson-link-bandwidth; 1208 } 1209 } 1210 /* Augment maximum reservable bandwidth of TE link information-source */ 1211 augment "/nw:networks/nw:network/nt:link/tet:te/" 1212 + "tet:information-source-entry/" 1213 + "tet:max-resv-link-bandwidth/" 1214 + "tet:te-bandwidth/tet:technology" { 1215 when "../../../../../nw:network-types/tet:te-topology/" 1216 + "wson:wson-topology" { 1217 description "WSON TE bandwidth."; 1218 } 1219 description "WSON bandwidth."; 1220 case wson { 1221 uses te-wson-types:wson-link-bandwidth; 1222 } 1223 } 1225 /* Augment unreserved bandwidth of TE link information-source */ 1226 augment "/nw:networks/nw:network/nt:link/tet:te/" 1227 + "tet:information-source-entry/" 1228 + "tet:unreserved-bandwidth/" 1229 + "tet:te-bandwidth/tet:technology" { 1230 when "../../../../../nw:network-types/tet:te-topology/" 1231 + "wson:wson-topology" { 1232 description "WSON TE bandwidth."; 1233 } 1234 description "WSON bandwidth."; 1235 case wson { 1236 uses te-wson-types:wson-link-bandwidth; 1237 } 1238 } 1240 /* Augment maximum LSP bandwidth of TE link template */ 1241 augment "/nw:networks/tet:te/tet:templates/" 1242 + "tet:link-template/tet:te-link-attributes/" 1243 + "tet:interface-switching-capability/" 1244 + "tet:max-lsp-bandwidth/" 1245 + "tet:te-bandwidth/tet:technology" { 1246 /* 1247 when "../../../../../../nw:network-types/tet:te-topology/" 1248 + "wson:wson-topology" { 1249 description "WSON TE bandwidth."; 1250 } 1251 */ 1252 description "WSON bandwidth."; 1253 case wson { 1254 uses te-wson-types:wson-path-bandwidth; 1255 } 1256 } 1257 /* Augment maximum bandwidth of TE link template */ 1258 augment "/nw:networks/tet:te/tet:templates/" 1259 + "tet:link-template/tet:te-link-attributes/" 1260 + "tet:max-link-bandwidth/" 1261 + "tet:te-bandwidth/tet:technology" { 1262 /* 1263 when "../../../../../nw:network-types/tet:te-topology/" 1264 + "wson:wson-topology" { 1265 description "WSON TE bandwidth."; 1266 } 1267 */ 1268 description "WSON bandwidth."; 1269 case wson { 1270 uses te-wson-types:wson-link-bandwidth; 1271 } 1272 } 1274 /* Augment maximum reservable bandwidth of TE link template */ 1275 augment "/nw:networks/tet:te/tet:templates/" 1276 + "tet:link-template/tet:te-link-attributes/" 1277 + "tet:max-resv-link-bandwidth/" 1278 + "tet:te-bandwidth/tet:technology" { 1279 /* 1280 when "../../../../../nw:network-types/tet:te-topology/" 1281 + "wson:wson-topology" { 1282 description "WSON TE bandwidth."; 1283 } 1284 */ 1285 description "WSON bandwidth."; 1286 case wson { 1287 uses te-wson-types:wson-link-bandwidth; 1288 } 1289 } 1291 /* Augment unreserved bandwidth of TE link template */ 1292 augment "/nw:networks/tet:te/tet:templates/" 1293 + "tet:link-template/tet:te-link-attributes/" 1294 + "tet:unreserved-bandwidth/" 1295 + "tet:te-bandwidth/tet:technology" { 1296 /* 1297 when "../../../../../../nw:network-types/tet:te-topology/" 1298 + "wson:wson-topology" { 1299 description "WSON TE bandwidth."; 1300 } 1301 */ 1302 description "WSON bandwidth."; 1303 case wson { 1304 uses te-wson-types:wson-link-bandwidth; 1305 } 1307 } 1309 /* 1310 * Augment TE label. 1311 */ 1313 /* Augment label restrictions of connectivity-matrices */ 1314 augment "/nw:networks/nw:network/nw:node/tet:te/" 1315 + "tet:te-node-attributes/tet:connectivity-matrices/" 1316 + "tet:label-restrictions/tet:label-restriction" { 1317 when "../../../../../../nw:network-types/tet:te-topology/" 1318 + "wson:wson-topology" { 1319 description "Augment WSON TE label"; 1320 } 1321 description "WSON label."; 1322 uses te-wson-types:wson-label-restriction; 1323 } 1325 /* Augment label restrictions start of connectivity-matrices */ 1326 augment "/nw:networks/nw:network/nw:node/tet:te/" 1327 + "tet:te-node-attributes/tet:connectivity-matrices/" 1328 + "tet:label-restrictions/tet:label-restriction/" 1329 + "tet:label-start/" 1330 + "tet:te-label/tet:technology" { 1331 when "../../../../../../../../nw:network-types/tet:te-topology/" 1332 + "wson:wson-topology" { 1333 description "Augment WSON TE label"; 1334 } 1335 description "WSON label."; 1336 case wson { 1337 uses te-wson-types:wson-link-label; 1338 } 1339 } 1341 /* Augment label restrictions end of connectivity-matrices */ 1342 augment "/nw:networks/nw:network/nw:node/tet:te/" 1343 + "tet:te-node-attributes/tet:connectivity-matrices/" 1344 + "tet:label-restrictions/" 1345 + "tet:label-restriction/tet:label-end/" 1346 + "tet:te-label/tet:technology" { 1347 when "../../../../../../../../" 1348 + "nw:network-types/tet:te-topology/" 1349 + "wson:wson-topology" { 1350 description "Augment WSON TE label"; 1351 } 1352 description "WSON label."; 1353 case wson { 1354 uses te-wson-types:wson-link-label; 1355 } 1357 } 1359 /* Augment label hop of underlay primary path of connectivity-matrices */ 1360 augment "/nw:networks/nw:network/nw:node/tet:te/" 1361 + "tet:te-node-attributes/tet:connectivity-matrices/" 1362 + "tet:underlay/tet:primary-path/tet:path-element/" 1363 + "tet:type/tet:label/tet:label-hop/" 1364 + "tet:te-label/tet:technology" { 1365 when "../../../../../../../../../" 1366 + "nw:network-types/tet:te-topology/" 1367 + "wson:wson-topology" { 1368 description "Augment WSON TE label"; 1369 } 1370 description "WSON label."; 1371 case wson { 1372 uses te-wson-types:wson-path-label; 1373 } 1374 } 1376 /* Augment label hop of underlay backup path of connectivity-matrices */ 1377 augment "/nw:networks/nw:network/nw:node/tet:te/" 1378 + "tet:te-node-attributes/tet:connectivity-matrices/" 1379 + "tet:underlay/tet:backup-path/tet:path-element/" 1380 + "tet:type/tet:label/tet:label-hop/" 1381 + "tet:te-label/tet:technology" { 1382 when "../../../../../../../../../" 1383 + "nw:network-types/tet:te-topology/" 1384 + "wson:wson-topology" { 1385 description "Augment WSON TE label"; 1386 } 1387 description "WSON label."; 1388 case wson { 1389 uses te-wson-types:wson-path-label; 1390 } 1391 } 1393 /* Augment label hop of route-exclude of connectivity-matrices */ 1394 augment "/nw:networks/nw:network/nw:node/tet:te/" 1395 + "tet:te-node-attributes/tet:connectivity-matrices/" 1396 + "tet:optimizations/tet:algorithm/tet:metric/" 1397 + "tet:optimization-metric/" 1398 + "tet:explicit-route-exclude-objects/" 1399 + "tet:route-object-exclude-object/" 1400 + "tet:type/tet:label/tet:label-hop/" 1401 + "tet:te-label/tet:technology" { 1402 when "../../../../../../../../../../" 1403 + "nw:network-types/tet:te-topology/" 1404 + "wson:wson-topology" { 1405 description "Augment WSON TE label"; 1407 } 1408 description "WSON label."; 1409 case wson { 1410 uses te-wson-types:wson-path-label; 1411 } 1412 } 1414 /* Augment label hop of route-include of connectivity-matrices (added) */ 1415 augment "/nw:networks/nw:network/nw:node/tet:te/" 1416 + "tet:te-node-attributes/tet:connectivity-matrices/" 1417 + "tet:optimizations/tet:algorithm/tet:metric/" 1418 + "tet:optimization-metric/" 1419 + "tet:explicit-route-include-objects/" 1420 + "tet:route-object-include-object/" 1421 + "tet:type/tet:label/tet:label-hop/" 1422 + "tet:te-label/tet:technology" { 1423 when "../../../../../../../../../../" 1424 + "nw:network-types/tet:te-topology/" 1425 + "wson:wson-topology" { 1426 description "Augment WSON TE label"; 1427 } 1428 description "WSON label."; 1429 case wson { 1430 uses te-wson-types:wson-path-label; 1431 } 1432 } 1434 /* Augment label hop of path-route of connectivity-matrices */ 1435 augment "/nw:networks/nw:network/nw:node/tet:te/" 1436 + "tet:te-node-attributes/tet:connectivity-matrices/" 1437 + "tet:path-properties/tet:path-route-objects/" 1438 + "tet:path-route-object/tet:type/tet:label/tet:label-hop/" 1439 + "tet:te-label/tet:technology"{ 1440 when "../../../../../../../../../" 1441 + "nw:network-types/tet:te-topology/" 1442 + "wson:wson-topology" { 1443 description "Augment WSON TE label"; 1444 } 1445 description "WSON label."; 1446 case wson { 1447 uses te-wson-types:wson-path-label; 1448 } 1449 } 1451 /* Augment ingress label restrictions of connectivity-matrix */ 1452 augment "/nw:networks/nw:network/nw:node/tet:te/" 1453 + "tet:te-node-attributes/tet:connectivity-matrices/" 1454 + "tet:connectivity-matrix/tet:from/" 1455 + "tet:label-restrictions/tet:label-restriction" { 1457 when "../../../../../../../../" 1458 + "nw:network-types/tet:te-topology/" 1459 + "wson:wson-topology" { 1460 description "Augment WSON TE label"; 1461 } 1462 description "WSON label."; 1463 uses te-wson-types:wson-label-restriction; 1464 } 1466 /* Augment ingress label restrictions start of connectivity-matrix */ 1467 augment "/nw:networks/nw:network/nw:node/tet:te/" 1468 + "tet:te-node-attributes/tet:connectivity-matrices/" 1469 + "tet:connectivity-matrix/tet:from/" 1470 + "tet:label-restrictions/tet:label-restriction/" 1471 + "tet:label-start/" 1472 + "tet:te-label/tet:technology" { 1473 when "../../../../../../../../../../" 1474 + "nw:network-types/tet:te-topology/" 1475 + "wson:wson-topology" { 1476 description "Augment WSON TE label"; 1477 } 1478 description "WSON label."; 1479 case wson { 1480 uses te-wson-types:wson-link-label; 1481 } 1482 } 1484 /* Augment ingress label restrictions end of connectivity-matrix */ 1485 augment "/nw:networks/nw:network/nw:node/tet:te/" 1486 + "tet:te-node-attributes/tet:connectivity-matrices/" 1487 + "tet:connectivity-matrix/tet:from/" 1488 + "tet:label-restrictions/tet:label-restriction/" 1489 + "tet:label-end/" 1490 + "tet:te-label/tet:technology" { 1491 when "../../../../../../../../../../" 1492 + "nw:network-types/tet:te-topology/" 1493 + "wson:wson-topology" { 1494 description "Augment WSON TE label"; 1495 } 1496 description "WSON label."; 1497 case wson { 1498 uses te-wson-types:wson-link-label; 1499 } 1500 } 1502 /* Augment egress label restrictions of connectivity-matrix */ 1503 augment "/nw:networks/nw:network/nw:node/tet:te/" 1504 + "tet:te-node-attributes/tet:connectivity-matrices/" 1505 + "tet:connectivity-matrix/tet:to/" 1506 + "tet:label-restrictions/tet:label-restriction" { 1507 when "../../../../../../../../" 1508 + "nw:network-types/tet:te-topology/" 1509 + "wson:wson-topology" { 1510 description "Augment WSON TE label"; 1511 } 1512 description "WSON label."; 1513 uses te-wson-types:wson-label-restriction; 1514 } 1516 /* Augment egress label restrictions start of connectivity-matrix */ 1517 augment "/nw:networks/nw:network/nw:node/tet:te/" 1518 + "tet:te-node-attributes/tet:connectivity-matrices/" 1519 + "tet:connectivity-matrix/tet:to/" 1520 + "tet:label-restrictions/tet:label-restriction/" 1521 + "tet:label-start/" 1522 + "tet:te-label/tet:technology" { 1523 when "../../../../../../../../../../" 1524 + "nw:network-types/tet:te-topology/" 1525 + "wson:wson-topology" { 1526 description "Augment WSON TE label"; 1527 } 1528 description "WSON label."; 1529 case wson { 1530 uses te-wson-types:wson-link-label; 1531 } 1532 } 1534 /* Augment egress label restrictions end of connectivity-matrix */ 1535 augment "/nw:networks/nw:network/nw:node/tet:te/" 1536 + "tet:te-node-attributes/tet:connectivity-matrices/" 1537 + "tet:connectivity-matrix/tet:to/" 1538 + "tet:label-restrictions/tet:label-restriction/" 1539 + "tet:label-end/" 1540 + "tet:te-label/tet:technology" { 1541 when "../../../../../../../../../../" 1542 + "nw:network-types/tet:te-topology/" 1543 + "wson:wson-topology" { 1544 description "Augment WSON TE label"; 1545 } 1546 description "WSON label."; 1547 case wson { 1548 uses te-wson-types:wson-link-label; 1549 } 1550 } 1552 /* Augment label hop of underlay primary path of connectivity-matrix */ 1553 augment "/nw:networks/nw:network/nw:node/tet:te/" 1554 + "tet:te-node-attributes/tet:connectivity-matrices/" 1555 + "tet:connectivity-matrix/" 1556 + "tet:underlay/tet:primary-path/tet:path-element/" 1557 + "tet:type/tet:label/tet:label-hop/" 1558 + "tet:te-label/tet:technology" { 1559 when "../../../../../../../../../../" 1560 + "nw:network-types/tet:te-topology/" 1561 + "wson:wson-topology" { 1562 description "Augment WSON TE label"; 1563 } 1564 description "WSON label."; 1565 case wson { 1566 uses te-wson-types:wson-path-label; 1567 } 1568 } 1570 /* Augment label hop of underlay backup path of connectivity-matrix */ 1571 augment "/nw:networks/nw:network/nw:node/tet:te/" 1572 + "tet:te-node-attributes/tet:connectivity-matrices/" 1573 + "tet:connectivity-matrix/" 1574 + "tet:underlay/tet:backup-path/tet:path-element/" 1575 + "tet:type/tet:label/tet:label-hop/" 1576 + "tet:te-label/tet:technology" { 1577 when "../../../../../../../../../../" 1578 + "nw:network-types/tet:te-topology/" 1579 + "wson:wson-topology" { 1580 description "Augment WSON TE label"; 1581 } 1582 description "WSON label."; 1583 case wson { 1584 uses te-wson-types:wson-path-label; 1585 } 1586 } 1588 /* Augment label hop of route-exclude of connectivity-matrix */ 1589 augment "/nw:networks/nw:network/nw:node/tet:te/" 1590 + "tet:te-node-attributes/tet:connectivity-matrices/" 1591 + "tet:connectivity-matrix/tet:optimizations/" 1592 + "tet:algorithm/tet:metric/tet:optimization-metric/" 1593 + "tet:explicit-route-exclude-objects/" 1594 + "tet:route-object-exclude-object/tet:type/" 1595 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1596 when "../../../../../../../../../../../" 1597 + "nw:network-types/tet:te-topology/" 1598 + "wson:wson-topology" { 1599 description "Augment WSON TE label"; 1600 } 1601 description "WSON label."; 1602 case wson { 1603 uses te-wson-types:wson-path-label; 1605 } 1606 } 1608 /* Augment label hop of route-include of connectivity-matrix */ 1609 augment "/nw:networks/nw:network/nw:node/tet:te/" 1610 + "tet:te-node-attributes/tet:connectivity-matrices/" 1611 + "tet:connectivity-matrix/tet:optimizations/" 1612 + "tet:algorithm/tet:metric/tet:optimization-metric/" 1613 + "tet:explicit-route-include-objects/" 1614 + "tet:route-object-include-object/tet:type/" 1615 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1616 when "../../../../../../../../../../../" 1617 + "nw:network-types/tet:te-topology/" 1618 + "wson:wson-topology" { 1619 description "Augment WSON TE label"; 1620 } 1621 description "WSON label."; 1622 case wson { 1623 uses te-wson-types:wson-path-label; 1624 } 1625 } 1627 /* Augment label hop of path-route of connectivity-matrix */ 1628 augment "/nw:networks/nw:network/nw:node/tet:te/" 1629 + "tet:te-node-attributes/tet:connectivity-matrices/" 1630 + "tet:connectivity-matrix/" 1631 + "tet:path-properties/tet:path-route-objects/" 1632 + "tet:path-route-object/tet:type/" 1633 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1634 when "../../../../../../../../../../" 1635 + "nw:network-types/tet:te-topology/" 1636 + "wson:wson-topology" { 1637 description "Augment WSON TE label"; 1638 } 1639 description "WSON label."; 1640 case wson { 1641 uses te-wson-types:wson-path-label; 1642 } 1643 } 1645 /* Augment label restrictions of connectivity-matrices information-source */ 1646 augment "/nw:networks/nw:network/nw:node/tet:te/" 1647 + "tet:information-source-entry/" 1648 + "tet:connectivity-matrices/tet:label-restrictions/" 1649 + "tet:label-restriction" { 1650 when "../../../../../../nw:network-types/tet:te-topology/" 1651 + "wson:wson-topology" { 1652 description "Augment WSON TE label"; 1653 } 1654 description "WSON label."; 1655 uses te-wson-types:wson-label-restriction; 1656 } 1658 /* Augment label restrictions start of connectivity-matrices information- 1659 source */ 1660 augment "/nw:networks/nw:network/nw:node/tet:te/" 1661 + "tet:information-source-entry/" 1662 + "tet:connectivity-matrices/tet:label-restrictions/" 1663 + "tet:label-restriction/" 1664 + "tet:label-start/tet:te-label/tet:technology" { 1665 when "../../../../../../../../" 1666 + "nw:network-types/tet:te-topology/" 1667 + "wson:wson-topology" { 1668 description "Augment WSON TE label"; 1669 } 1670 description "WSON label."; 1671 case wson { 1672 uses te-wson-types:wson-link-label; 1673 } 1674 } 1676 /* Augment label restrictions end of connectivity-matrices information- 1677 source */ 1678 augment "/nw:networks/nw:network/nw:node/tet:te/" 1679 + "tet:information-source-entry/" 1680 + "tet:connectivity-matrices/tet:label-restrictions/" 1681 + "tet:label-restriction/" 1682 + "tet:label-end/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 "WSON label."; 1689 case wson { 1690 uses te-wson-types:wson-link-label; 1691 } 1692 } 1694 /* Augment label hop of underlay primary path of connectivity-matrices 1695 information-source */ 1696 augment "/nw:networks/nw:network/nw:node/tet:te/" 1697 + "tet:information-source-entry/tet:connectivity-matrices/" 1698 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 1699 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1700 when "../../../../../../../../../" 1701 + "nw:network-types/tet:te-topology/" 1702 + "wson:wson-topology" { 1704 description "Augment WSON TE label"; 1705 } 1706 description "WSON label."; 1707 case wson { 1708 uses te-wson-types:wson-path-label; 1709 } 1710 } 1712 /* Augment label hop of underlay backup path of connectivity-matrices 1713 information-source */ 1714 augment "/nw:networks/nw:network/nw:node/tet:te/" 1715 + "tet:information-source-entry/tet:connectivity-matrices/" 1716 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 1717 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1718 when "../../../../../../../../../" 1719 + "nw:network-types/tet:te-topology/" 1720 + "wson:wson-topology" { 1721 description "Augment WSON TE label"; 1722 } 1723 description "WSON label."; 1724 case wson { 1725 uses te-wson-types:wson-path-label; 1726 } 1727 } 1729 /* Augment label hop of route-exclude of connectivity-matrices information- 1730 source */ 1731 augment "/nw:networks/nw:network/nw:node/tet:te/" 1732 + "tet:information-source-entry/tet:connectivity-matrices/" 1733 + "tet:optimizations/tet:algorithm/tet:metric/" 1734 + "tet:optimization-metric/" 1735 + "tet:explicit-route-exclude-objects/" 1736 + "tet:route-object-exclude-object/tet:type/" 1737 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1738 when "../../../../../../../../../../" 1739 + "nw:network-types/tet:te-topology/" 1740 + "wson:wson-topology" { 1741 description "Augment WSON TE label"; 1742 } 1743 description "WSON label."; 1744 case wson { 1745 uses te-wson-types:wson-path-label; 1746 } 1747 } 1749 /* Augment label hop of route-include of connectivity-matrices information- 1750 source */ 1751 augment "/nw:networks/nw:network/nw:node/tet:te/" 1752 + "tet:information-source-entry/tet:connectivity-matrices/" 1753 + "tet:optimizations/tet:algorithm/tet:metric/" 1754 + "tet:optimization-metric/" 1755 + "tet:explicit-route-include-objects/" 1756 + "tet:route-object-include-object/tet:type/" 1757 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1758 when "../../../../../../../../../../" 1759 + "nw:network-types/tet:te-topology/" 1760 + "wson:wson-topology" { 1761 description "Augment WSON TE label"; 1762 } 1763 description "WSON label."; 1764 case wson { 1765 uses te-wson-types:wson-path-label; 1766 } 1767 } 1769 /* Augment label hop of path-route of connectivity-matrices information- 1770 source */ 1771 augment "/nw:networks/nw:network/nw:node/tet:te/" 1772 + "tet:information-source-entry/tet:connectivity-matrices/" 1773 + "tet:path-properties/tet:path-route-objects/" 1774 + "tet:path-route-object/tet:type/" 1775 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1776 when "../../../../../../../../../" 1777 + "nw:network-types/tet:te-topology/" 1778 + "wson:wson-topology" { 1779 description "Augment WSON TE label"; 1780 } 1781 description "WSON label."; 1782 case wson { 1783 uses te-wson-types:wson-path-label; 1784 } 1785 } 1787 /* Augment ingress label restrictions of connectivity-matrix information- 1788 source */ 1789 augment "/nw:networks/nw:network/nw:node/tet:te/" 1790 + "tet:information-source-entry/tet:connectivity-matrices/" 1791 + "tet:connectivity-matrix/" 1792 + "tet:from/tet:label-restrictions/tet:label-restriction" { 1793 when "../../../../../../../../" 1794 + "nw:network-types/tet:te-topology/" 1795 + "wson:wson-topology" { 1796 description "Augment WSON TE label"; 1797 } 1798 description "WSON label."; 1799 uses te-wson-types:wson-label-restriction; 1800 } 1801 /* Augment ingress label restrictions start of connectivity-matrix 1802 information-source */ 1803 augment "/nw:networks/nw:network/nw:node/tet:te/" 1804 + "tet:information-source-entry/tet:connectivity-matrices/" 1805 + "tet:connectivity-matrix/" 1806 + "tet:from/tet:label-restrictions/" 1807 + "tet:label-restriction/" 1808 + "tet:label-start/tet:te-label/tet:technology" { 1809 when "../../../../../../../../../../" 1810 + "nw:network-types/tet:te-topology/" 1811 + "wson:wson-topology" { 1812 description "Augment WSON TE label"; 1813 } 1814 description "WSON label."; 1815 case wson { 1816 uses te-wson-types:wson-link-label; 1817 } 1818 } 1820 /* Augment ingress label restrictions end of connectivity-matrix 1821 information-source */ 1822 augment "/nw:networks/nw:network/nw:node/tet:te/" 1823 + "tet:information-source-entry/tet:connectivity-matrices/" 1824 + "tet:connectivity-matrix/" 1825 + "tet:from/tet:label-restrictions/" 1826 + "tet:label-restriction/" 1827 + "tet:label-end/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 "WSON label."; 1834 case wson { 1835 uses te-wson-types:wson-link-label; 1836 } 1837 } 1839 /* Augment egress label restrictions of connectivity-matrix information- 1840 source */ 1841 augment "/nw:networks/nw:network/nw:node/tet:te/" 1842 + "tet:information-source-entry/tet:connectivity-matrices/" 1843 + "tet:connectivity-matrix/" 1844 + "tet:to/tet:label-restrictions/tet:label-restriction" { 1845 when "../../../../../../../../" 1846 + "nw:network-types/tet:te-topology/" 1847 + "wson:wson-topology" { 1848 description "Augment WSON TE label"; 1849 } 1850 description "WSON label."; 1851 uses te-wson-types:wson-label-restriction; 1852 } 1854 /* Augment egress label restrictions start of connectivity-matrix 1855 information-source */ 1856 augment "/nw:networks/nw:network/nw:node/tet:te/" 1857 + "tet:information-source-entry/tet:connectivity-matrices/" 1858 + "tet:connectivity-matrix/" 1859 + "tet:to/tet:label-restrictions/tet:label-restriction/" 1860 + "tet:label-start/tet:te-label/tet:technology" { 1861 when "../../../../../../../../../../" 1862 + "nw:network-types/tet:te-topology/" 1863 + "wson:wson-topology" { 1864 description "Augment WSON TE label"; 1865 } 1866 description "WSON label."; 1867 case wson { 1868 uses te-wson-types:wson-link-label; 1869 } 1870 } 1872 /* Augment egress label restrictions end of connectivity-matrix information- 1873 source */ 1874 augment "/nw:networks/nw:network/nw:node/tet:te/" 1875 + "tet:information-source-entry/tet:connectivity-matrices/" 1876 + "tet:connectivity-matrix/" 1877 + "tet:to/tet:label-restrictions/tet:label-restriction/" 1878 + "tet:label-end/tet:te-label/tet:technology" { 1879 when "../../../../../../../../../../" 1880 + "nw:network-types/tet:te-topology/" 1881 + "wson:wson-topology" { 1882 description "Augment WSON TE label"; 1883 } 1884 description "WSON label."; 1885 case wson { 1886 uses te-wson-types:wson-link-label; 1887 } 1888 } 1890 /* Augment label hop of underlay primary path of connectivity-matrix 1891 information-source */ 1892 augment "/nw:networks/nw:network/nw:node/tet:te/" 1893 + "tet:information-source-entry/tet:connectivity-matrices/" 1894 + "tet:connectivity-matrix/" 1895 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 1896 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1897 when "../../../../../../../../../../" 1898 + "nw:network-types/tet:te-topology/" 1899 + "wson:wson-topology" { 1900 description "Augment WSON TE label"; 1901 } 1902 description "WSON label."; 1903 case wson { 1904 uses te-wson-types:wson-path-label; 1905 } 1906 } 1908 /* Augment label hop of underlay backup path of connectivity-matrix 1909 information-source */ 1910 augment "/nw:networks/nw:network/nw:node/tet:te/" 1911 + "tet:information-source-entry/tet:connectivity-matrices/" 1912 + "tet:connectivity-matrix/" 1913 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 1914 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1915 when "../../../../../../../../../../" 1916 + "nw:network-types/tet:te-topology/" 1917 + "wson:wson-topology" { 1918 description "Augment WSON TE label"; 1919 } 1920 description "WSON label."; 1921 case wson { 1922 uses te-wson-types:wson-path-label; 1923 } 1924 } 1926 /* Augment label hop of route-exclude of connectivity-matrix information- 1927 source */ 1928 augment "/nw:networks/nw:network/nw:node/tet:te/" 1929 + "tet:information-source-entry/tet:connectivity-matrices/" 1930 + "tet:connectivity-matrix/" 1931 + "tet:optimizations/tet:algorithm/tet:metric/" 1932 + "tet:optimization-metric/" 1933 + "tet:explicit-route-exclude-objects/" 1934 + "tet:route-object-exclude-object/tet:type/" 1935 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1936 when "../../../../../../../../../../../" 1937 + "nw:network-types/tet:te-topology/" 1938 + "wson:wson-topology" { 1939 description "Augment WSON TE label"; 1940 } 1941 description "WSON label."; 1942 case wson { 1943 uses te-wson-types:wson-path-label; 1944 } 1945 } 1947 /* Augment label hop of route-include of connectivity-matrix information- 1949 source */ 1950 augment "/nw:networks/nw:network/nw:node/tet:te/" 1951 + "tet:information-source-entry/tet:connectivity-matrices/" 1952 + "tet:connectivity-matrix/" 1953 + "tet:optimizations/tet:algorithm/tet:metric/" 1954 + "tet:optimization-metric/" 1955 + "tet:explicit-route-include-objects/" 1956 + "tet:route-object-include-object/tet:type/" 1957 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1958 when "../../../../../../../../../../../" 1959 + "nw:network-types/tet:te-topology/" 1960 + "wson:wson-topology" { 1961 description "Augment WSON TE label"; 1962 } 1963 description "WSON label."; 1964 case wson { 1965 uses te-wson-types:wson-path-label; 1966 } 1967 } 1969 /* Augment label hop of path-route of connectivity-matrix information-source 1970 */ 1971 augment "/nw:networks/nw:network/nw:node/tet:te/" 1972 + "tet:information-source-entry/tet:connectivity-matrices/" 1973 + "tet:connectivity-matrix/" 1974 + "tet:path-properties/tet:path-route-objects/" 1975 + "tet:path-route-object/tet:type/" 1976 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1977 when "../../../../../../../../../../" 1978 + "nw:network-types/tet:te-topology/" 1979 + "wson:wson-topology" { 1980 description "Augment WSON TE label"; 1981 } 1982 description "WSON label."; 1983 case wson { 1984 uses te-wson-types:wson-path-label; 1985 } 1986 } 1988 /* Augment label restrictions of local-link-connectivities */ 1989 augment "/nw:networks/nw:network/nw:node/tet:te/" 1990 + "tet:tunnel-termination-point/" 1991 + "tet:local-link-connectivities/" 1992 + "tet:label-restrictions/tet:label-restriction" { 1993 when "../../../../../../nw:network-types/tet:te-topology/" 1994 + "wson:wson-topology" { 1995 description "Augment WSON TE label"; 1996 } 1997 description "WSON label."; 1998 uses te-wson-types:wson-label-restriction; 1999 } 2001 /* Augment label restrictions start of local-link-connectivities */ 2002 augment "/nw:networks/nw:network/nw:node/tet:te/" 2003 + "tet:tunnel-termination-point/" 2004 + "tet:local-link-connectivities/" 2005 + "tet:label-restrictions/tet:label-restriction/" 2006 + "tet:label-start/" 2007 + "tet:te-label/tet:technology" { 2008 when "../../../../../../../../" 2009 + "nw:network-types/tet:te-topology/" 2010 + "wson:wson-topology" { 2011 description "Augment WSON TE label"; 2012 } 2013 description "WSON label."; 2014 case wson { 2015 uses te-wson-types:wson-link-label; 2016 } 2017 } 2019 /* Augment label restrictions end of local-link-connectivities */ 2020 augment "/nw:networks/nw:network/nw:node/tet:te/" 2021 + "tet:tunnel-termination-point/" 2022 + "tet:local-link-connectivities/" 2023 + "tet:label-restrictions/tet:label-restriction/" 2024 + "tet:label-end/" 2025 + "tet:te-label/tet:technology"{ 2026 when "../../../../../../../../" 2027 + "nw:network-types/tet:te-topology/" 2028 + "wson:wson-topology" { 2029 description "Augment WSON TE label"; 2030 } 2031 description "WSON label."; 2032 case wson { 2033 uses te-wson-types:wson-link-label; 2034 } 2035 } 2037 /* Augment label hop of underlay primary path of local-link-connectivities 2038 */ 2039 augment "/nw:networks/nw:network/nw:node/tet:te/" 2040 + "tet:tunnel-termination-point/" 2041 + "tet:local-link-connectivities/" 2042 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2043 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2044 when "../../../../../../../../../" 2045 + "nw:network-types/tet:te-topology/" 2046 + "wson:wson-topology" { 2048 description "Augment WSON TE label"; 2049 } 2050 description "WSON label."; 2051 case wson { 2052 uses te-wson-types:wson-path-label; 2053 } 2054 } 2056 /* Augment label hop of underlay backup path of local-link-connectivities */ 2057 augment "/nw:networks/nw:network/nw:node/tet:te/" 2058 + "tet:tunnel-termination-point/" 2059 + "tet:local-link-connectivities/" 2060 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2061 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2062 when "../../../../../../../../../" 2063 + "nw:network-types/tet:te-topology/" 2064 + "wson:wson-topology" { 2065 description "Augment WSON TE label"; 2066 } 2067 description "WSON label."; 2068 case wson { 2069 uses te-wson-types:wson-path-label; 2070 } 2071 } 2073 /* Augment label hop of route-exclude of local-link-connectivities */ 2074 augment "/nw:networks/nw:network/nw:node/tet:te/" 2075 + "tet:tunnel-termination-point/" 2076 + "tet:local-link-connectivities/" 2077 + "tet:optimizations/tet:algorithm/tet:metric/" 2078 + "tet:optimization-metric/" 2079 + "tet:explicit-route-exclude-objects/" 2080 + "tet:route-object-exclude-object/tet:type/" 2081 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2082 when "../../../../../../../../../../" 2083 + "nw:network-types/tet:te-topology/" 2084 + "wson:wson-topology" { 2085 description "Augment WSON TE label"; 2086 } 2087 description "WSON label."; 2088 case wson { 2089 uses te-wson-types:wson-path-label; 2090 } 2091 } 2093 /* Augment label hop of route-include of local-link-connectivities */ 2094 augment "/nw:networks/nw:network/nw:node/tet:te/" 2095 + "tet:tunnel-termination-point/" 2096 + "tet:local-link-connectivities/" 2097 + "tet:optimizations/tet:algorithm/tet:metric/" 2098 + "tet:optimization-metric/" 2099 + "tet:explicit-route-include-objects/" 2100 + "tet:route-object-include-object/tet:type/" 2101 + "tet:label/tet:label-hop/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 "WSON label."; 2108 case wson { 2109 uses te-wson-types:wson-path-label; 2110 } 2111 } 2113 /* Augment label hop of path-route of local-link-connectivities */ 2114 augment "/nw:networks/nw:network/nw:node/tet:te/" 2115 + "tet:tunnel-termination-point/" 2116 + "tet:local-link-connectivities/" 2117 + "tet:path-properties/tet:path-route-objects/" 2118 + "tet:path-route-object/tet:type/" 2119 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2120 when "../../../../../../../../../" 2121 + "nw:network-types/tet:te-topology/" 2122 + "wson:wson-topology" { 2123 description "Augment WSON TE label"; 2124 } 2125 description "WSON label."; 2126 case wson { 2127 uses te-wson-types:wson-path-label; 2128 } 2129 } 2131 /* Augment label restrictions of local-link-connectivity (LLC) */ 2132 augment "/nw:networks/nw:network/nw:node/tet:te/" 2133 + "tet:tunnel-termination-point/" 2134 + "tet:local-link-connectivities/" 2135 + "tet:local-link-connectivity/" 2136 + "tet:label-restrictions/tet:label-restriction" { 2137 when "../../../../../../../nw:network-types/tet:te-topology/" 2138 + "wson:wson-topology" { 2139 description "Augment WSON TE label"; 2140 } 2141 description "WSON label."; 2142 uses te-wson-types:wson-label-restriction; 2143 } 2145 /* Augment label restrictions start of local-link-connectivity (LLC) */ 2146 augment "/nw:networks/nw:network/nw:node/tet:te/" 2147 + "tet:tunnel-termination-point/" 2148 + "tet:local-link-connectivities/" 2149 + "tet:local-link-connectivity/" 2150 + "tet:label-restrictions/tet:label-restriction/" 2151 + "tet:label-start/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 "WSON label."; 2158 case wson { 2159 uses te-wson-types:wson-link-label; 2160 } 2161 } 2163 /* Augment label restrictions end of local-link-connectivity (LLC) */ 2164 augment "/nw:networks/nw:network/nw:node/tet:te/" 2165 + "tet:tunnel-termination-point/" 2166 + "tet:local-link-connectivities/" 2167 + "tet:local-link-connectivity/" 2168 + "tet:label-restrictions/tet:label-restriction/" 2169 + "tet:label-end/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 "WSON label."; 2176 case wson { 2177 uses te-wson-types:wson-link-label; 2178 } 2179 } 2181 /* Augment label hop of underlay primary path of local-link-connectivity 2182 (LLC) */ 2183 augment "/nw:networks/nw:network/nw:node/tet:te/" 2184 + "tet:tunnel-termination-point/" 2185 + "tet:local-link-connectivities/" 2186 + "tet:local-link-connectivity/" 2187 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2188 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2189 when "../../../../../../../../../../" 2190 + "nw:network-types/tet:te-topology/" 2191 + "wson:wson-topology" { 2192 description "Augment WSON TE label"; 2193 } 2194 description "WSON label."; 2195 case wson { 2196 uses te-wson-types:wson-path-label; 2197 } 2198 } 2200 /* Augment label hop of underlay backup path of local-link-connectivity 2201 (LLC) */ 2202 augment "/nw:networks/nw:network/nw:node/tet:te/" 2203 + "tet:tunnel-termination-point/" 2204 + "tet:local-link-connectivities/" 2205 + "tet:local-link-connectivity/" 2206 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2207 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2208 when "../../../../../../../../../../" 2209 + "nw:network-types/tet:te-topology/" 2210 + "wson:wson-topology" { 2211 description "Augment WSON TE label"; 2212 } 2213 description "WSON label."; 2214 case wson { 2215 uses te-wson-types:wson-path-label; 2216 } 2217 } 2219 /* Augment label hop of route-exclude of local-link-connectivity (LLC) */ 2220 augment "/nw:networks/nw:network/nw:node/tet:te/" 2221 + "tet:tunnel-termination-point/" 2222 + "tet:local-link-connectivities/" 2223 + "tet:local-link-connectivity/" 2224 + "tet:optimizations/tet:algorithm/tet:metric/" 2225 + "tet:optimization-metric/" 2226 + "tet:explicit-route-exclude-objects/" 2227 + "tet:route-object-exclude-object/tet:type/" 2228 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2229 when "../../../../../../../../../../../" 2230 + "nw:network-types/tet:te-topology/" 2231 + "wson:wson-topology" { 2232 description "Augment WSON TE label"; 2233 } 2234 description "WSON label."; 2235 case wson { 2236 uses te-wson-types:wson-path-label; 2237 } 2238 } 2240 /* Augment label hop of route-include of local-link-connectivity (LLC) */ 2241 augment "/nw:networks/nw:network/nw:node/tet:te/" 2242 + "tet:tunnel-termination-point/" 2243 + "tet:local-link-connectivities/" 2244 + "tet:local-link-connectivity/" 2245 + "tet:optimizations/tet:algorithm/tet:metric/" 2246 + "tet:optimization-metric/" 2247 + "tet:explicit-route-include-objects/" 2248 + "tet:route-object-include-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 "WSON label."; 2256 case wson { 2257 uses te-wson-types:wson-path-label; 2258 } 2259 } 2261 /* Augment label hop of path-route of local-link-connectivity (LLC) */ 2262 augment "/nw:networks/nw:network/nw:node/tet:te/" 2263 + "tet:tunnel-termination-point/" 2264 + "tet:local-link-connectivities/" 2265 + "tet:local-link-connectivity/" 2266 + "tet:path-properties/tet:path-route-objects/" 2267 + "tet:path-route-object/tet:type/" 2268 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2269 when "../../../../../../../../../../" 2270 + "nw:network-types/tet:te-topology/" 2271 + "wson:wson-topology" { 2272 description "Augment WSON TE label"; 2273 } 2274 description "WSON label."; 2275 case wson { 2276 uses te-wson-types:wson-path-label; 2277 } 2278 } 2280 /* Augment label hop of underlay primary path of TE link */ 2281 augment "/nw:networks/nw:network/nt:link/tet:te/" 2282 + "tet:te-link-attributes/" 2283 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2284 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2285 when "../../../../../../../../" 2286 + "nw:network-types/tet:te-topology/" 2287 + "wson:wson-topology" { 2288 description "Augment WSON TE label"; 2289 } 2290 description "WSON label."; 2291 case wson { 2292 uses te-wson-types:wson-path-label; 2294 } 2295 } 2297 /* Augment label hop of underlay backup path of TE link */ 2298 augment "/nw:networks/nw:network/nt:link/tet:te/" 2299 + "tet:te-link-attributes/" 2300 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2301 + "tet:label/tet:label-hop/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 "WSON label."; 2308 case wson { 2309 uses te-wson-types:wson-path-label; 2310 } 2311 } 2313 /* Augment label restrictions of TE link */ 2314 augment "/nw:networks/nw:network/nt:link/tet:te/" 2315 + "tet:te-link-attributes/" 2316 + "tet:label-restrictions/tet:label-restriction" { 2317 when "../../../../../nw:network-types/tet:te-topology/" 2318 + "wson:wson-topology" { 2319 description "Augment WSON TE label"; 2320 } 2321 description "WSON label."; 2322 uses te-wson-types:wson-label-restriction; 2323 } 2325 /* Augment label restrictions start of TE link */ 2326 augment "/nw:networks/nw:network/nt:link/tet:te/" 2327 + "tet:te-link-attributes/" 2328 + "tet:label-restrictions/tet:label-restriction/" 2329 + "tet:label-start/tet:te-label/tet:technology" { 2330 when "../../../../../../../nw:network-types/tet:te-topology/" 2331 + "wson:wson-topology" { 2332 description "Augment WSON TE label"; 2333 } 2334 description "WSON label."; 2335 case wson { 2336 uses te-wson-types:wson-link-label; 2337 } 2338 } 2340 /* Augment label restrictions end of TE link */ 2341 augment "/nw:networks/nw:network/nt:link/tet:te/" 2342 + "tet:te-link-attributes/" 2343 + "tet:label-restrictions/tet:label-restriction/" 2344 + "tet:label-end/tet:te-label/tet:technology" { 2345 when "../../../../../../../nw:network-types/tet:te-topology/" 2346 + "wson:wson-topology" { 2347 description "Augment WSON TE label"; 2348 } 2349 description "WSON label."; 2350 case wson { 2351 uses te-wson-types:wson-link-label; 2352 } 2353 } 2355 /* Augment label restrictions of TE link information-source */ 2356 augment "/nw:networks/nw:network/nt:link/tet:te/" 2357 + "tet:information-source-entry/" 2358 + "tet:label-restrictions/tet:label-restriction" { 2359 when "../../../../../nw:network-types/tet:te-topology/" 2360 + "wson:wson-topology" { 2361 description "Augment WSON TE label"; 2362 } 2363 description "WSON label."; 2364 uses te-wson-types:wson-label-restriction; 2365 } 2367 /* Augment label restrictions start of TE link information-source */ 2368 augment "/nw:networks/nw:network/nt:link/tet:te/" 2369 + "tet:information-source-entry/" 2370 + "tet:label-restrictions/tet:label-restriction/" 2371 + "tet:label-start/tet:te-label/tet:technology" { 2372 when "../../../../../../../nw:network-types/tet:te-topology/" 2373 + "wson:wson-topology" { 2374 description "Augment WSON TE label"; 2375 } 2376 description "WSON label."; 2377 case wson { 2378 uses te-wson-types:wson-link-label; 2379 } 2380 } 2382 /* Augment label restrictions end of TE link information-source */ 2383 augment "/nw:networks/nw:network/nt:link/tet:te/" 2384 + "tet:information-source-entry/" 2385 + "tet:label-restrictions/tet:label-restriction/" 2386 + "tet:label-end/tet:te-label/tet:technology" { 2387 when "../../../../../../../nw:network-types/tet:te-topology/" 2388 + "wson:wson-topology" { 2389 description "Augment WSON TE label"; 2390 } 2391 description "WSON label."; 2392 case wson { 2393 uses te-wson-types:wson-link-label; 2394 } 2395 } 2397 /* Augment label hop of underlay primary path of TE link template */ 2398 augment "/nw:networks/tet:te/tet:templates/" 2399 + "tet:link-template/tet:te-link-attributes/" 2400 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2401 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2402 /* 2403 when "../../../../../../../../../" 2404 + "nw:network-types/tet:te-topology/" 2405 + "wson:wson-topology" { 2406 description "Augment WSON TE label"; 2407 } 2408 */ 2409 description "WSON label."; 2410 case wson { 2411 uses te-wson-types:wson-path-label; 2412 } 2413 } 2415 /* Augment label hop of underlay backup path of TE link template */ 2416 augment "/nw:networks/tet:te/tet:templates/" 2417 + "tet:link-template/tet:te-link-attributes/" 2418 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2419 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2420 /* 2421 when "../../../../../../../../../" 2422 + "nw:network-types/tet:te-topology/" 2423 + "wson:wson-topology" { 2424 description "Augment WSON TE label"; 2425 } 2426 */ 2427 description "WSON label."; 2428 case wson { 2429 uses te-wson-types:wson-path-label; 2430 } 2431 } 2433 /* Augment label restrictions of TE link template */ 2434 augment "/nw:networks/tet:te/tet:templates/" 2435 + "tet:link-template/tet:te-link-attributes/" 2436 + "tet:label-restrictions/tet:label-restriction" { 2437 /* 2438 when "../../../../../nw:network-types/tet:te-topology/" 2439 + "wson:wson-topology" { 2440 description "Augment WSON TE label"; 2442 } 2443 */ 2444 description "WSON label."; 2445 uses te-wson-types:wson-label-restriction; 2446 } 2448 /* Augment label restrictions start of TE link template */ 2449 augment "/nw:networks/tet:te/tet:templates/" 2450 + "tet:link-template/tet:te-link-attributes/" 2451 + "tet:label-restrictions/tet:label-restriction/" 2452 + "tet:label-start/tet:te-label/tet:technology" { 2453 /* 2454 when "../../../../../../../nw:network-types/tet:te-topology/" 2455 + "wson:wson-topology" { 2456 description "Augment WSON TE label"; 2457 } 2458 */ 2459 description "WSON label."; 2460 case wson { 2461 uses te-wson-types:wson-link-label; 2462 } 2463 } 2465 /* Augment label restrictions end of TE link template */ 2466 augment "/nw:networks/tet:te/tet:templates/" 2467 + "tet:link-template/tet:te-link-attributes/" 2468 + "tet:label-restrictions/tet:label-restriction/" 2469 + "tet:label-end/tet:te-label/tet:technology" { 2470 /* 2471 when "../../../../../../../nw:network-types/tet:te-topology/" 2472 + "wson:wson-topology" { 2473 description "Augment WSON TE label"; 2474 } 2475 */ 2476 description "WSON label."; 2477 case wson { 2478 uses te-wson-types:wson-link-label; 2479 } 2480 } 2481 } 2483 2485 4. IETF-TE-WSON-Types YANG Model 2487 file "ietf-te-wson-types@2018-08-15.yang" 2488 module ietf-te-wson-types { 2489 namespace "urn:ietf:params:xml:ns:yang:ietf-te-wson-types"; 2490 prefix "te-wson-types"; 2492 organization 2493 "IETF CCAMP Working Group"; 2494 contact 2495 "WG Web: 2496 WG List: 2498 Editor: Aihua Guo 2499 2501 Editor: Young Lee 2502 "; 2504 description 2505 "This module defines WSON types."; 2507 revision "2018-08-15" { 2508 description 2509 "Revision 3"; 2510 reference "TBD"; 2511 } 2513 typedef operational-mode { 2514 type string; 2515 description 2516 "Vendor-specific mode that guarantees interoperability. 2517 It must be an string with the following format: 2518 B-DScW-ytz(v) where all these attributes are conformant 2519 to the ITU-T recomendation"; 2520 reference "ITU-T G.698.2 (11/2009) Section 5.3"; 2521 } 2523 identity wson-node-type { 2524 description 2525 "WSON node type."; 2526 reference 2527 "RFC6163"; 2528 } 2530 identity wson-node-foadm { 2531 base wson-node-type; 2532 description 2533 "Fixed OADM node."; 2534 } 2535 identity wson-node-roadm { 2536 base wson-node-type; 2537 description 2538 "ROADM or OXC node."; 2539 } 2541 identity wson-node-ila { 2542 base wson-node-type; 2543 description 2544 "ILA (In-Line Amplifier) node."; 2545 } 2547 identity wavelength-assignment { 2548 description 2549 "Wavelength selection base"; 2550 } 2552 identity unspecified-wavelength-assignment { 2553 base wavelength-assignment; 2554 description 2555 "No method specified"; 2556 } 2558 identity first-fit-wavelength-asignment { 2559 base wavelength-assignment; 2560 description 2561 "All the available wavelengths are numbered, 2562 and this WA method chooses the available wavelength 2563 with the lowest index."; 2564 } 2566 identity random-wavelength-asignment { 2567 base wavelength-assignment; 2568 description 2569 "This WA method chooses an available 2570 wavelength randomly."; 2571 } 2573 identity least-loaded-wavelength-asignment { 2574 base wavelength-assignment; 2575 description 2576 "This WA method selects the wavelength that 2577 has the largest residual capacity on the most loaded 2578 link along the route (in muli-fiber networks)."; 2580 } 2582 identity wson-grid-type { 2583 description 2584 "WSON grid type."; 2585 } 2587 identity wson-grid-dwdm { 2588 base wson-grid-type; 2589 description 2590 "DWDM grid."; 2591 } 2593 identity wson-grid-cwdm { 2594 base wson-grid-type; 2595 description 2596 "CWDM grid."; 2597 } 2599 identity wson-bandwidth-type { 2600 description 2601 "Bandwidth type carried by a single wavelength channel."; 2602 } 2604 identity wson-bw-otu1 { 2605 base wson-bandwidth-type; 2606 description 2607 "OTU1 (2.66G)"; 2608 } 2610 identity wson-bw-otu1e { 2611 base wson-bandwidth-type; 2612 description 2613 "OTU1e(11.04G)"; 2614 } 2616 identity wson-bw-otu1f { 2617 base wson-bandwidth-type; 2618 description 2619 "OTU1f(11.27G)"; 2620 } 2622 identity wson-bw-otu2 { 2623 base wson-bandwidth-type; 2624 description 2625 "OTU2 (10.70G)"; 2626 } 2628 identity wson-bw-otu2e { 2629 base wson-bandwidth-type; 2630 description 2631 "OTU2e (11.09G)"; 2632 } 2634 identity wson-bw-otu2f { 2635 base wson-bandwidth-type; 2636 description 2637 "OTU2f (11.31G)"; 2638 } 2640 identity wson-bw-otu3 { 2641 base wson-bandwidth-type; 2642 description 2643 "OTU3 (43.01G)"; 2644 } 2646 identity wson-bw-otu3e1 { 2647 base wson-bandwidth-type; 2648 description 2649 "OTU3e1 (44.57G)"; 2650 } 2652 identity wson-bw-otu3e2 { 2653 base wson-bandwidth-type; 2654 description 2655 "OTU3e2 (44.58G)"; 2656 } 2658 identity wson-bw-otu4 { 2659 base wson-bandwidth-type; 2660 description 2661 "OTU4 (111.80G)"; 2662 } 2664 identity wson-bw-otucn { 2665 base wson-bandwidth-type; 2666 description 2667 "OTUCn (beyond 100G)"; 2668 } 2669 identity dwdm-ch-spc-type { 2670 description 2671 "DWDM channel spacing type."; 2672 } 2674 identity dwdm-100ghz { 2675 base dwdm-ch-spc-type; 2676 description 2677 "100GHz channel spacing"; 2678 } 2680 identity dwdm-50ghz { 2681 base dwdm-ch-spc-type; 2682 description 2683 "50GHz channel spacing"; 2684 } 2686 identity dwdm-25ghz { 2687 base dwdm-ch-spc-type; 2688 description 2689 "25GHz channel spacing"; 2690 } 2692 identity dwdm-12p5ghz { 2693 base dwdm-ch-spc-type; 2694 description 2695 "12.5GHz channel spacing"; 2696 } 2698 identity cwdm-ch-spc-type { 2699 description 2700 "CWDM channel spacing type."; 2701 } 2703 identity cwdm-20nm { 2704 base cwdm-ch-spc-type; 2705 description 2706 "20nm channel spacing"; 2707 } 2709 identity fec-type { 2710 description 2711 "FEC type."; 2712 } 2713 identity g-fec { 2714 base fec-type; 2715 description 2716 "G-FEC."; 2717 } 2718 identity e-fec { 2719 base fec-type; 2720 description 2721 "E-FEC."; 2722 } 2723 identity no-fec { 2724 base fec-type; 2725 description 2726 "No FEC."; 2727 } 2729 identity term-type { 2730 description 2731 "Termination type."; 2732 } 2734 identity term-phys { 2735 base term-type; 2736 description 2737 "PHYS."; 2738 } 2739 identity term-otu { 2740 base term-type; 2741 description 2742 "OTU."; 2743 } 2744 identity term-odu { 2745 base term-type; 2746 description 2747 "ODU."; 2748 } 2749 identity term-opu { 2750 base term-type; 2751 description 2752 "OPU."; 2753 } 2754 identity term-section { 2755 base term-type; 2756 description 2757 "Section."; 2759 } 2761 /* Groupings. */ 2762 grouping wson-path-bandwidth { 2763 description "WSON path bandwidth attributes"; 2764 leaf bandwidth-type { 2765 type identityref { 2766 base wson-bandwidth-type; 2767 } 2768 description "WSON bandwidth type"; 2769 } 2770 } 2772 grouping wson-link-bandwidth { 2773 description "WSON link bandwidth attributes"; 2774 leaf-list supported-bandwidth-list { 2775 type identityref { 2776 base wson-bandwidth-type; 2777 } 2778 description "WSON bandwidth type"; 2779 } 2780 } 2782 grouping wson-label { 2783 description 2784 "Generic label for WSON links and paths"; 2785 choice grid-type { 2786 description 2787 "Label for DWDM or CWDM grid"; 2788 case dwdm { 2789 leaf channel-freq { 2790 type decimal64 { 2791 fraction-digits 5; 2792 } 2793 units THz; 2794 description 2795 "The DWDM frequency in THz, e.g. 193.12500"; 2796 reference 2797 "RFC6205"; 2798 } 2799 } 2800 case cwdm { 2801 leaf channel-wavelength { 2802 type uint32; 2803 units nm; 2804 description 2805 "The CWDM wavelength in nanometer, e.g. 1511"; 2806 reference 2807 "RFC6205"; 2808 } 2809 } 2810 } 2811 } 2813 grouping wson-link-label { 2814 description 2815 "Link label information for WSON links, for label-start/end"; 2816 uses te-wson-types:wson-label; 2817 } 2819 grouping wson-path-label { 2820 description 2821 "Path label information for WSON links, for label-hop"; 2822 uses te-wson-types:wson-label; 2823 } 2825 grouping wson-label-restriction { 2826 description 2827 "WSON label restriction."; 2829 leaf grid-type { 2830 type identityref { 2831 base te-wson-types:wson-grid-type; 2832 } 2833 description "Grid type"; 2834 } 2835 leaf priority { 2836 type uint8; 2837 description "priority."; 2838 } 2839 } 2841 grouping wson-label-step { 2842 description "Label step information for WSON"; 2843 choice wson-grid-type { 2844 description 2845 " WSON grid-type: DWDM, CWDM, etc."; 2846 case dwdm { 2847 leaf wson-dwdm { 2848 type identityref { 2849 base te-wson-types:dwdm-ch-spc-type; 2850 } 2851 description 2852 "Label-step is the channel-spacing (GHz), e.g., 2853 100, 50, 25, or 12.5 GHz for DWDM."; 2854 reference 2855 "rfc6205"; 2856 } 2857 } 2858 case cwdm { 2859 leaf wson-cwdm { 2860 type identityref { 2861 base te-wson-types:cwdm-ch-spc-type; 2862 } 2863 description 2864 "label-step is the channel-spacing (nm), i.e., 2865 20 nm for CWDM, which is the only value defined for CWDM."; 2866 reference 2867 "rfc6205."; 2868 } 2869 } 2870 } 2871 } 2872 } 2874 2876 5. Security Considerations 2878 The configuration, state, and action data defined in this document 2879 are designed to be accessed via a management protocol with a secure 2880 transport layer, such as NETCONF [RFC6241]. The NETCONF access 2881 control model [RFC6536] provides the means to restrict access for 2882 particular NETCONF users to a preconfigured subset of all available 2883 NETCONF protocol operations and content. 2885 A number of configuration data nodes defined in this document are 2886 writable/deletable (i.e., "config true") These data nodes may be 2887 considered sensitive or vulnerable in some network environments. 2889 6. IANA Considerations 2891 This document registers the following namespace URIs in the IETF XML 2892 registry [RFC3688]: 2894 -------------------------------------------------------------------- 2895 URI: urn:ietf:params:xml:ns:yang: ietf-wson-topology 2896 Registrant Contact: The IESG. 2897 XML: N/A, the requested URI is an XML namespace. 2898 -------------------------------------------------------------------- 2899 URI: urn:ietf:params:xml:ns:yang: ietf-te-wson-types 2900 Registrant Contact: The IESG. 2901 XML: N/A, the requested URI is an XML namespace. 2902 -------------------------------------------------------------------- 2904 This document registers the following YANG modules in the YANG 2905 Module Names registry [RFC7950]: 2907 -------------------------------------------------------------------- 2908 name: ietf-wson-topology 2909 namespace: urn:ietf:params:xml:ns:yang:ietf-wson-topology 2910 reference: RFC XXXX (TDB) 2911 -------------------------------------------------------------------- 2912 name: ietf-te-wson-types 2913 namespace: urn:ietf:params:xml:ns:yang: ietf-te-wson-types 2914 reference: RFC XXXX (TDB) 2915 -------------------------------------------------------------------- 2917 7. Acknowledgments 2919 This document was prepared using 2-Word-v2.0.template.dot. 2921 8. References 2923 8.1. Normative References 2925 [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work 2926 in progress: draft-ietf-teas-yang-te-topo. 2928 8.2. Informative References 2930 [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and 2931 Wavelength Assignment Information Model for Wavelength 2932 Switched Optical Networks", RFC 7446, Feburary 2015. 2934 [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General 2935 Network Element Constraint Encoding for GMPLS Controlled 2936 Networks", RFC 7579, June 2015. 2938 [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and 2939 Wavelength Assignment Information Encoding for Wavelength 2940 Switched Optical Networks", RFC 7581, June 2015. 2942 9. Contributors 2944 Authors' Addresses 2946 Young Lee (ed.) 2947 Huawei Technologies 2948 5340 Legacy Drive, Building 3 2949 Plano, TX 75023 2950 USA 2952 Phone: (469) 277-5838 2953 Email: leeyoung@huawei.com 2955 Dhruv Dhody 2956 Huawei Technologies India Pvt. Ltd, 2957 Near EPIP Industrial Area, Kundalahalli Village, Whitefield, 2958 Bangalore - 560 037 [H1-2A-245] 2959 Email: dhruv.dhody@huawei.com 2961 Xian Zhang 2962 Huawei Technologies 2964 Email: zhang.xian@huawei.com 2966 Aihua Guo 2967 Huawei Technologies 2968 Email: aihuaguo@huawei.com 2970 Victor Lopez 2971 Telefonica 2972 Email: victor.lopezalvarez@telefonica.com 2974 Daniel King 2975 University of Lancaster 2976 Email: d.king@lancaster.ac.uk 2978 Bin Yeong Yoon 2979 ETRI 2980 218 Gaijeongro, Yuseong-gu 2981 Daejeon, Korea 2982 Email: byyun@etri.re.kr 2984 Ricard Vilalta 2985 CTTC 2986 Email: ricard.vilalta@cttc.es