idnits 2.17.1 draft-ietf-ccamp-wson-yang-12.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 113 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 21, 2018) is 2075 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 2866, but not defined == Missing Reference: 'RFC6536' is mentioned on line 2867, but not defined ** Obsolete undefined reference: RFC 6536 (Obsoleted by RFC 8341) == Missing Reference: 'RFC3688' is mentioned on line 2878, but not defined == Missing Reference: 'RFC7950' is mentioned on line 2891, but not defined == Missing Reference: 'H1-2A-245' is mentioned on line 2944, 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 21, 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 21, 2018 20 A Yang Data Model for WSON Optical Networks 22 draft-ietf-ccamp-wson-yang-12 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 21, 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.................................53 73 5. Security Considerations.......................................61 74 6. IANA Considerations...........................................62 75 7. Acknowledgments...............................................62 76 8. References....................................................63 77 8.1. Normative References.....................................63 78 8.2. Informative References...................................63 79 9. Contributors..................................................63 80 Authors' Addresses...............................................63 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-21.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 } 816 import ietf-te-topology { 817 prefix "tet"; 818 } 820 import ietf-te-wson-types { 821 prefix "te-wson-types"; 822 } 824 organization 825 "IETF CCAMP Working Group"; 827 contact 828 "Editor: Young Lee "; 830 description 831 "This module contains a collection of YANG definitions for 832 RWA WSON. 834 Copyright (c) 2018 IETF Trust and the persons identified 835 as authors of the code. All rights reserved. 837 Redistribution and use in source and binary forms, with 838 or without modification, is permitted pursuant to, and 839 subject to the license terms contained in, the Simplified BSD 840 License set forth in Section 4.c of the IETF Trust's Legal 841 Provisions Relating to IETF Documents 842 (http://trustee.ietf.org/license-info)."; 844 revision 2018-08-21 { 845 description 846 "version 11."; 848 reference 849 "RFC XXX: A Yang Data Model for WSON Optical Networks "; 850 } 852 grouping wson-node-attributes { 853 description "WSON node attributes"; 854 container wson-node { 855 description "WSON node attrtibutes."; 856 leaf node-type { 857 type identityref { 858 base te-wson-types:wson-node-type; 859 } 860 description "WSON node type."; 861 } 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 } 910 leaf configured-operational-modes { 911 type te-wson-types:operational-mode; 912 description 913 "Vendor-specific mode identifier configured 914 on the TTP."; 915 } 917 leaf-list supported-fec-types { 918 type identityref { 919 base te-wson-types:fec-type; 920 } 921 description 922 "List of all supported FEC types by this TTP."; 923 } 925 leaf-list supported-termination-types { 926 type identityref { 927 base te-wson-types:term-type; 928 } 929 description 930 "List of all supported termination types by this TTP."; 931 } 933 leaf supports-bit-stuffing { 934 type boolean; 935 description 936 "Indicate whether bit stuffing is supported by this TTP."; 937 } 938 } 940 /* 941 * Data nodes 942 */ 944 augment "/nw:networks/nw:network/nw:network-types" 945 + "/tet:te-topology" { 946 description "wson-topology augmented"; 947 container wson-topology { 948 presence "indicates a topology of WSON"; 949 description 950 "Container to identify WSON topology type"; 951 } 952 } 954 augment "/nw:networks/nw:network/nt:link/tet:te" 955 + "/tet:te-link-attributes" { 957 when "/nw:networks/nw:network/nw:network-types" 958 +"/tet:te-topology/wson:wson-topology" { 959 description "This augment is only valid for WSON."; 960 } 961 description "WSON Link augmentation."; 962 uses wson-link-attributes; 963 } 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" { 1005 when "../../../../../../../nw:network-types/tet:te-topology/" 1006 + "wson:wson-topology" { 1007 description "Augment WSON TE bandwidth"; 1008 } 1009 description "WSON bandwidth."; 1010 case wson { 1011 uses te-wson-types:wson-path-bandwidth; 1012 } 1013 } 1015 /* Augment bandwidth path constraints of connectivity-matrices */ 1016 augment "/nw:networks/nw:network/nw:node/tet:te/" 1017 + "tet:te-node-attributes/tet:connectivity-matrices/" 1018 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1019 when "../../../../../../../nw:network-types/tet:te-topology/" 1020 + "wson:wson-topology" { 1021 description "Augment WSON TE bandwidth"; 1022 } 1023 description "WSON bandwidth."; 1024 case wson { 1025 uses te-wson-types:wson-link-bandwidth; 1026 } 1027 } 1029 /* Augment bandwidth path constraints of connectivity-matrix */ 1030 augment "/nw:networks/nw:network/nw:node/tet:te/" 1031 + "tet:te-node-attributes/tet:connectivity-matrices/" 1032 + "tet:connectivity-matrix/" 1033 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1034 when "../../../../../../../../nw:network-types/tet:te-topology/" 1035 + "wson:wson-topology" { 1036 description "Augment WSON TE bandwidth"; 1037 } 1038 description "WSON bandwidth."; 1039 case wson { 1040 uses te-wson-types:wson-link-bandwidth; 1041 } 1042 } 1044 /* Augment bandwidth path constraints of connectivity-matrices information- 1045 source */ 1046 augment "/nw:networks/nw:network/nw:node/tet:te/" 1047 + "tet:information-source-entry/tet:connectivity-matrices/" 1048 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1049 when "../../../../../../../nw:network-types/tet:te-topology/" 1050 + "wson:wson-topology" { 1051 description "Augment WSON TE bandwidth"; 1053 } 1054 description "WSON bandwidth."; 1055 case wson { 1056 uses te-wson-types:wson-link-bandwidth; 1057 } 1058 } 1060 /* Augment bandwidth path constraints of connectivity-matrix information- 1061 source */ 1062 augment "/nw:networks/nw:network/nw:node/tet:te/" 1063 + "tet:information-source-entry/tet:connectivity-matrices/" 1064 + "tet:connectivity-matrix/" 1065 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1066 when "../../../../../../../../nw:network-types/tet:te-topology/" 1067 + "wson:wson-topology" { 1068 description "Augment WSON TE bandwidth"; 1069 } 1070 description "WSON bandwidth."; 1071 case wson { 1072 uses te-wson-types:wson-link-bandwidth; 1073 } 1074 } 1076 /* Augment client bandwidth of tunnel termination point (TTP) */ 1077 augment "/nw:networks/nw:network/nw:node/tet:te/" 1078 + "tet:tunnel-termination-point/" 1079 + "tet:client-layer-adaptation/tet:switching-capability/" 1080 + "tet:te-bandwidth/tet:technology" { 1081 when "../../../../../../../nw:network-types/tet:te-topology/" 1082 + "wson:wson-topology" { 1083 description "Augment WSON TE bandwidth"; 1084 } 1085 description "WSON bandwidth."; 1086 case wson { 1087 uses te-wson-types:wson-link-bandwidth; 1088 } 1089 } 1091 /* Augment bandwidth path constraints of local-link-connectivities */ 1092 augment "/nw:networks/nw:network/nw:node/tet:te/" 1093 + "tet:tunnel-termination-point/" 1094 + "tet:local-link-connectivities/tet:path-constraints/" 1095 + "tet:te-bandwidth/tet:technology" { 1096 when "../../../../../../../nw:network-types/tet:te-topology/" 1097 + "wson:wson-topology" { 1098 description "Augment WSON TE bandwidth"; 1099 } 1100 description "WSON bandwidth."; 1101 case wson { 1102 uses te-wson-types:wson-link-bandwidth; 1103 } 1104 } 1106 /* Augment bandwidth path constraints of local-link-connectivity (LLC) */ 1107 augment "/nw:networks/nw:network/nw:node/tet:te/" 1108 + "tet:tunnel-termination-point/" 1109 + "tet:local-link-connectivities/" 1110 + "tet:local-link-connectivity/tet:path-constraints/" 1111 + "tet:te-bandwidth/tet:technology" { 1112 when "../../../../../../../../nw:network-types/tet:te-topology/" 1113 + "wson:wson-topology" { 1114 description "Augment WSON TE bandwidth"; 1115 } 1116 description "WSON bandwidth."; 1117 case wson { 1118 uses te-wson-types:wson-link-bandwidth; 1119 } 1120 } 1122 /* Augment maximum LSP bandwidth of TE link */ 1123 augment "/nw:networks/nw:network/nt:link/tet:te/" 1124 + "tet:te-link-attributes/" 1125 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 1126 + "tet:te-bandwidth/tet:technology" { 1127 when "../../../../../../../nw:network-types/tet:te-topology/" 1128 + "wson:wson-topology" { 1129 description "WSON TE bandwidth."; 1130 } 1131 description "WSON bandwidth."; 1132 case wson { 1133 uses te-wson-types:wson-path-bandwidth; 1134 } 1135 } 1137 /* Augment maximum bandwidth of TE link */ 1138 augment "/nw:networks/nw:network/nt:link/tet:te/" 1139 + "tet:te-link-attributes/" 1140 + "tet:max-link-bandwidth/" 1141 + "tet:te-bandwidth/tet:technology" { 1142 when "../../../../../../nw:network-types/tet:te-topology/" 1143 + "wson:wson-topology" { 1144 description "WSON TE bandwidth."; 1145 } 1146 description "WSON bandwidth."; 1147 case wson { 1148 uses te-wson-types:wson-link-bandwidth; 1149 } 1150 } 1152 /* Augment maximum reservable bandwidth of TE link */ 1153 augment "/nw:networks/nw:network/nt:link/tet:te/" 1154 + "tet:te-link-attributes/" 1155 + "tet:max-resv-link-bandwidth/" 1156 + "tet:te-bandwidth/tet:technology" { 1157 when "../../../../../../nw:network-types/tet:te-topology/" 1158 + "wson:wson-topology" { 1159 description "WSON TE bandwidth."; 1160 } 1161 description "WSON bandwidth."; 1162 case wson { 1163 uses te-wson-types:wson-link-bandwidth; 1164 } 1165 } 1167 /* Augment unreserved bandwidth of TE Link */ 1168 augment "/nw:networks/nw:network/nt:link/tet:te/" 1169 + "tet:te-link-attributes/" 1170 + "tet:unreserved-bandwidth/" 1171 + "tet:te-bandwidth/tet:technology" { 1172 when "../../../../../../nw:network-types/tet:te-topology/" 1173 + "wson:wson-topology" { 1174 description "WSON TE bandwidth."; 1175 } 1176 description "WSON bandwidth."; 1177 case wson { 1178 uses te-wson-types:wson-link-bandwidth; 1179 } 1180 } 1182 /* Augment maximum LSP bandwidth of TE link information-source */ 1183 augment "/nw:networks/nw:network/nt:link/tet:te/" 1184 + "tet:information-source-entry/" 1185 + "tet:interface-switching-capability/" 1186 + "tet:max-lsp-bandwidth/" 1187 + "tet:te-bandwidth/tet:technology" { 1188 when "../../../../../../../nw:network-types/tet:te-topology/" 1189 + "wson:wson-topology" { 1190 description "WSON TE bandwidth."; 1191 } 1192 description "WSON bandwidth."; 1193 case wson { 1194 uses te-wson-types:wson-path-bandwidth; 1195 } 1196 } 1198 /* Augment maximum bandwidth of TE link information-source */ 1199 augment "/nw:networks/nw:network/nt:link/tet:te/" 1200 + "tet:information-source-entry/" 1201 + "tet:max-link-bandwidth/" 1202 + "tet:te-bandwidth/tet:technology" { 1203 when "../../../../../../nw:network-types/tet:te-topology/" 1204 + "wson:wson-topology" { 1205 description "WSON TE bandwidth."; 1206 } 1207 description "WSON bandwidth."; 1208 case wson { 1209 uses te-wson-types:wson-link-bandwidth; 1210 } 1211 } 1213 /* Augment maximum reservable bandwidth of TE link information-source */ 1214 augment "/nw:networks/nw:network/nt:link/tet:te/" 1215 + "tet:information-source-entry/" 1216 + "tet:max-resv-link-bandwidth/" 1217 + "tet:te-bandwidth/tet:technology" { 1218 when "../../../../../../nw:network-types/tet:te-topology/" 1219 + "wson:wson-topology" { 1220 description "WSON TE bandwidth."; 1221 } 1222 description "WSON bandwidth."; 1223 case wson { 1224 uses te-wson-types:wson-link-bandwidth; 1225 } 1226 } 1228 /* Augment unreserved bandwidth of TE link information-source */ 1229 augment "/nw:networks/nw:network/nt:link/tet:te/" 1230 + "tet:information-source-entry/" 1231 + "tet:unreserved-bandwidth/" 1232 + "tet:te-bandwidth/tet:technology" { 1233 when "../../../../../../nw:network-types/tet:te-topology/" 1234 + "wson:wson-topology" { 1235 description "WSON TE bandwidth."; 1236 } 1237 description "WSON bandwidth."; 1238 case wson { 1239 uses te-wson-types:wson-link-bandwidth; 1240 } 1242 } 1244 /* Augment maximum LSP bandwidth of TE link template */ 1245 augment "/nw:networks/tet:te/tet:templates/" 1246 + "tet:link-template/tet:te-link-attributes/" 1247 + "tet:interface-switching-capability/" 1248 + "tet:max-lsp-bandwidth/" 1249 + "tet:te-bandwidth/tet:technology" { 1250 /* 1251 when "../../../../../../../nw:network-types/tet:te-topology/" 1252 + "wson:wson-topology" { 1253 description "WSON TE bandwidth."; 1254 } 1255 */ 1256 description "WSON bandwidth."; 1257 case wson { 1258 uses te-wson-types:wson-path-bandwidth; 1259 } 1260 } 1262 /* Augment maximum bandwidth of TE link template */ 1263 augment "/nw:networks/tet:te/tet:templates/" 1264 + "tet:link-template/tet:te-link-attributes/" 1265 + "tet:max-link-bandwidth/" 1266 + "tet:te-bandwidth/tet:technology" { 1267 /* 1268 when "../../../../../../nw:network-types/tet:te-topology/" 1269 + "wson:wson-topology" { 1270 description "WSON TE bandwidth."; 1271 } 1272 */ 1273 description "WSON bandwidth."; 1274 case wson { 1275 uses te-wson-types:wson-link-bandwidth; 1276 } 1277 } 1279 /* Augment maximum reservable bandwidth of TE link template */ 1280 augment "/nw:networks/tet:te/tet:templates/" 1281 + "tet:link-template/tet:te-link-attributes/" 1282 + "tet:max-resv-link-bandwidth/" 1283 + "tet:te-bandwidth/tet:technology" { 1284 /* 1285 when "../../../../../../nw:network-types/tet:te-topology/" 1286 + "wson:wson-topology" { 1287 description "WSON TE bandwidth."; 1288 } 1290 */ 1291 description "WSON bandwidth."; 1292 case wson { 1293 uses te-wson-types:wson-link-bandwidth; 1294 } 1295 } 1297 /* Augment unreserved bandwidth of TE link template */ 1298 augment "/nw:networks/tet:te/tet:templates/" 1299 + "tet:link-template/tet:te-link-attributes/" 1300 + "tet:unreserved-bandwidth/" 1301 + "tet:te-bandwidth/tet:technology" { 1302 /* 1303 when "../../../../../../../nw:network-types/tet:te-topology/" 1304 + "wson:wson-topology" { 1305 description "WSON TE bandwidth."; 1306 } 1307 */ 1308 description "WSON bandwidth."; 1309 case wson { 1310 uses te-wson-types:wson-link-bandwidth; 1311 } 1312 } 1314 /* 1315 * Augment TE label. 1316 */ 1318 /* Augment label restrictions of connectivity-matrices */ 1319 augment "/nw:networks/nw:network/nw:node/tet:te/" 1320 + "tet:te-node-attributes/tet:connectivity-matrices/" 1321 + "tet:label-restrictions/tet:label-restriction" { 1322 when "../../../../../nw:network-types/tet:te-topology/" 1323 + "wson:wson-topology" { 1324 description "Augment WSON TE label"; 1325 } 1326 description "WSON label."; 1327 uses te-wson-types:wson-label-restriction; 1328 } 1330 /* Augment label restrictions start of connectivity-matrices */ 1331 augment "/nw:networks/nw:network/nw:node/tet:te/" 1332 + "tet:te-node-attributes/tet:connectivity-matrices/" 1333 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 1334 + "tet:te-label/tet:technology" { 1335 when "../../../../../../../../nw:network-types/tet:te-topology/" 1336 + "wson:wson-topology" { 1338 description "Augment WSON TE label"; 1339 } 1340 description "WSON label."; 1341 case wson { 1342 uses te-wson-types:wson-link-label; 1343 } 1344 } 1346 /* Augment label restrictions end of connectivity-matrices */ 1347 augment "/nw:networks/nw:network/nw:node/tet:te/" 1348 + "tet:te-node-attributes/tet:connectivity-matrices/" 1349 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 1350 + "tet:te-label/tet:technology" { 1351 when "../../../../../../../../nw:network-types/tet:te-topology/" 1352 + "wson:wson-topology" { 1353 description "Augment WSON TE label"; 1354 } 1355 description "WSON label."; 1356 case wson { 1357 uses te-wson-types:wson-link-label; 1358 } 1359 } 1361 /* Augment label hop of underlay primary path of connectivity-matrices */ 1362 augment "/nw:networks/nw:network/nw:node/tet:te/" 1363 + "tet:te-node-attributes/tet:connectivity-matrices/" 1364 + "tet:underlay/tet:primary-path/tet:path-element/" 1365 + "tet:type/tet:label/tet:label-hop/" 1366 + "tet:te-label/tet:technology" { 1367 when "../../../../../../../../../../../../" 1368 + "nw:network-types/tet:te-topology/" 1369 + "wson:wson-topology" { 1370 description "Augment WSON TE label"; 1371 } 1372 description "WSON label."; 1373 case wson { 1374 uses te-wson-types:wson-path-label; 1375 } 1376 } 1378 /* Augment label hop of underlay backup path of connectivity-matrices */ 1379 augment "/nw:networks/nw:network/nw:node/tet:te/" 1380 + "tet:te-node-attributes/tet:connectivity-matrices/" 1381 + "tet:underlay/tet:backup-path/tet:path-element/" 1382 + "tet:type/tet:label/tet:label-hop/" 1383 + "tet:te-label/tet:technology" { 1384 when "../../../../../../../../../../../../" 1385 + "nw:network-types/tet:te-topology/" 1386 + "wson:wson-topology" { 1387 description "Augment WSON TE label"; 1388 } 1389 description "WSON label."; 1390 case wson { 1391 uses te-wson-types:wson-path-label; 1392 } 1393 } 1395 /* Augment label hop of route-exclude of connectivity-matrices */ 1396 augment "/nw:networks/nw:network/nw:node/tet:te/" 1397 + "tet:te-node-attributes/tet:connectivity-matrices/" 1398 + "tet:optimizations/tet:algorithm/tet:metric/" 1399 + "tet:optimization-metric/" 1400 + "tet:explicit-route-exclude-objects/" 1401 + "tet:route-object-exclude-object/" 1402 + "tet:type/tet:label/tet:label-hop/" 1403 + "tet:te-label/tet:technology" { 1404 when "../../../../../../../../../../../../../../" 1405 + "nw:network-types/tet:te-topology/" 1406 + "wson:wson-topology" { 1407 description "Augment WSON TE label"; 1408 } 1409 description "WSON label."; 1410 case wson { 1411 uses te-wson-types:wson-path-label; 1412 } 1413 } 1415 /* Augment label hop of route-include of connectivity-matrices (added) */ 1416 augment "/nw:networks/nw:network/nw:node/tet:te/" 1417 + "tet:te-node-attributes/tet:connectivity-matrices/" 1418 + "tet:optimizations/tet:algorithm/tet:metric/" 1419 + "tet:optimization-metric/" 1420 + "tet:explicit-route-include-objects/" 1421 + "tet:route-object-include-object/" 1422 + "tet:type/tet:label/tet:label-hop/" 1423 + "tet:te-label/tet:technology" { 1424 when "../../../../../../../../../../../../../../" 1425 + "nw:network-types/tet:te-topology/" 1426 + "wson:wson-topology" { 1427 description "Augment WSON TE label"; 1428 } 1429 description "WSON label."; 1430 case wson { 1431 uses te-wson-types:wson-path-label; 1433 } 1434 } 1436 /* Augment label hop of path-route of connectivity-matrices */ 1437 augment "/nw:networks/nw:network/nw:node/tet:te/" 1438 + "tet:te-node-attributes/tet:connectivity-matrices/" 1439 + "tet:path-properties/tet:path-route-objects/" 1440 + "tet:path-route-object/tet:type/tet:label/tet:label-hop/" 1441 + "tet:te-label/tet:technology"{ 1442 when "../../../../../../../../../../../../" 1443 + "nw:network-types/tet:te-topology/" 1444 + "wson:wson-topology" { 1445 description "Augment WSON TE label"; 1446 } 1447 description "WSON label."; 1448 case wson { 1449 uses te-wson-types:wson-path-label; 1450 } 1451 } 1453 /* Augment ingress label restrictions of connectivity-matrix */ 1454 augment "/nw:networks/nw:network/nw:node/tet:te/" 1455 + "tet:te-node-attributes/tet:connectivity-matrices/" 1456 + "tet:connectivity-matrix/tet:from/" 1457 + "tet:label-restrictions/tet:label-restriction" { 1458 when "../../../../../../../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/tet:label-start/" 1471 + "tet:te-label/tet:technology" { 1472 when "../../../../../../../../../../" 1473 + "nw:network-types/tet:te-topology/" 1474 + "wson:wson-topology" { 1475 description "Augment WSON TE label"; 1476 } 1477 description "WSON label."; 1478 case wson { 1479 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/tet:label-end/" 1489 + "tet:te-label/tet:technology" { 1490 when "../../../../../../../../../../" 1491 + "nw:network-types/tet:te-topology/" 1492 + "wson:wson-topology" { 1493 description "Augment WSON TE label"; 1494 } 1495 description "WSON label."; 1496 case wson { 1497 uses te-wson-types:wson-link-label; 1498 } 1499 } 1501 /* Augment egress label restrictions of connectivity-matrix */ 1502 augment "/nw:networks/nw:network/nw:node/tet:te/" 1503 + "tet:te-node-attributes/tet:connectivity-matrices/" 1504 + "tet:connectivity-matrix/tet:to/" 1505 + "tet:label-restrictions/tet:label-restriction" { 1506 when "../../../../../../../nw:network-types/tet:te-topology/" 1507 + "wson:wson-topology" { 1508 description "Augment WSON TE label"; 1509 } 1510 description "WSON label."; 1511 uses te-wson-types:wson-label-restriction; 1512 } 1514 /* Augment egress label restrictions start of connectivity-matrix */ 1515 augment "/nw:networks/nw:network/nw:node/tet:te/" 1516 + "tet:te-node-attributes/tet:connectivity-matrices/" 1517 + "tet:connectivity-matrix/tet:to/" 1518 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 1519 + "tet:te-label/tet:technology" { 1520 when "../../../../../../../../../../" 1521 + "nw:network-types/tet:te-topology/" 1522 + "wson:wson-topology" { 1523 description "Augment WSON TE label"; 1524 } 1525 description "WSON label."; 1526 case wson { 1527 uses te-wson-types:wson-link-label; 1529 } 1530 } 1532 /* Augment egress label restrictions end of connectivity-matrix */ 1533 augment "/nw:networks/nw:network/nw:node/tet:te/" 1534 + "tet:te-node-attributes/tet:connectivity-matrices/" 1535 + "tet:connectivity-matrix/tet:to/" 1536 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 1537 + "tet:te-label/tet:technology" { 1538 when "../../../../../../../../../../" 1539 + "nw:network-types/tet:te-topology/" 1540 + "wson:wson-topology" { 1541 description "Augment WSON TE label"; 1542 } 1543 description "WSON label."; 1544 case wson { 1545 uses te-wson-types:wson-link-label; 1546 } 1547 } 1549 /* Augment label hop of underlay primary path of connectivity-matrix */ 1550 augment "/nw:networks/nw:network/nw:node/tet:te/" 1551 + "tet:te-node-attributes/tet:connectivity-matrices/" 1552 + "tet:connectivity-matrix/" 1553 + "tet:underlay/tet:primary-path/tet:path-element/" 1554 + "tet:type/tet:label/tet:label-hop/" 1555 + "tet:te-label/tet:technology" { 1556 when "../../../../../../../../../../../../../" 1557 + "nw:network-types/tet:te-topology/" 1558 + "wson:wson-topology" { 1559 description "Augment WSON TE label"; 1560 } 1561 description "WSON label."; 1562 case wson { 1563 uses te-wson-types:wson-path-label; 1564 } 1565 } 1567 /* Augment label hop of underlay backup path of connectivity-matrix */ 1568 augment "/nw:networks/nw:network/nw:node/tet:te/" 1569 + "tet:te-node-attributes/tet:connectivity-matrices/" 1570 + "tet:connectivity-matrix/" 1571 + "tet:underlay/tet:backup-path/tet:path-element/" 1572 + "tet:type/tet:label/tet:label-hop/" 1573 + "tet:te-label/tet:technology" { 1574 when "../../../../../../../../../../../../../" 1575 + "nw:network-types/tet:te-topology/" 1576 + "wson:wson-topology" { 1577 description "Augment WSON TE label"; 1578 } 1579 description "WSON label."; 1580 case wson { 1581 uses te-wson-types:wson-path-label; 1582 } 1583 } 1585 /* Augment label hop of route-exclude of connectivity-matrix */ 1586 augment "/nw:networks/nw:network/nw:node/tet:te/" 1587 + "tet:te-node-attributes/tet:connectivity-matrices/" 1588 + "tet:connectivity-matrix/tet:optimizations/" 1589 + "tet:algorithm/tet:metric/tet:optimization-metric/" 1590 + "tet:explicit-route-exclude-objects/" 1591 + "tet:route-object-exclude-object/tet:type/" 1592 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1593 when "../../../../../../../../../../../../../../../../" 1594 + "nw:network-types/tet:te-topology/" 1595 + "wson:wson-topology" { 1596 description "Augment WSON TE label"; 1597 } 1598 description "WSON label."; 1599 case wson { 1600 uses te-wson-types:wson-path-label; 1601 } 1602 } 1604 /* Augment label hop of route-include of connectivity-matrix */ 1605 augment "/nw:networks/nw:network/nw:node/tet:te/" 1606 + "tet:te-node-attributes/tet:connectivity-matrices/" 1607 + "tet:connectivity-matrix/tet:optimizations/" 1608 + "tet:algorithm/tet:metric/tet:optimization-metric/" 1609 + "tet:explicit-route-include-objects/" 1610 + "tet:route-object-include-object/tet:type/" 1611 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1612 when "../../../../../../../../../../../../../../../../" 1613 + "nw:network-types/tet:te-topology/" 1614 + "wson:wson-topology" { 1615 description "Augment WSON TE label"; 1616 } 1617 description "WSON label."; 1618 case wson { 1619 uses te-wson-types:wson-path-label; 1620 } 1621 } 1622 /* Augment label hop of path-route of connectivity-matrix */ 1623 augment "/nw:networks/nw:network/nw:node/tet:te/" 1624 + "tet:te-node-attributes/tet:connectivity-matrices/" 1625 + "tet:connectivity-matrix/" 1626 + "tet:path-properties/tet:path-route-objects/" 1627 + "tet:path-route-object/tet:type/" 1628 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1629 when "../../../../../../../../../../../../../" 1630 + "nw:network-types/tet:te-topology/" 1631 + "wson:wson-topology" { 1632 description "Augment WSON TE label"; 1633 } 1634 description "WSON label."; 1635 case wson { 1636 uses te-wson-types:wson-path-label; 1637 } 1638 } 1640 /* Augment label restrictions of connectivity-matrices information-source */ 1641 augment "/nw:networks/nw:network/nw:node/tet:te/" 1642 + "tet:information-source-entry/" 1643 + "tet:connectivity-matrices/tet:label-restrictions/" 1644 + "tet:label-restriction" { 1645 when "../../../../../nw:network-types/tet:te-topology/" 1646 + "wson:wson-topology" { 1647 description "Augment WSON TE label"; 1648 } 1649 description "WSON label."; 1650 uses te-wson-types:wson-label-restriction; 1651 } 1653 /* Augment label restrictions start of connectivity-matrices information- 1654 source */ 1655 augment "/nw:networks/nw:network/nw:node/tet:te/" 1656 + "tet:information-source-entry/" 1657 + "tet:connectivity-matrices/tet:label-restrictions/" 1658 + "tet:label-restriction/" 1659 + "tet:label-start/tet:te-label/tet:technology" { 1660 when "../../../../../../../../" 1661 + "nw:network-types/tet:te-topology/" 1662 + "wson:wson-topology" { 1663 description "Augment WSON TE label"; 1664 } 1665 description "WSON label."; 1666 case wson { 1667 uses te-wson-types:wson-link-label; 1668 } 1670 } 1672 /* Augment label restrictions end of connectivity-matrices information- 1673 source */ 1674 augment "/nw:networks/nw:network/nw:node/tet:te/" 1675 + "tet:information-source-entry/" 1676 + "tet:connectivity-matrices/tet:label-restrictions/" 1677 + "tet:label-restriction/" 1678 + "tet:label-end/tet:te-label/tet:technology" { 1679 when "../../../../../../../../" 1680 + "nw:network-types/tet:te-topology/" 1681 + "wson:wson-topology" { 1682 description "Augment WSON TE label"; 1683 } 1684 description "WSON label."; 1685 case wson { 1686 uses te-wson-types:wson-link-label; 1687 } 1688 } 1690 /* Augment label hop of underlay primary path of connectivity-matrices 1691 information-source */ 1692 augment "/nw:networks/nw:network/nw:node/tet:te/" 1693 + "tet:information-source-entry/tet:connectivity-matrices/" 1694 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 1695 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1696 when "../../../../../../../../../../../../" 1697 + "nw:network-types/tet:te-topology/" 1698 + "wson:wson-topology" { 1699 description "Augment WSON TE label"; 1700 } 1701 description "WSON label."; 1702 case wson { 1703 uses te-wson-types:wson-path-label; 1704 } 1705 } 1707 /* Augment label hop of underlay backup path of connectivity-matrices 1708 information-source */ 1709 augment "/nw:networks/nw:network/nw:node/tet:te/" 1710 + "tet:information-source-entry/tet:connectivity-matrices/" 1711 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 1712 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1713 when "../../../../../../../../../../../../" 1714 + "nw:network-types/tet:te-topology/" 1715 + "wson:wson-topology" { 1716 description "Augment WSON TE label"; 1718 } 1719 description "WSON label."; 1720 case wson { 1721 uses te-wson-types:wson-path-label; 1722 } 1723 } 1725 /* Augment label hop of route-exclude of connectivity-matrices information- 1726 source */ 1727 augment "/nw:networks/nw:network/nw:node/tet:te/" 1728 + "tet:information-source-entry/tet:connectivity-matrices/" 1729 + "tet:optimizations/tet:algorithm/tet:metric/" 1730 + "tet:optimization-metric/" 1731 + "tet:explicit-route-exclude-objects/" 1732 + "tet:route-object-exclude-object/tet:type/" 1733 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1734 when "../../../../../../../../../../../../../../../" 1735 + "nw:network-types/tet:te-topology/" 1736 + "wson:wson-topology" { 1737 description "Augment WSON TE label"; 1738 } 1739 description "WSON label."; 1740 case wson { 1741 uses te-wson-types:wson-path-label; 1742 } 1743 } 1745 /* Augment label hop of route-include of connectivity-matrices information- 1746 source */ 1747 augment "/nw:networks/nw:network/nw:node/tet:te/" 1748 + "tet:information-source-entry/tet:connectivity-matrices/" 1749 + "tet:optimizations/tet:algorithm/tet:metric/" 1750 + "tet:optimization-metric/" 1751 + "tet:explicit-route-include-objects/" 1752 + "tet:route-object-include-object/tet:type/" 1753 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1754 when "../../../../../../../../../../../../../../../" 1755 + "nw:network-types/tet:te-topology/" 1756 + "wson:wson-topology" { 1757 description "Augment WSON TE label"; 1758 } 1759 description "WSON label."; 1760 case wson { 1761 uses te-wson-types:wson-path-label; 1762 } 1763 } 1764 /* Augment label hop of path-route of connectivity-matrices information- 1765 source */ 1766 augment "/nw:networks/nw:network/nw:node/tet:te/" 1767 + "tet:information-source-entry/tet:connectivity-matrices/" 1768 + "tet:path-properties/tet:path-route-objects/" 1769 + "tet:path-route-object/tet:type/" 1770 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1771 when "../../../../../../../../../../../../" 1772 + "nw:network-types/tet:te-topology/" 1773 + "wson:wson-topology" { 1774 description "Augment WSON TE label"; 1775 } 1776 description "WSON label."; 1777 case wson { 1778 uses te-wson-types:wson-path-label; 1779 } 1780 } 1782 /* Augment ingress label restrictions of connectivity-matrix information- 1783 source */ 1784 augment "/nw:networks/nw:network/nw:node/tet:te/" 1785 + "tet:information-source-entry/tet:connectivity-matrices/" 1786 + "tet:connectivity-matrix/" 1787 + "tet:from/tet:label-restrictions/tet:label-restriction" { 1788 when "../../../../../../../nw:network-types/tet:te-topology/" 1789 + "wson:wson-topology" { 1790 description "Augment WSON TE label"; 1791 } 1792 description "WSON label."; 1793 uses te-wson-types:wson-label-restriction; 1794 } 1796 /* Augment ingress label restrictions start of connectivity-matrix 1797 information-source */ 1798 augment "/nw:networks/nw:network/nw:node/tet:te/" 1799 + "tet:information-source-entry/tet:connectivity-matrices/" 1800 + "tet:connectivity-matrix/" 1801 + "tet:from/tet:label-restrictions/tet:label-restriction/" 1802 + "tet:label-start/tet:te-label/tet:technology" { 1803 when "../../../../../../../../../../" 1804 + "nw:network-types/tet:te-topology/" 1805 + "wson:wson-topology" { 1806 description "Augment WSON TE label"; 1807 } 1808 description "WSON label."; 1809 case wson { 1810 uses te-wson-types:wson-link-label; 1812 } 1813 } 1815 /* Augment ingress label restrictions end of connectivity-matrix 1816 information-source */ 1817 augment "/nw:networks/nw:network/nw:node/tet:te/" 1818 + "tet:information-source-entry/tet:connectivity-matrices/" 1819 + "tet:connectivity-matrix/" 1820 + "tet:from/tet:label-restrictions/tet:label-restriction/" 1821 + "tet:label-end/tet:te-label/tet:technology" { 1822 when "../../../../../../../../../../" 1823 + "nw:network-types/tet:te-topology/" 1824 + "wson:wson-topology" { 1825 description "Augment WSON TE label"; 1826 } 1827 description "WSON label."; 1828 case wson { 1829 uses te-wson-types:wson-link-label; 1830 } 1831 } 1833 /* Augment egress label restrictions of connectivity-matrix information- 1834 source */ 1835 augment "/nw:networks/nw:network/nw:node/tet:te/" 1836 + "tet:information-source-entry/tet:connectivity-matrices/" 1837 + "tet:connectivity-matrix/" 1838 + "tet:to/tet:label-restrictions/tet:label-restriction" { 1839 when "../../../../../../../nw:network-types/tet:te-topology/" 1840 + "wson:wson-topology" { 1841 description "Augment WSON TE label"; 1842 } 1843 description "WSON label."; 1844 uses te-wson-types:wson-label-restriction; 1845 } 1847 /* Augment egress label restrictions start of connectivity-matrix 1848 information-source */ 1849 augment "/nw:networks/nw:network/nw:node/tet:te/" 1850 + "tet:information-source-entry/tet:connectivity-matrices/" 1851 + "tet:connectivity-matrix/" 1852 + "tet:to/tet:label-restrictions/tet:label-restriction/" 1853 + "tet:label-start/tet:te-label/tet:technology" { 1854 when "../../../../../../../../../../" 1855 + "nw:network-types/tet:te-topology/" 1856 + "wson:wson-topology" { 1857 description "Augment WSON TE label"; 1858 } 1859 description "WSON label."; 1860 case wson { 1861 uses te-wson-types:wson-link-label; 1862 } 1863 } 1865 /* Augment egress label restrictions end of connectivity-matrix information- 1866 source */ 1867 augment "/nw:networks/nw:network/nw:node/tet:te/" 1868 + "tet:information-source-entry/tet:connectivity-matrices/" 1869 + "tet:connectivity-matrix/" 1870 + "tet:to/tet:label-restrictions/tet:label-restriction/" 1871 + "tet:label-end/tet:te-label/tet:technology" { 1872 when "../../../../../../../../../../" 1873 + "nw:network-types/tet:te-topology/" 1874 + "wson:wson-topology" { 1875 description "Augment WSON TE label"; 1876 } 1877 description "WSON label."; 1878 case wson { 1879 uses te-wson-types:wson-link-label; 1880 } 1881 } 1883 /* Augment label hop of underlay primary path of connectivity-matrix 1884 information-source */ 1885 augment "/nw:networks/nw:network/nw:node/tet:te/" 1886 + "tet:information-source-entry/tet:connectivity-matrices/" 1887 + "tet:connectivity-matrix/" 1888 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 1889 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1890 when "../../../../../../../../../../../../../" 1891 + "nw:network-types/tet:te-topology/" 1892 + "wson:wson-topology" { 1893 description "Augment WSON TE label"; 1894 } 1895 description "WSON label."; 1896 case wson { 1897 uses te-wson-types:wson-path-label; 1898 } 1899 } 1901 /* Augment label hop of underlay backup path of connectivity-matrix 1902 information-source */ 1903 augment "/nw:networks/nw:network/nw:node/tet:te/" 1904 + "tet:information-source-entry/tet:connectivity-matrices/" 1905 + "tet:connectivity-matrix/" 1906 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 1907 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1908 when "../../../../../../../../../../../../../" 1909 + "nw:network-types/tet:te-topology/" 1910 + "wson:wson-topology" { 1911 description "Augment WSON TE label"; 1912 } 1913 description "WSON label."; 1914 case wson { 1915 uses te-wson-types:wson-path-label; 1916 } 1917 } 1919 /* Augment label hop of route-exclude of connectivity-matrix information- 1920 source */ 1921 augment "/nw:networks/nw:network/nw:node/tet:te/" 1922 + "tet:information-source-entry/tet:connectivity-matrices/" 1923 + "tet:connectivity-matrix/" 1924 + "tet:optimizations/tet:algorithm/tet:metric/" 1925 + "tet:optimization-metric/" 1926 + "tet:explicit-route-exclude-objects/" 1927 + "tet:route-object-exclude-object/tet:type/" 1928 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1929 when "../../../../../../../../../../../../../../../../" 1930 + "nw:network-types/tet:te-topology/" 1931 + "wson:wson-topology" { 1932 description "Augment WSON TE label"; 1933 } 1934 description "WSON label."; 1935 case wson { 1936 uses te-wson-types:wson-path-label; 1937 } 1938 } 1940 /* Augment label hop of route-include of connectivity-matrix information- 1941 source */ 1942 augment "/nw:networks/nw:network/nw:node/tet:te/" 1943 + "tet:information-source-entry/tet:connectivity-matrices/" 1944 + "tet:connectivity-matrix/" 1945 + "tet:optimizations/tet:algorithm/tet:metric/" 1946 + "tet:optimization-metric/" 1947 + "tet:explicit-route-include-objects/" 1948 + "tet:route-object-include-object/tet:type/" 1949 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1950 when "../../../../../../../../../../../../../../../../" 1951 + "nw:network-types/tet:te-topology/" 1952 + "wson:wson-topology" { 1954 description "Augment WSON TE label"; 1955 } 1956 description "WSON label."; 1957 case wson { 1958 uses te-wson-types:wson-path-label; 1959 } 1960 } 1962 /* Augment label hop of path-route of connectivity-matrix information-source 1963 */ 1964 augment "/nw:networks/nw:network/nw:node/tet:te/" 1965 + "tet:information-source-entry/tet:connectivity-matrices/" 1966 + "tet:connectivity-matrix/" 1967 + "tet:path-properties/tet:path-route-objects/" 1968 + "tet:path-route-object/tet:type/" 1969 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1970 when "../../../../../../../../../../../../../" 1971 + "nw:network-types/tet:te-topology/" 1972 + "wson:wson-topology" { 1973 description "Augment WSON TE label"; 1974 } 1975 description "WSON label."; 1976 case wson { 1977 uses te-wson-types:wson-path-label; 1978 } 1979 } 1981 /* Augment label restrictions of local-link-connectivities */ 1982 augment "/nw:networks/nw:network/nw:node/tet:te/" 1983 + "tet:tunnel-termination-point/" 1984 + "tet:local-link-connectivities/" 1985 + "tet:label-restrictions/tet:label-restriction" { 1986 when "../../../../../nw:network-types/tet:te-topology/" 1987 + "wson:wson-topology" { 1988 description "Augment WSON TE label"; 1989 } 1990 description "WSON label."; 1991 uses te-wson-types:wson-label-restriction; 1992 } 1994 /* Augment label restrictions start of local-link-connectivities */ 1995 augment "/nw:networks/nw:network/nw:node/tet:te/" 1996 + "tet:tunnel-termination-point/" 1997 + "tet:local-link-connectivities/" 1998 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 1999 + "tet:te-label/tet:technology" { 2000 when "../../../../../../../../nw:network-types/tet:te-topology/" 2001 + "wson:wson-topology" { 2002 description "Augment WSON TE label"; 2003 } 2004 description "WSON label."; 2005 case wson { 2006 uses te-wson-types:wson-link-label; 2007 } 2008 } 2010 /* Augment label restrictions end of local-link-connectivities */ 2011 augment "/nw:networks/nw:network/nw:node/tet:te/" 2012 + "tet:tunnel-termination-point/" 2013 + "tet:local-link-connectivities/" 2014 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 2015 + "tet:te-label/tet:technology"{ 2016 when "../../../../../../../../nw:network-types/tet:te-topology/" 2017 + "wson:wson-topology" { 2018 description "Augment WSON TE label"; 2019 } 2020 description "WSON label."; 2021 case wson { 2022 uses te-wson-types:wson-link-label; 2023 } 2024 } 2026 /* Augment label hop of underlay primary path of local-link-connectivities 2027 */ 2028 augment "/nw:networks/nw:network/nw:node/tet:te/" 2029 + "tet:tunnel-termination-point/" 2030 + "tet:local-link-connectivities/" 2031 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2032 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2033 when "../../../../../../../../../../../../" 2034 + "nw:network-types/tet:te-topology/" 2035 + "wson:wson-topology" { 2036 description "Augment WSON TE label"; 2037 } 2038 description "WSON label."; 2039 case wson { 2040 uses te-wson-types:wson-path-label; 2041 } 2042 } 2044 /* Augment label hop of underlay backup path of local-link-connectivities */ 2045 augment "/nw:networks/nw:network/nw:node/tet:te/" 2046 + "tet:tunnel-termination-point/" 2047 + "tet:local-link-connectivities/" 2048 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2049 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2050 when "../../../../../../../../../../../../" 2051 + "nw:network-types/tet:te-topology/" 2052 + "wson:wson-topology" { 2053 description "Augment WSON TE label"; 2054 } 2055 description "WSON label."; 2056 case wson { 2057 uses te-wson-types:wson-path-label; 2058 } 2059 } 2061 /* Augment label hop of route-exclude of local-link-connectivities */ 2062 augment "/nw:networks/nw:network/nw:node/tet:te/" 2063 + "tet:tunnel-termination-point/" 2064 + "tet:local-link-connectivities/" 2065 + "tet:optimizations/tet:algorithm/tet:metric/" 2066 + "tet:optimization-metric/" 2067 + "tet:explicit-route-exclude-objects/" 2068 + "tet:route-object-exclude-object/tet:type/" 2069 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2070 when "../../../../../../../../../../../../../../../" 2071 + "nw:network-types/tet:te-topology/" 2072 + "wson:wson-topology" { 2073 description "Augment WSON TE label"; 2074 } 2075 description "WSON label."; 2076 case wson { 2077 uses te-wson-types:wson-path-label; 2078 } 2079 } 2081 /* Augment label hop of route-include of local-link-connectivities */ 2082 augment "/nw:networks/nw:network/nw:node/tet:te/" 2083 + "tet:tunnel-termination-point/" 2084 + "tet:local-link-connectivities/" 2085 + "tet:optimizations/tet:algorithm/tet:metric/" 2086 + "tet:optimization-metric/" 2087 + "tet:explicit-route-include-objects/" 2088 + "tet:route-object-include-object/tet:type/" 2089 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2090 when "../../../../../../../../../../../../../../../" 2091 + "nw:network-types/tet:te-topology/" 2092 + "wson:wson-topology" { 2093 description "Augment WSON TE label"; 2094 } 2095 description "WSON label."; 2096 case wson { 2097 uses te-wson-types:wson-path-label; 2098 } 2099 } 2101 /* Augment label hop of path-route of local-link-connectivities */ 2102 augment "/nw:networks/nw:network/nw:node/tet:te/" 2103 + "tet:tunnel-termination-point/" 2104 + "tet:local-link-connectivities/" 2105 + "tet:path-properties/tet:path-route-objects/" 2106 + "tet:path-route-object/tet:type/" 2107 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2108 when "../../../../../../../../../../../../" 2109 + "nw:network-types/tet:te-topology/" 2110 + "wson:wson-topology" { 2111 description "Augment WSON TE label"; 2112 } 2113 description "WSON label."; 2114 case wson { 2115 uses te-wson-types:wson-path-label; 2116 } 2117 } 2119 /* Augment label restrictions of local-link-connectivity (LLC) */ 2120 augment "/nw:networks/nw:network/nw:node/tet:te/" 2121 + "tet:tunnel-termination-point/" 2122 + "tet:local-link-connectivities/" 2123 + "tet:local-link-connectivity/" 2124 + "tet:label-restrictions/tet:label-restriction" { 2125 when "../../../../../../nw:network-types/tet:te-topology/" 2126 + "wson:wson-topology" { 2127 description "Augment WSON TE label"; 2128 } 2129 description "WSON label."; 2130 uses te-wson-types:wson-label-restriction; 2131 } 2133 /* Augment label restrictions start of local-link-connectivity (LLC) */ 2134 augment "/nw:networks/nw:network/nw:node/tet:te/" 2135 + "tet:tunnel-termination-point/" 2136 + "tet:local-link-connectivities/" 2137 + "tet:local-link-connectivity/" 2138 + "tet:label-restrictions/tet:label-restriction/" 2139 + "tet:label-start/tet:te-label/tet:technology" { 2140 when "../../../../../../../../../" 2141 + "nw:network-types/tet:te-topology/" 2142 + "wson:wson-topology" { 2143 description "Augment WSON TE label"; 2144 } 2145 description "WSON label."; 2146 case wson { 2147 uses te-wson-types:wson-link-label; 2148 } 2149 } 2151 /* Augment label restrictions end of local-link-connectivity (LLC) */ 2152 augment "/nw:networks/nw:network/nw:node/tet:te/" 2153 + "tet:tunnel-termination-point/" 2154 + "tet:local-link-connectivities/" 2155 + "tet:local-link-connectivity/" 2156 + "tet:label-restrictions/tet:label-restriction/" 2157 + "tet:label-end/tet:te-label/tet:technology" { 2158 when "../../../../../../../../../" 2159 + "nw:network-types/tet:te-topology/" 2160 + "wson:wson-topology" { 2161 description "Augment WSON TE label"; 2162 } 2163 description "WSON label."; 2164 case wson { 2165 uses te-wson-types:wson-link-label; 2166 } 2167 } 2169 /* Augment label hop of underlay primary path of local-link-connectivity 2170 (LLC) */ 2171 augment "/nw:networks/nw:network/nw:node/tet:te/" 2172 + "tet:tunnel-termination-point/" 2173 + "tet:local-link-connectivities/" 2174 + "tet:local-link-connectivity/" 2175 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2176 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2177 when "../../../../../../../../../../../../../" 2178 + "nw:network-types/tet:te-topology/" 2179 + "wson:wson-topology" { 2180 description "Augment WSON TE label"; 2181 } 2182 description "WSON label."; 2183 case wson { 2184 uses te-wson-types:wson-path-label; 2185 } 2186 } 2187 /* Augment label hop of underlay backup path of local-link-connectivity 2188 (LLC) */ 2189 augment "/nw:networks/nw:network/nw:node/tet:te/" 2190 + "tet:tunnel-termination-point/" 2191 + "tet:local-link-connectivities/" 2192 + "tet:local-link-connectivity/" 2193 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2194 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2195 when "../../../../../../../../../../../../../" 2196 + "nw:network-types/tet:te-topology/" 2197 + "wson:wson-topology" { 2198 description "Augment WSON TE label"; 2199 } 2200 description "WSON label."; 2201 case wson { 2202 uses te-wson-types:wson-path-label; 2203 } 2204 } 2206 /* Augment label hop of route-exclude of local-link-connectivity (LLC) */ 2207 augment "/nw:networks/nw:network/nw:node/tet:te/" 2208 + "tet:tunnel-termination-point/" 2209 + "tet:local-link-connectivities/" 2210 + "tet:local-link-connectivity/" 2211 + "tet:optimizations/tet:algorithm/tet:metric/" 2212 + "tet:optimization-metric/" 2213 + "tet:explicit-route-exclude-objects/" 2214 + "tet:route-object-exclude-object/tet:type/" 2215 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2216 when "../../../../../../../../../../../../../../../../" 2217 + "nw:network-types/tet:te-topology/" 2218 + "wson:wson-topology" { 2219 description "Augment WSON TE label"; 2220 } 2221 description "WSON label."; 2222 case wson { 2223 uses te-wson-types:wson-path-label; 2224 } 2225 } 2227 /* Augment label hop of route-include of local-link-connectivity (LLC) */ 2228 augment "/nw:networks/nw:network/nw:node/tet:te/" 2229 + "tet:tunnel-termination-point/" 2230 + "tet:local-link-connectivities/" 2231 + "tet:local-link-connectivity/" 2232 + "tet:optimizations/tet:algorithm/tet:metric/" 2233 + "tet:optimization-metric/" 2234 + "tet:explicit-route-include-objects/" 2235 + "tet:route-object-include-object/tet:type/" 2236 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2237 when "../../../../../../../../../../../../../../../../" 2238 + "nw:network-types/tet:te-topology/" 2239 + "wson:wson-topology" { 2240 description "Augment WSON TE label"; 2241 } 2242 description "WSON label."; 2243 case wson { 2244 uses te-wson-types:wson-path-label; 2245 } 2246 } 2248 /* Augment label hop of path-route of local-link-connectivity (LLC) */ 2249 augment "/nw:networks/nw:network/nw:node/tet:te/" 2250 + "tet:tunnel-termination-point/" 2251 + "tet:local-link-connectivities/" 2252 + "tet:local-link-connectivity/" 2253 + "tet:path-properties/tet:path-route-objects/" 2254 + "tet:path-route-object/tet:type/" 2255 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2256 when "../../../../../../../../../../../../../" 2257 + "nw:network-types/tet:te-topology/" 2258 + "wson:wson-topology" { 2259 description "Augment WSON TE label"; 2260 } 2261 description "WSON label."; 2262 case wson { 2263 uses te-wson-types:wson-path-label; 2264 } 2265 } 2267 /* Augment label hop of underlay primary path of TE link */ 2268 augment "/nw:networks/nw:network/nt:link/tet:te/" 2269 + "tet:te-link-attributes/" 2270 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2271 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2272 when "../../../../../../../../../../../" 2273 + "nw:network-types/tet:te-topology/" 2274 + "wson:wson-topology" { 2275 description "Augment WSON TE label"; 2276 } 2277 description "WSON label."; 2278 case wson { 2279 uses te-wson-types:wson-path-label; 2280 } 2282 } 2284 /* Augment label hop of underlay backup path of TE link */ 2285 augment "/nw:networks/nw:network/nt:link/tet:te/" 2286 + "tet:te-link-attributes/" 2287 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2288 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2289 when "../../../../../../../../../../../" 2290 + "nw:network-types/tet:te-topology/" 2291 + "wson:wson-topology" { 2292 description "Augment WSON TE label"; 2293 } 2294 description "WSON label."; 2295 case wson { 2296 uses te-wson-types:wson-path-label; 2297 } 2298 } 2300 /* Augment label restrictions of TE link */ 2301 augment "/nw:networks/nw:network/nt:link/tet:te/" 2302 + "tet:te-link-attributes/" 2303 + "tet:label-restrictions/tet:label-restriction" { 2304 when "../../../../nw:network-types/tet:te-topology/" 2305 + "wson:wson-topology" { 2306 description "Augment WSON TE label"; 2307 } 2308 description "WSON label."; 2309 uses te-wson-types:wson-label-restriction; 2310 } 2312 /* Augment label restrictions start of TE link */ 2313 augment "/nw:networks/nw:network/nt:link/tet:te/" 2314 + "tet:te-link-attributes/" 2315 + "tet:label-restrictions/tet:label-restriction/" 2316 + "tet:label-start/tet:te-label/tet:technology" { 2317 when "../../../../../../../nw:network-types/tet:te-topology/" 2318 + "wson:wson-topology" { 2319 description "Augment WSON TE label"; 2320 } 2321 description "WSON label."; 2322 case wson { 2323 uses te-wson-types:wson-link-label; 2324 } 2325 } 2327 /* Augment label restrictions end of TE link */ 2328 augment "/nw:networks/nw:network/nt:link/tet:te/" 2329 + "tet:te-link-attributes/" 2330 + "tet:label-restrictions/tet:label-restriction/" 2331 + "tet:label-end/tet:te-label/tet:technology" { 2332 when "../../../../../../../nw:network-types/tet:te-topology/" 2333 + "wson:wson-topology" { 2334 description "Augment WSON TE label"; 2335 } 2336 description "WSON label."; 2337 case wson { 2338 uses te-wson-types:wson-link-label; 2339 } 2340 } 2342 /* Augment label restrictions of TE link information-source */ 2343 augment "/nw:networks/nw:network/nt:link/tet:te/" 2344 + "tet:information-source-entry/" 2345 + "tet:label-restrictions/tet:label-restriction" { 2346 when "../../../../nw:network-types/tet:te-topology/" 2347 + "wson:wson-topology" { 2348 description "Augment WSON TE label"; 2349 } 2350 description "WSON label."; 2351 uses te-wson-types:wson-label-restriction; 2352 } 2354 /* Augment label restrictions start of TE link information-source */ 2355 augment "/nw:networks/nw:network/nt:link/tet:te/" 2356 + "tet:information-source-entry/" 2357 + "tet:label-restrictions/tet:label-restriction/" 2358 + "tet:label-start/tet:te-label/tet:technology" { 2359 when "../../../../../../../nw:network-types/tet:te-topology/" 2360 + "wson:wson-topology" { 2361 description "Augment WSON TE label"; 2362 } 2363 description "WSON label."; 2364 case wson { 2365 uses te-wson-types:wson-link-label; 2366 } 2367 } 2369 /* Augment label restrictions end of TE link information-source */ 2370 augment "/nw:networks/nw:network/nt:link/tet:te/" 2371 + "tet:information-source-entry/" 2372 + "tet:label-restrictions/tet:label-restriction/" 2373 + "tet:label-end/tet:te-label/tet:technology" { 2374 when "../../../../../../../nw:network-types/tet:te-topology/" 2375 + "wson:wson-topology" { 2377 description "Augment WSON TE label"; 2378 } 2379 description "WSON label."; 2380 case wson { 2381 uses te-wson-types:wson-link-label; 2382 } 2383 } 2385 /* Augment label hop of underlay primary path of TE link template */ 2386 augment "/nw:networks/tet:te/tet:templates/" 2387 + "tet:link-template/tet:te-link-attributes/" 2388 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2389 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2390 /* 2391 when "../../../../../../../../../../../../" 2392 + "nw:network-types/tet:te-topology/" 2393 + "wson:wson-topology" { 2394 description "Augment WSON TE label"; 2395 } 2396 */ 2397 description "WSON label."; 2398 case wson { 2399 uses te-wson-types:wson-path-label; 2400 } 2401 } 2403 /* Augment label hop of underlay backup path of TE link template */ 2404 augment "/nw:networks/tet:te/tet:templates/" 2405 + "tet:link-template/tet:te-link-attributes/" 2406 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2407 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2408 /* 2409 when "../../../../../../../../../../../../nw:network-types/tet:te- 2410 topology/" 2411 + "wson:wson-topology" { 2412 description "Augment WSON TE label"; 2413 } 2414 */ 2415 description "WSON label."; 2416 case wson { 2417 uses te-wson-types:wson-path-label; 2418 } 2419 } 2421 /* Augment label restrictions of TE link template */ 2422 augment "/nw:networks/tet:te/tet:templates/" 2423 + "tet:link-template/tet:te-link-attributes/" 2424 + "tet:label-restrictions/tet:label-restriction" { 2425 /* 2426 when "../../../../../nw:network-types/tet:te-topology/" 2427 + "wson:wson-topology" { 2428 description "Augment WSON TE label"; 2429 } 2430 */ 2431 description "WSON label."; 2432 uses te-wson-types:wson-label-restriction; 2433 } 2435 /* Augment label restrictions start of TE link template */ 2436 augment "/nw:networks/tet:te/tet:templates/" 2437 + "tet:link-template/tet:te-link-attributes/" 2438 + "tet:label-restrictions/tet:label-restriction/" 2439 + "tet:label-start/tet:te-label/tet:technology" { 2440 /* 2441 when "../../../../../../../../nw:network-types/tet:te-topology/" 2442 + "wson:wson-topology" { 2443 description "Augment WSON TE label"; 2444 } 2445 */ 2446 description "WSON label."; 2447 case wson { 2448 uses te-wson-types:wson-link-label; 2449 } 2450 } 2452 /* Augment label restrictions end of TE link template */ 2453 augment "/nw:networks/tet:te/tet:templates/" 2454 + "tet:link-template/tet:te-link-attributes/" 2455 + "tet:label-restrictions/tet:label-restriction/" 2456 + "tet:label-end/tet:te-label/tet:technology" { 2457 /* 2458 when "../../../../../../../../nw:network-types/tet:te-topology/" 2459 + "wson:wson-topology" { 2460 description "Augment WSON TE label"; 2461 } 2462 */ 2463 description "WSON label."; 2464 case wson { 2465 uses te-wson-types:wson-link-label; 2466 } 2467 } 2468 } 2469 2470 4. IETF-TE-WSON-Types YANG Model 2472 file "ietf-te-wson-types@2018-08-15.yang" 2473 module ietf-te-wson-types { 2474 namespace "urn:ietf:params:xml:ns:yang:ietf-te-wson-types"; 2475 prefix "te-wson-types"; 2477 organization 2478 "IETF CCAMP Working Group"; 2479 contact 2480 "WG Web: 2481 WG List: 2483 Editor: Aihua Guo 2484 2486 Editor: Young Lee 2487 "; 2489 description 2490 "This module defines WSON types."; 2492 revision "2018-08-15" { 2493 description 2494 "Revision 3"; 2495 reference "TBD"; 2496 } 2498 typedef operational-mode { 2499 type string; 2500 description 2501 "Vendor-specific mode that guarantees interoperability. 2502 It must be an string with the following format: 2503 B-DScW-ytz(v) where all these attributes are conformant 2504 to the ITU-T recomendation"; 2505 reference "ITU-T G.698.2 (11/2009) Section 5.3"; 2506 } 2508 identity wson-node-type { 2509 description 2510 "WSON node type."; 2511 reference 2512 "RFC6163"; 2514 } 2516 identity wson-node-foadm { 2517 base wson-node-type; 2518 description 2519 "Fixed OADM node."; 2520 } 2522 identity wson-node-roadm { 2523 base wson-node-type; 2524 description 2525 "ROADM or OXC node."; 2526 } 2528 identity wson-node-ila { 2529 base wson-node-type; 2530 description 2531 "ILA (In-Line Amplifier) node."; 2532 } 2534 identity wavelength-assignment { 2535 description 2536 "Wavelength selection base"; 2537 } 2539 identity unspecified-wavelength-assignment { 2540 base wavelength-assignment; 2541 description 2542 "No method specified"; 2543 } 2545 identity first-fit-wavelength-asignment { 2546 base wavelength-assignment; 2547 description 2548 "All the available wavelengths are numbered, 2549 and this WA method chooses the available wavelength 2550 with the lowest index."; 2551 } 2553 identity random-wavelength-asignment { 2554 base wavelength-assignment; 2555 description 2556 "This WA method chooses an available 2557 wavelength randomly."; 2558 } 2559 identity least-loaded-wavelength-asignment { 2560 base wavelength-assignment; 2561 description 2562 "This WA method selects the wavelength that 2563 has the largest residual capacity on the most loaded 2564 link along the route (in muli-fiber networks)."; 2565 } 2567 identity wson-grid-type { 2568 description 2569 "WSON grid type."; 2570 } 2572 identity wson-grid-dwdm { 2573 base wson-grid-type; 2574 description 2575 "DWDM grid."; 2576 } 2578 identity wson-grid-cwdm { 2579 base wson-grid-type; 2580 description 2581 "CWDM grid."; 2582 } 2584 identity wson-bandwidth-type { 2585 description 2586 "Bandwidth type carried by a single wavelength channel."; 2587 } 2589 identity wson-bw-otu1 { 2590 base wson-bandwidth-type; 2591 description 2592 "OTU1 (2.66G)"; 2593 } 2595 identity wson-bw-otu1e { 2596 base wson-bandwidth-type; 2597 description 2598 "OTU1e(11.04G)"; 2599 } 2601 identity wson-bw-otu1f { 2602 base wson-bandwidth-type; 2603 description 2604 "OTU1f(11.27G)"; 2605 } 2607 identity wson-bw-otu2 { 2608 base wson-bandwidth-type; 2609 description 2610 "OTU2 (10.70G)"; 2611 } 2613 identity wson-bw-otu2e { 2614 base wson-bandwidth-type; 2615 description 2616 "OTU2e (11.09G)"; 2617 } 2619 identity wson-bw-otu2f { 2620 base wson-bandwidth-type; 2621 description 2622 "OTU2f (11.31G)"; 2623 } 2625 identity wson-bw-otu3 { 2626 base wson-bandwidth-type; 2627 description 2628 "OTU3 (43.01G)"; 2629 } 2631 identity wson-bw-otu3e1 { 2632 base wson-bandwidth-type; 2633 description 2634 "OTU3e1 (44.57G)"; 2635 } 2637 identity wson-bw-otu3e2 { 2638 base wson-bandwidth-type; 2639 description 2640 "OTU3e2 (44.58G)"; 2641 } 2643 identity wson-bw-otu4 { 2644 base wson-bandwidth-type; 2645 description 2646 "OTU4 (111.80G)"; 2647 } 2648 identity wson-bw-otucn { 2649 base wson-bandwidth-type; 2650 description 2651 "OTUCn (beyond 100G)"; 2652 } 2654 identity dwdm-ch-spc-type { 2655 description 2656 "DWDM channel spacing type."; 2657 } 2659 identity dwdm-100ghz { 2660 base dwdm-ch-spc-type; 2661 description 2662 "100GHz channel spacing"; 2663 } 2665 identity dwdm-50ghz { 2666 base dwdm-ch-spc-type; 2667 description 2668 "50GHz channel spacing"; 2669 } 2671 identity dwdm-25ghz { 2672 base dwdm-ch-spc-type; 2673 description 2674 "25GHz channel spacing"; 2675 } 2677 identity dwdm-12p5ghz { 2678 base dwdm-ch-spc-type; 2679 description 2680 "12.5GHz channel spacing"; 2681 } 2683 identity cwdm-ch-spc-type { 2684 description 2685 "CWDM channel spacing type."; 2686 } 2688 identity cwdm-20nm { 2689 base cwdm-ch-spc-type; 2690 description 2691 "20nm channel spacing"; 2693 } 2695 identity fec-type { 2696 description 2697 "FEC type."; 2698 } 2700 identity g-fec { 2701 base fec-type; 2702 description 2703 "G-FEC."; 2704 } 2705 identity e-fec { 2706 base fec-type; 2707 description 2708 "E-FEC."; 2709 } 2710 identity no-fec { 2711 base fec-type; 2712 description 2713 "No FEC."; 2714 } 2716 identity term-type { 2717 description 2718 "Termination type."; 2719 } 2721 identity term-phys { 2722 base term-type; 2723 description 2724 "PHYS."; 2725 } 2726 identity term-otu { 2727 base term-type; 2728 description 2729 "OTU."; 2730 } 2731 identity term-odu { 2732 base term-type; 2733 description 2734 "ODU."; 2735 } 2736 identity term-opu { 2737 base term-type; 2738 description 2739 "OPU."; 2740 } 2741 identity term-section { 2742 base term-type; 2743 description 2744 "Section."; 2745 } 2747 /* Groupings. */ 2748 grouping wson-path-bandwidth { 2749 description "WSON path bandwidth attributes"; 2750 leaf bandwidth-type { 2751 type identityref { 2752 base wson-bandwidth-type; 2753 } 2754 description "WSON bandwidth type"; 2755 } 2756 } 2758 grouping wson-link-bandwidth { 2759 description "WSON link bandwidth attributes"; 2760 leaf-list supported-bandwidth-list { 2761 type identityref { 2762 base wson-bandwidth-type; 2763 } 2764 description "WSON bandwidth type"; 2765 } 2766 } 2768 grouping wson-label { 2769 description 2770 "Generic label for WSON links and paths"; 2771 choice grid-type { 2772 description 2773 "Label for DWDM or CWDM grid"; 2774 case dwdm { 2775 leaf channel-freq { 2776 type decimal64 { 2777 fraction-digits 5; 2778 } 2779 units THz; 2780 description 2781 "The DWDM frequency in THz, e.g. 193.12500"; 2782 reference 2783 "RFC6205"; 2784 } 2785 } 2786 case cwdm { 2787 leaf channel-wavelength { 2788 type uint32; 2789 units nm; 2790 description 2791 "The CWDM wavelength in nanometer, e.g. 1511"; 2792 reference 2793 "RFC6205"; 2794 } 2795 } 2796 } 2797 } 2799 grouping wson-link-label { 2800 description 2801 "Link label information for WSON links, for label-start/end"; 2802 uses te-wson-types:wson-label; 2803 } 2805 grouping wson-path-label { 2806 description 2807 "Path label information for WSON links, for label-hop"; 2808 uses te-wson-types:wson-label; 2809 } 2811 grouping wson-label-restriction { 2812 description 2813 "WSON label restriction."; 2815 leaf grid-type { 2816 type identityref { 2817 base te-wson-types:wson-grid-type; 2818 } 2819 description "Grid type"; 2820 } 2821 leaf priority { 2822 type uint8; 2823 description "priority."; 2824 } 2825 } 2827 grouping wson-label-step { 2828 description "Label step information for WSON"; 2829 choice wson-grid-type { 2830 description 2831 " WSON grid-type: DWDM, CWDM, etc."; 2832 case dwdm { 2833 leaf wson-dwdm { 2834 type identityref { 2835 base te-wson-types:dwdm-ch-spc-type; 2836 } 2837 description 2838 "Label-step is the channel-spacing (GHz), e.g., 2839 100, 50, 25, or 12.5 GHz for DWDM."; 2840 reference 2841 "rfc6205"; 2842 } 2843 } 2844 case cwdm { 2845 leaf wson-cwdm { 2846 type identityref { 2847 base te-wson-types:cwdm-ch-spc-type; 2848 } 2849 description 2850 "label-step is the channel-spacing (nm), i.e., 2851 20 nm for CWDM, which is the only value defined for CWDM."; 2852 reference 2853 "rfc6205."; 2854 } 2855 } 2856 } 2857 } 2858 } 2860 2862 5. Security Considerations 2864 The configuration, state, and action data defined in this document 2865 are designed to be accessed via a management protocol with a secure 2866 transport layer, such as NETCONF [RFC6241]. The NETCONF access 2867 control model [RFC6536] provides the means to restrict access for 2868 particular NETCONF users to a preconfigured subset of all available 2869 NETCONF protocol operations and content. 2871 A number of configuration data nodes defined in this document are 2872 writable/deletable (i.e., "config true") These data nodes may be 2873 considered sensitive or vulnerable in some network environments. 2875 6. IANA Considerations 2877 This document registers the following namespace URIs in the IETF XML 2878 registry [RFC3688]: 2880 -------------------------------------------------------------------- 2881 URI: urn:ietf:params:xml:ns:yang: ietf-wson-topology 2882 Registrant Contact: The IESG. 2883 XML: N/A, the requested URI is an XML namespace. 2884 -------------------------------------------------------------------- 2885 URI: urn:ietf:params:xml:ns:yang: ietf-te-wson-types 2886 Registrant Contact: The IESG. 2887 XML: N/A, the requested URI is an XML namespace. 2888 -------------------------------------------------------------------- 2890 This document registers the following YANG modules in the YANG 2891 Module Names registry [RFC7950]: 2893 -------------------------------------------------------------------- 2894 name: ietf-wson-topology 2895 namespace: urn:ietf:params:xml:ns:yang:ietf-wson-topology 2896 reference: RFC XXXX (TDB) 2897 -------------------------------------------------------------------- 2898 name: ietf-te-wson-types 2899 namespace: urn:ietf:params:xml:ns:yang: ietf-te-wson-types 2900 reference: RFC XXXX (TDB) 2901 -------------------------------------------------------------------- 2903 7. Acknowledgments 2905 This document was prepared using 2-Word-v2.0.template.dot. 2907 8. References 2909 8.1. Normative References 2911 [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work 2912 in progress: draft-ietf-teas-yang-te-topo. 2914 8.2. Informative References 2916 [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and 2917 Wavelength Assignment Information Model for Wavelength 2918 Switched Optical Networks", RFC 7446, Feburary 2015. 2920 [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General 2921 Network Element Constraint Encoding for GMPLS Controlled 2922 Networks", RFC 7579, June 2015. 2924 [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and 2925 Wavelength Assignment Information Encoding for Wavelength 2926 Switched Optical Networks", RFC 7581, June 2015. 2928 9. Contributors 2930 Authors' Addresses 2932 Young Lee (ed.) 2933 Huawei Technologies 2934 5340 Legacy Drive, Building 3 2935 Plano, TX 75023 2936 USA 2938 Phone: (469) 277-5838 2939 Email: leeyoung@huawei.com 2941 Dhruv Dhody 2942 Huawei Technologies India Pvt. Ltd, 2943 Near EPIP Industrial Area, Kundalahalli Village, Whitefield, 2944 Bangalore - 560 037 [H1-2A-245] 2945 Email: dhruv.dhody@huawei.com 2947 Xian Zhang 2948 Huawei Technologies 2950 Email: zhang.xian@huawei.com 2952 Aihua Guo 2953 Huawei Technologies 2954 Email: aihuaguo@huawei.com 2956 Victor Lopez 2957 Telefonica 2958 Email: victor.lopezalvarez@telefonica.com 2960 Daniel King 2961 University of Lancaster 2962 Email: d.king@lancaster.ac.uk 2964 Bin Yeong Yoon 2965 ETRI 2966 218 Gaijeongro, Yuseong-gu 2967 Daejeon, Korea 2968 Email: byyun@etri.re.kr 2970 Ricard Vilalta 2971 CTTC 2972 Email: ricard.vilalta@cttc.es