idnits 2.17.1 draft-ietf-ccamp-wson-tunnel-model-02.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 146 instances of too long lines in the document, the longest one being 6 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 18, 2018) is 2014 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: 'WSON-TOPO' is mentioned on line 136, but not defined == Missing Reference: 'RFCXXXX' is mentioned on line 137, but not defined == Missing Reference: 'OTN-TOPO' is mentioned on line 140, but not defined == Missing Reference: 'RFC6536' is mentioned on line 1957, but not defined ** Obsolete undefined reference: RFC 6536 (Obsoleted by RFC 8341) == Missing Reference: 'H1-2A-245' is mentioned on line 2062, but not defined == Unused Reference: 'TE-TOPO' is defined on line 1994, but no explicit reference was found in the text == Unused Reference: 'WSON-Topo' is defined on line 2029, but no explicit reference was found in the text == Unused Reference: 'OTN-Topo' is defined on line 2038, but no explicit reference was found in the text == Outdated reference: A later version (-36) exists of draft-ietf-teas-yang-te-16 == Outdated reference: A later version (-28) exists of draft-ietf-ccamp-wson-yang-13 == Outdated reference: A later version (-22) exists of draft-ietf-teas-yang-path-computation-02 == Outdated reference: A later version (-18) exists of draft-ietf-ccamp-otn-topo-yang-02 Summary: 2 errors (**), 0 flaws (~~), 13 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 CCAMP Working Group Y. Lee 2 Internet Draft D. Dhody 3 Intended status: Standard Track A. Guo 4 Expires: April 19, 2019 Huawei 6 V. Lopez 7 Telefonica 9 D. King 10 U. of Lancaster 12 B. Yoon 13 ETRI 15 R. Vilalta 16 CTTC 18 October 18, 2018 20 A Yang Data Model for WSON Tunnel 22 draft-ietf-ccamp-wson-tunnel-model-02 24 Abstract 26 This document provides a YANG data model for WSON TE tunnel. 28 Status of this Memo 30 This Internet-Draft is submitted to IETF in full conformance with 31 the provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF), its areas, and its working groups. Note that 35 other groups may also distribute working documents as Internet- 36 Drafts. 38 Internet-Drafts are draft documents valid for a maximum of six 39 months and may be updated, replaced, or obsoleted by other documents 40 at any time. It is inappropriate to use Internet-Drafts as 41 reference material or to cite them other than as "work in progress." 43 The list of current Internet-Drafts can be accessed at 44 http://www.ietf.org/ietf/1id-abstracts.txt 46 The list of Internet-Draft Shadow Directories can be accessed at 47 http://www.ietf.org/shadow.html 49 This Internet-Draft will expire on April 19, 2019. 51 Copyright Notice 53 Copyright (c) 2018 IETF Trust and the persons identified as the 54 document authors. All rights reserved. 56 This document is subject to BCP 78 and the IETF Trust's Legal 57 Provisions Relating to IETF Documents 58 (http://trustee.ietf.org/license-info) in effect on the date of 59 publication of this document. Please review these documents 60 carefully, as they describe your rights and restrictions with 61 respect to this document. Code Components extracted from this 62 document must include Simplified BSD License text as described in 63 Section 4.e of the Trust Legal Provisions and are provided without 64 warranty as described in the Simplified BSD License. 66 Table of Contents 68 1. Introduction...................................................2 69 1.1. Terminology...............................................3 70 1.2. Tree diagram..............................................3 71 1.3. Prefixes in Data Node Names...............................3 72 2. YANG Model (Tree Structure)....................................4 73 3. TE Tunnel Model for WSON......................................20 74 4. Security Considerations.......................................44 75 5. IANA Considerations...........................................44 76 6. Acknowledgments...............................................45 77 7. References....................................................46 78 7.1. Normative References.....................................46 79 7.2. Informative References...................................46 80 8. Contributors..................................................47 81 Authors' Addresses...............................................47 83 1. Introduction 85 This document provides a YANG data model for WSON tunnel model. The 86 YANG model described in this document is a WSON technology-specific 87 Yang Tunnel model based on the information model developed in 88 [RFC7446] and the two encoding documents [RFC7581] and [RFC7579] 89 that developed protocol independent encodings based on [RFC7446]. 91 This document augments the generic TE tunnel model [TE-Tunnel]. 93 1.1. Terminology 95 Refer to [RFC7446] and [RFC7581] for the key terms used in this 96 document. 98 The following terms are defined in [RFC7950] and are not redefined 99 here: 101 o client 103 o server 105 o augment 107 o data model 109 o data node 111 The following terms are defined in [RFC6241] and are not redefined 112 here: 114 o configuration data 116 o state data 118 The terminology for describing YANG data models is found in 119 [RFC7950]. 121 1.2. Tree diagram 123 A simplified graphical representation of the data model is used in 124 chapter 2 of this this document. The meaning of the symbols in 125 these diagrams is defined in [RFC8340]. 127 1.3. Prefixes in Data Node Names 129 In this document, names of data nodes and other data model objects 130 are prefixed using the standard prefix associated with the 131 corresponding YANG imported modules, as shown in Table 1. 133 +-------------+--------------------------+-----------------+ 134 | Prefix | YANG module | Reference | 135 +-------------+--------------------------+-----------------+ 136 | layer0-types| ietf-layer0-types | [WSON-TOPO] | 137 | wson-tunnel | ietf-wson-tunnel | [RFCXXXX] | 138 | tepc | ietf-te-path-computation | [TE-PC] | 139 | te | ietf-te | [TE-Tunnel] | 140 | otn-types | ietf-otn-types | [OTN-TOPO] | 141 +-------------+--------------------------+-----------------+ 143 Table 1: Prefixes and corresponding YANG modules 145 Note: The RFC Editor will replace XXXX with the number assigned to 146 the RFC once this draft becomes an RFC. 148 2. YANG Model (Tree Structure) 150 module: ietf-wson-tunnel 151 augment /te:te/te:tunnels/te:tunnel: 152 +--rw src-client-signal? identityref 153 +--rw dst-client-signal? identityref 154 +--rw fec-type? identityref 155 +--rw termination-type? identityref 156 +--rw bit-stuffing? boolean 157 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 158 constraint/te:te-bandwidth/te:technology: 159 +--:(wson) 160 +--rw bandwidth-type? identityref 161 augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology: 162 +--:(wson) 163 +--rw bandwidth-type? identityref 164 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 165 path/te:te-bandwidth/te:technology: 166 +--:(wson) 167 +--rw bandwidth-type? identityref 168 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 169 path/te:p2p-reverse-primary-path/te:te-bandwidth/te:technology: 170 +--:(wson) 171 +--rw bandwidth-type? identityref 172 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 173 path/te:te-bandwidth/te:technology: 174 +--:(wson) 175 +--rw bandwidth-type? identityref 176 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 177 constraint/te:explicit-route-objects/te:route-object-exclude- 178 always/te:type/te:label/te:label-hop/te:te-label/te:technology: 179 +--:(wson) 180 +--rw (grid-type)? 181 +--:(dwdm) 182 | +--rw (single-or-super-channel)? 183 | +--:(single) 184 | | +--rw channel-freq? frequency-thz 185 | +--:(super) 186 | +--rw subcarrier-channels* frequency-thz 187 +--:(cwdm) 188 +--rw channel-wavelength? uint32 189 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 190 constraint/te:explicit-route-objects/te:route-object-include- 191 exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: 192 +--:(wson) 193 +--rw (grid-type)? 194 +--:(dwdm) 195 | +--rw (single-or-super-channel)? 196 | +--:(single) 197 | | +--rw channel-freq? frequency-thz 198 | +--:(super) 199 | +--rw subcarrier-channels* frequency-thz 200 +--:(cwdm) 201 +--rw channel-wavelength? uint32 202 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 203 constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label- 204 restriction: 205 +--rw grid-type? identityref 206 +--rw priority? uint8 207 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 208 constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label- 209 restriction/te:label-start/te:te-label/te:technology: 210 +--:(wson) 211 +--rw (grid-type)? 212 +--:(dwdm) 213 | +--rw channel-freq? frequency-thz 214 +--:(cwdm) 215 +--rw channel-wavelength? uint32 216 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 217 constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label- 218 restriction/te:label-end/te:te-label/te:technology: 219 +--:(wson) 220 +--rw (grid-type)? 221 +--:(dwdm) 222 | +--rw channel-freq? frequency-thz 223 +--:(cwdm) 224 +--rw channel-wavelength? uint32 226 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 227 constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label- 228 restriction: 229 +--rw grid-type? identityref 230 +--rw priority? uint8 231 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 232 constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label- 233 restriction/te:label-start/te:te-label/te:technology: 234 +--:(wson) 235 +--rw (grid-type)? 236 +--:(dwdm) 237 | +--rw channel-freq? frequency-thz 238 +--:(cwdm) 239 +--rw channel-wavelength? uint32 240 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 241 constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label- 242 restriction/te:label-end/te:te-label/te:technology: 243 +--:(wson) 244 +--rw (grid-type)? 245 +--:(dwdm) 246 | +--rw channel-freq? frequency-thz 247 +--:(cwdm) 248 +--rw channel-wavelength? uint32 249 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 250 constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label- 251 restriction: 252 +--rw grid-type? identityref 253 +--rw priority? uint8 254 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 255 constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label- 256 restriction/te:label-start/te:te-label/te:technology: 257 +--:(wson) 258 +--rw (grid-type)? 259 +--:(dwdm) 260 | +--rw channel-freq? frequency-thz 261 +--:(cwdm) 262 +--rw channel-wavelength? uint32 263 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 264 constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label- 265 restriction/te:label-end/te:te-label/te:technology: 266 +--:(wson) 267 +--rw (grid-type)? 268 +--:(dwdm) 269 | +--rw channel-freq? frequency-thz 270 +--:(cwdm) 271 +--rw channel-wavelength? uint32 272 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 273 constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label- 274 restriction: 275 +--rw grid-type? identityref 276 +--rw priority? uint8 277 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 278 constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label- 279 restriction/te:label-start/te:te-label/te:technology: 280 +--:(wson) 281 +--rw (grid-type)? 282 +--:(dwdm) 283 | +--rw channel-freq? frequency-thz 284 +--:(cwdm) 285 +--rw channel-wavelength? uint32 286 augment /te:te/te:globals/te:named-path-constraints/te:named-path- 287 constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label- 288 restriction/te:label-end/te:te-label/te:technology: 289 +--:(wson) 290 +--rw (grid-type)? 291 +--:(dwdm) 292 | +--rw channel-freq? frequency-thz 293 +--:(cwdm) 294 +--rw channel-wavelength? uint32 295 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 296 path/te:optimizations/te:algorithm/te:metric/te:optimization- 297 metric/te:explicit-route-exclude-objects/te:route-object-exclude- 298 object/te:type/te:label/te:label-hop/te:te-label/te:technology: 299 +--:(wson) 300 +--rw (grid-type)? 301 +--:(dwdm) 302 | +--rw (single-or-super-channel)? 303 | +--:(single) 304 | | +--rw channel-freq? frequency-thz 305 | +--:(super) 306 | +--rw subcarrier-channels* frequency-thz 307 +--:(cwdm) 308 +--rw channel-wavelength? uint32 309 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 310 path/te:optimizations/te:algorithm/te:metric/te:optimization- 311 metric/te:explicit-route-include-objects/te:route-object-include- 312 object/te:type/te:label/te:label-hop/te:te-label/te:technology: 313 +--:(wson) 314 +--rw (grid-type)? 315 +--:(dwdm) 316 | +--rw (single-or-super-channel)? 317 | +--:(single) 318 | | +--rw channel-freq? frequency-thz 319 | +--:(super) 320 | +--rw subcarrier-channels* frequency-thz 321 +--:(cwdm) 322 +--rw channel-wavelength? uint32 323 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 324 path/te:explicit-route-objects/te:route-object-exclude- 325 always/te:type/te:label/te:label-hop/te:te-label/te:technology: 326 +--:(wson) 327 +--rw (grid-type)? 328 +--:(dwdm) 329 | +--rw (single-or-super-channel)? 330 | +--:(single) 331 | | +--rw channel-freq? frequency-thz 332 | +--:(super) 333 | +--rw subcarrier-channels* frequency-thz 334 +--:(cwdm) 335 +--rw channel-wavelength? uint32 336 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 337 path/te:explicit-route-objects/te:route-object-include- 338 exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: 339 +--:(wson) 340 +--rw (grid-type)? 341 +--:(dwdm) 342 | +--rw (single-or-super-channel)? 343 | +--:(single) 344 | | +--rw channel-freq? frequency-thz 345 | +--:(super) 346 | +--rw subcarrier-channels* frequency-thz 347 +--:(cwdm) 348 +--rw channel-wavelength? uint32 349 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 350 path/te:path-in-segment/te:forward/te:label-restrictions/te:label-restriction: 351 +--rw grid-type? identityref 352 +--rw priority? uint8 353 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 354 path/te:path-in-segment/te:forward/te:label-restrictions/te:label- 355 restriction/te:label-start/te:te-label/te:technology: 356 +--:(wson) 357 +--rw (grid-type)? 358 +--:(dwdm) 359 | +--rw channel-freq? frequency-thz 360 +--:(cwdm) 361 +--rw channel-wavelength? uint32 362 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 363 path/te:path-in-segment/te:forward/te:label-restrictions/te:label- 364 restriction/te:label-end/te:te-label/te:technology: 365 +--:(wson) 366 +--rw (grid-type)? 367 +--:(dwdm) 368 | +--rw channel-freq? frequency-thz 369 +--:(cwdm) 370 +--rw channel-wavelength? uint32 371 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 372 path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-restriction: 373 +--rw grid-type? identityref 374 +--rw priority? uint8 375 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 376 path/te:path-in-segment/te:reverse/te:label-restrictions/te:label- 377 restriction/te:label-start/te:te-label/te:technology: 378 +--:(wson) 379 +--rw (grid-type)? 380 +--:(dwdm) 381 | +--rw channel-freq? frequency-thz 382 +--:(cwdm) 383 +--rw channel-wavelength? uint32 384 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 385 path/te:path-in-segment/te:reverse/te:label-restrictions/te:label- 386 restriction/te:label-end/te:te-label/te:technology: 387 +--:(wson) 388 +--rw (grid-type)? 389 +--:(dwdm) 390 | +--rw channel-freq? frequency-thz 391 +--:(cwdm) 392 +--rw channel-wavelength? uint32 393 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 394 path/te:path-out-segment/te:forward/te:label-restrictions/te:label- 395 restriction: 396 +--rw grid-type? identityref 397 +--rw priority? uint8 398 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 399 path/te:path-out-segment/te:forward/te:label-restrictions/te:label- 400 restriction/te:label-start/te:te-label/te:technology: 401 +--:(wson) 402 +--rw (grid-type)? 403 +--:(dwdm) 404 | +--rw channel-freq? frequency-thz 405 +--:(cwdm) 406 +--rw channel-wavelength? uint32 407 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 408 path/te:path-out-segment/te:forward/te:label-restrictions/te:label- 409 restriction/te:label-end/te:te-label/te:technology: 410 +--:(wson) 411 +--rw (grid-type)? 412 +--:(dwdm) 413 | +--rw channel-freq? frequency-thz 414 +--:(cwdm) 415 +--rw channel-wavelength? uint32 416 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 417 path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- 418 restriction: 419 +--rw grid-type? identityref 420 +--rw priority? uint8 421 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 422 path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- 423 restriction/te:label-start/te:te-label/te:technology: 424 +--:(wson) 425 +--rw (grid-type)? 426 +--:(dwdm) 427 | +--rw channel-freq? frequency-thz 428 +--:(cwdm) 429 +--rw channel-wavelength? uint32 430 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 431 path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- 432 restriction/te:label-end/te:te-label/te:technology: 433 +--:(wson) 434 +--rw (grid-type)? 435 +--:(dwdm) 436 | +--rw channel-freq? frequency-thz 437 +--:(cwdm) 438 +--rw channel-wavelength? uint32 439 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 440 path/te:state/te:path-properties/te:path-route-objects/te:path-computed-route- 441 object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology: 442 +--:(wson) 443 +--ro (grid-type)? 444 +--:(dwdm) 445 | +--ro (single-or-super-channel)? 446 | +--:(single) 447 | | +--ro channel-freq? frequency-thz 448 | +--:(super) 449 | +--ro subcarrier-channels* frequency-thz 450 +--:(cwdm) 451 +--ro channel-wavelength? uint32 452 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 453 path/te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/te:record-route- 454 subobject/te:type/te:label/te:label-hop/te:te-label/te:technology: 455 +--:(wson) 456 +--ro (grid-type)? 457 +--:(dwdm) 458 | +--ro (single-or-super-channel)? 459 | +--:(single) 460 | | +--ro channel-freq? frequency-thz 461 | +--:(super) 462 | +--ro subcarrier-channels* frequency-thz 463 +--:(cwdm) 464 +--ro channel-wavelength? uint32 465 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 466 path/te:state/te:lsps/te:lsp/te:path-properties/te:path-route-objects/te:path- 467 computed-route-object/te:state/te:type/te:label/te:label-hop/te:te- 468 label/te:technology: 469 +--:(wson) 470 +--ro (grid-type)? 471 +--:(dwdm) 472 | +--ro (single-or-super-channel)? 473 | +--:(single) 474 | | +--ro channel-freq? frequency-thz 475 | +--:(super) 476 | +--ro subcarrier-channels* frequency-thz 477 +--:(cwdm) 478 +--ro channel-wavelength? uint32 479 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 480 path/te:p2p-reverse-primary- 481 path/te:optimizations/te:algorithm/te:metric/te:optimization- 482 metric/te:explicit-route-exclude-objects/te:route-object-exclude- 483 object/te:type/te:label/te:label-hop/te:te-label/te:technology: 484 +--:(wson) 485 +--rw (grid-type)? 486 +--:(dwdm) 487 | +--rw (single-or-super-channel)? 488 | +--:(single) 489 | | +--rw channel-freq? frequency-thz 490 | +--:(super) 491 | +--rw subcarrier-channels* frequency-thz 492 +--:(cwdm) 493 +--rw channel-wavelength? uint32 494 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 495 path/te:p2p-reverse-primary- 496 path/te:optimizations/te:algorithm/te:metric/te:optimization- 497 metric/te:explicit-route-include-objects/te:route-object-include- 498 object/te:type/te:label/te:label-hop/te:te-label/te:technology: 499 +--:(wson) 500 +--rw (grid-type)? 501 +--:(dwdm) 502 | +--rw (single-or-super-channel)? 503 | +--:(single) 504 | | +--rw channel-freq? frequency-thz 505 | +--:(super) 506 | +--rw subcarrier-channels* frequency-thz 507 +--:(cwdm) 508 +--rw channel-wavelength? uint32 509 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 510 path/te:p2p-reverse-primary-path/te:explicit-route-objects/te:route-object- 511 exclude-always/te:type/te:label/te:label-hop/te:te-label/te:technology: 512 +--:(wson) 513 +--rw (grid-type)? 514 +--:(dwdm) 515 | +--rw (single-or-super-channel)? 516 | +--:(single) 517 | | +--rw channel-freq? frequency-thz 518 | +--:(super) 519 | +--rw subcarrier-channels* frequency-thz 520 +--:(cwdm) 521 +--rw channel-wavelength? uint32 522 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 523 path/te:p2p-reverse-primary-path/te:explicit-route-objects/te:route-object- 524 include-exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: 525 +--:(wson) 526 +--rw (grid-type)? 527 +--:(dwdm) 528 | +--rw (single-or-super-channel)? 529 | +--:(single) 530 | | +--rw channel-freq? frequency-thz 531 | +--:(super) 532 | +--rw subcarrier-channels* frequency-thz 533 +--:(cwdm) 534 +--rw channel-wavelength? uint32 535 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 536 path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label- 537 restrictions/te:label-restriction: 538 +--rw grid-type? identityref 539 +--rw priority? uint8 541 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 542 path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label- 543 restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: 544 +--:(wson) 545 +--rw (grid-type)? 546 +--:(dwdm) 547 | +--rw channel-freq? frequency-thz 548 +--:(cwdm) 549 +--rw channel-wavelength? uint32 550 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 551 path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label- 552 restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: 553 +--:(wson) 554 +--rw (grid-type)? 555 +--:(dwdm) 556 | +--rw channel-freq? frequency-thz 557 +--:(cwdm) 558 +--rw channel-wavelength? uint32 559 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 560 path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label- 561 restrictions/te:label-restriction: 562 +--rw grid-type? identityref 563 +--rw priority? uint8 564 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 565 path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label- 566 restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: 567 +--:(wson) 568 +--rw (grid-type)? 569 +--:(dwdm) 570 | +--rw channel-freq? frequency-thz 571 +--:(cwdm) 572 +--rw channel-wavelength? uint32 573 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 574 path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label- 575 restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: 576 +--:(wson) 577 +--rw (grid-type)? 578 +--:(dwdm) 579 | +--rw channel-freq? frequency-thz 580 +--:(cwdm) 581 +--rw channel-wavelength? uint32 582 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 583 path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label- 584 restrictions/te:label-restriction: 585 +--rw grid-type? identityref 586 +--rw priority? uint8 587 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 588 path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label- 589 restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: 590 +--:(wson) 591 +--rw (grid-type)? 592 +--:(dwdm) 593 | +--rw channel-freq? frequency-thz 594 +--:(cwdm) 595 +--rw channel-wavelength? uint32 596 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 597 path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label- 598 restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: 599 +--:(wson) 600 +--rw (grid-type)? 601 +--:(dwdm) 602 | +--rw channel-freq? frequency-thz 603 +--:(cwdm) 604 +--rw channel-wavelength? uint32 605 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 606 path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label- 607 restrictions/te:label-restriction: 608 +--rw grid-type? identityref 609 +--rw priority? uint8 610 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 611 path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label- 612 restrictions/te:label-restriction/te:label-start/te:te-label/te:technology: 613 +--:(wson) 614 +--rw (grid-type)? 615 +--:(dwdm) 616 | +--rw channel-freq? frequency-thz 617 +--:(cwdm) 618 +--rw channel-wavelength? uint32 619 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 620 path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label- 621 restrictions/te:label-restriction/te:label-end/te:te-label/te:technology: 622 +--:(wson) 623 +--rw (grid-type)? 624 +--:(dwdm) 625 | +--rw channel-freq? frequency-thz 626 +--:(cwdm) 627 +--rw channel-wavelength? uint32 628 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 629 path/te:p2p-reverse-primary-path/te:state/te:path-properties/te:path-route- 630 objects/te:path-computed-route-object/te:state/te:type/te:label/te:label- 631 hop/te:te-label/te:technology: 632 +--:(wson) 633 +--ro (grid-type)? 634 +--:(dwdm) 635 | +--ro (single-or-super-channel)? 636 | +--:(single) 637 | | +--ro channel-freq? frequency-thz 638 | +--:(super) 639 | +--ro subcarrier-channels* frequency-thz 640 +--:(cwdm) 641 +--ro channel-wavelength? uint32 642 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 643 path/te:p2p-reverse-primary-path/te:state/te:lsps/te:lsp/te:lsp-record-route- 644 subobjects/te:record-route-subobject/te:type/te:label/te:label-hop/te:te- 645 label/te:technology: 646 +--:(wson) 647 +--ro (grid-type)? 648 +--:(dwdm) 649 | +--ro (single-or-super-channel)? 650 | +--:(single) 651 | | +--ro channel-freq? frequency-thz 652 | +--:(super) 653 | +--ro subcarrier-channels* frequency-thz 654 +--:(cwdm) 655 +--ro channel-wavelength? uint32 656 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary- 657 path/te:p2p-reverse-primary-path/te:state/te:lsps/te:lsp/te:path- 658 properties/te:path-route-objects/te:path-computed-route- 659 object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology: 660 +--:(wson) 661 +--ro (grid-type)? 662 +--:(dwdm) 663 | +--ro (single-or-super-channel)? 664 | +--:(single) 665 | | +--ro channel-freq? frequency-thz 666 | +--:(super) 667 | +--ro subcarrier-channels* frequency-thz 668 +--:(cwdm) 669 +--ro channel-wavelength? uint32 670 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 671 path/te:optimizations/te:algorithm/te:metric/te:optimization- 672 metric/te:explicit-route-exclude-objects/te:route-object-exclude- 673 object/te:type/te:label/te:label-hop/te:te-label/te:technology: 674 +--:(wson) 675 +--rw (grid-type)? 676 +--:(dwdm) 677 | +--rw (single-or-super-channel)? 678 | +--:(single) 679 | | +--rw channel-freq? frequency-thz 680 | +--:(super) 681 | +--rw subcarrier-channels* frequency-thz 682 +--:(cwdm) 683 +--rw channel-wavelength? uint32 684 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 685 path/te:optimizations/te:algorithm/te:metric/te:optimization- 686 metric/te:explicit-route-include-objects/te:route-object-include- 687 object/te:type/te:label/te:label-hop/te:te-label/te:technology: 688 +--:(wson) 689 +--rw (grid-type)? 690 +--:(dwdm) 691 | +--rw (single-or-super-channel)? 692 | +--:(single) 693 | | +--rw channel-freq? frequency-thz 694 | +--:(super) 695 | +--rw subcarrier-channels* frequency-thz 696 +--:(cwdm) 697 +--rw channel-wavelength? uint32 698 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 699 path/te:explicit-route-objects/te:route-object-exclude- 700 always/te:type/te:label/te:label-hop/te:te-label/te:technology: 701 +--:(wson) 702 +--rw (grid-type)? 703 +--:(dwdm) 704 | +--rw (single-or-super-channel)? 705 | +--:(single) 706 | | +--rw channel-freq? frequency-thz 707 | +--:(super) 708 | +--rw subcarrier-channels* frequency-thz 709 +--:(cwdm) 710 +--rw channel-wavelength? uint32 711 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 712 path/te:explicit-route-objects/te:route-object-include- 713 exclude/te:type/te:label/te:label-hop/te:te-label/te:technology: 714 +--:(wson) 715 +--rw (grid-type)? 716 +--:(dwdm) 717 | +--rw (single-or-super-channel)? 718 | +--:(single) 719 | | +--rw channel-freq? frequency-thz 720 | +--:(super) 721 | +--rw subcarrier-channels* frequency-thz 722 +--:(cwdm) 723 +--rw channel-wavelength? uint32 724 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 725 path/te:path-in-segment/te:forward/te:label-restrictions/te:label-restriction: 726 +--rw grid-type? identityref 727 +--rw priority? uint8 728 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 729 path/te:path-in-segment/te:forward/te:label-restrictions/te:label- 730 restriction/te:label-start/te:te-label/te:technology: 731 +--:(wson) 732 +--rw (grid-type)? 733 +--:(dwdm) 734 | +--rw channel-freq? frequency-thz 735 +--:(cwdm) 736 +--rw channel-wavelength? uint32 737 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 738 path/te:path-in-segment/te:forward/te:label-restrictions/te:label- 739 restriction/te:label-end/te:te-label/te:technology: 740 +--:(wson) 741 +--rw (grid-type)? 742 +--:(dwdm) 743 | +--rw channel-freq? frequency-thz 744 +--:(cwdm) 745 +--rw channel-wavelength? uint32 746 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 747 path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-restriction: 748 +--rw grid-type? identityref 749 +--rw priority? uint8 750 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 751 path/te:path-in-segment/te:reverse/te:label-restrictions/te:label- 752 restriction/te:label-start/te:te-label/te:technology: 753 +--:(wson) 754 +--rw (grid-type)? 755 +--:(dwdm) 756 | +--rw channel-freq? frequency-thz 757 +--:(cwdm) 758 +--rw channel-wavelength? uint32 759 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 760 path/te:path-in-segment/te:reverse/te:label-restrictions/te:label- 761 restriction/te:label-end/te:te-label/te:technology: 762 +--:(wson) 763 +--rw (grid-type)? 764 +--:(dwdm) 765 | +--rw channel-freq? frequency-thz 766 +--:(cwdm) 767 +--rw channel-wavelength? uint32 768 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 769 path/te:path-out-segment/te:forward/te:label-restrictions/te:label- 770 restriction: 771 +--rw grid-type? identityref 772 +--rw priority? uint8 773 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 774 path/te:path-out-segment/te:forward/te:label-restrictions/te:label- 775 restriction/te:label-start/te:te-label/te:technology: 776 +--:(wson) 777 +--rw (grid-type)? 778 +--:(dwdm) 779 | +--rw channel-freq? frequency-thz 780 +--:(cwdm) 781 +--rw channel-wavelength? uint32 782 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 783 path/te:path-out-segment/te:forward/te:label-restrictions/te:label- 784 restriction/te:label-end/te:te-label/te:technology: 785 +--:(wson) 786 +--rw (grid-type)? 787 +--:(dwdm) 788 | +--rw channel-freq? frequency-thz 789 +--:(cwdm) 790 +--rw channel-wavelength? uint32 791 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 792 path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- 793 restriction: 794 +--rw grid-type? identityref 795 +--rw priority? uint8 796 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 797 path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- 798 restriction/te:label-start/te:te-label/te:technology: 799 +--:(wson) 800 +--rw (grid-type)? 801 +--:(dwdm) 802 | +--rw channel-freq? frequency-thz 803 +--:(cwdm) 804 +--rw channel-wavelength? uint32 805 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 806 path/te:path-out-segment/te:reverse/te:label-restrictions/te:label- 807 restriction/te:label-end/te:te-label/te:technology: 808 +--:(wson) 809 +--rw (grid-type)? 810 +--:(dwdm) 811 | +--rw channel-freq? frequency-thz 812 +--:(cwdm) 813 +--rw channel-wavelength? uint32 814 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 815 path/te:state/te:path-properties/te:path-route-objects/te:path-computed-route- 816 object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology: 817 +--:(wson) 818 +--ro (grid-type)? 819 +--:(dwdm) 820 | +--ro (single-or-super-channel)? 821 | +--:(single) 822 | | +--ro channel-freq? frequency-thz 823 | +--:(super) 824 | +--ro subcarrier-channels* frequency-thz 825 +--:(cwdm) 826 +--ro channel-wavelength? uint32 827 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 828 path/te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/te:record-route- 829 subobject/te:type/te:label/te:label-hop/te:te-label/te:technology: 830 +--:(wson) 831 +--ro (grid-type)? 832 +--:(dwdm) 833 | +--ro (single-or-super-channel)? 834 | +--:(single) 835 | | +--ro channel-freq? frequency-thz 836 | +--:(super) 837 | +--ro subcarrier-channels* frequency-thz 838 +--:(cwdm) 839 +--ro channel-wavelength? uint32 840 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary- 841 path/te:state/te:lsps/te:lsp/te:path-properties/te:path-route-objects/te:path- 842 computed-route-object/te:state/te:type/te:label/te:label-hop/te:te- 843 label/te:technology: 844 +--:(wson) 845 +--ro (grid-type)? 846 +--:(dwdm) 847 | +--ro (single-or-super-channel)? 848 | +--:(single) 849 | | +--ro channel-freq? frequency-thz 850 | +--:(super) 851 | +--ro subcarrier-channels* frequency-thz 852 +--:(cwdm) 853 +--ro channel-wavelength? uint32 855 augment /te:te/te:lsps-state/te:lsp/te:lsp-record-route- 856 subobjects/te:record-route-subobject/te:type/te:label/te:label-hop/te:te- 857 label/te:technology: 858 +--:(wson) 859 +--ro (grid-type)? 860 +--:(dwdm) 861 | +--ro (single-or-super-channel)? 862 | +--:(single) 863 | | +--ro channel-freq? frequency-thz 864 | +--:(super) 865 | +--ro subcarrier-channels* frequency-thz 866 +--:(cwdm) 867 +--ro channel-wavelength? uint32 868 augment /te:tunnels-rpc/te:input/te:tunnel-info/tepc:path-request: 869 +---- src-client-signal? identityref 870 +---- dst-client-signal? identityref 871 +---- fec-type? identityref 872 +---- termination-type? identityref 873 +---- bit-stuffing? boolean 874 +---- wavelength-assignment? identityref 876 3. TE Tunnel Model for WSON 878 file "ietf-wson-tunnel@2018-10-15.yang" 880 module ietf-wson-tunnel { 881 yang-version 1.1; 883 namespace "urn:ietf:params:xml:ns:yang:ietf-wson-tunnel"; 884 prefix "wson-tunnel"; 886 import ietf-te { prefix "te"; } 887 import ietf-layer0-types{ prefix "layer0-types"; } 888 import ietf-te-path-computation { prefix "tepc"; } 889 import ietf-otn-types { prefix "otn-types";} 891 organization 892 "IETF CCAMP Working Group"; 894 contact 895 "WG Web: 896 WG List: 898 WG Chair: Daniele Ceccarelli 899 901 WG Chair: Fatai Zhang 902 904 Editor: Young Lee 905 Editor: Aihua Guo 906 Editor: Dhruv Dhody 907 Editor: Ricard Vilalta "; 908 description 909 "This module defines a model for WSON Tunnel Services."; 911 revision "2018-10-15" { 912 description 913 "Updates to version 2"; 914 reference "version 2"; 915 } 917 /* Groupings. */ 918 grouping wson-tunnel-attributes { 919 description "Parameters for WSON tunnel."; 921 leaf src-client-signal { 922 type identityref { 923 base otn-types:client-signal; 924 } 925 description 926 "Client signal at the source endpoint of 927 the tunnel."; 928 } 930 leaf dst-client-signal { 931 type identityref { 932 base otn-types:client-signal; 933 } 934 description 935 "Client signal at the destination endpoint of 936 the tunnel."; 937 } 939 leaf fec-type { 940 type identityref { 941 base layer0-types:fec-type; 942 } 943 description 944 "FEC type."; 945 } 947 leaf termination-type { 948 type identityref { 949 base layer0-types:term-type; 950 } 951 description 952 "Termination type."; 953 } 955 leaf bit-stuffing { 956 type boolean; 957 description 958 "Bit stuffing enabled/disabled."; 959 } 960 } 962 grouping wson-path-constraints { 963 description 964 "Global named path constraints configuration 965 grouping for WSON tunnel"; 967 leaf wavelength-assignment { 968 type identityref { 969 base layer0-types:wavelength-assignment; 970 } 971 description "Wavelength Allocation Method"; 972 } 973 } 975 /* 976 * Data nodes 977 */ 979 augment "/te:te/te:tunnels/te:tunnel" { 980 description 981 "Augment with additional parameters required for WSON tunnel."; 982 uses wson-tunnel-attributes; 983 } 984 /* 985 * Augment TE bandwidth 986 */ 988 /* Augment bandwidth of named-path-constraints */ 989 augment "/te:te/te:globals/te:named-path-constraints/" 990 + "te:named-path-constraint/" 991 + "te:te-bandwidth/te:technology" { 992 description "WSON bandwidth."; 993 case wson { 994 uses layer0-types:wson-path-bandwidth; 995 } 996 } 998 /* Augment bandwdith of tunnel */ 999 augment "/te:te/te:tunnels/te:tunnel/" 1000 + "te:te-bandwidth/te:technology" { 1001 description "WSON bandwidth."; 1002 case wson { 1003 uses layer0-types:wson-path-bandwidth; 1004 } 1005 } 1007 /* Augment bandwidth of primary path */ 1008 augment "/te:te/te:tunnels/te:tunnel/" 1009 + "te:p2p-primary-paths/te:p2p-primary-path/" 1010 + "te:te-bandwidth/te:technology" { 1011 description "WSON bandwidth."; 1012 case wson { 1013 uses layer0-types:wson-path-bandwidth; 1014 } 1015 } 1017 /* Augment bandwidth of reverse primary path */ 1018 augment "/te:te/te:tunnels/te:tunnel/" 1019 + "te:p2p-primary-paths/te:p2p-primary-path/" 1020 + "te:p2p-reverse-primary-path/" 1021 + "te:te-bandwidth/te:technology" { 1022 description "WSON bandwidth."; 1023 case wson { 1024 uses layer0-types:wson-path-bandwidth; 1025 } 1026 } 1028 /* Augment bandwidht of secondary path */ 1029 augment "/te:te/te:tunnels/te:tunnel/" 1030 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1031 + "te:te-bandwidth/te:technology" { 1032 description "WSON bandwidth."; 1033 case wson { 1034 uses layer0-types:wson-path-bandwidth; 1035 } 1036 } 1038 /* 1039 * Augment TE label. 1040 */ 1042 /* Augment label hop of route-object-exclude-always of named-path- 1043 constraints */ 1044 augment "/te:te/te:globals/te:named-path-constraints/" 1045 + "te:named-path-constraint/te:explicit-route-objects/" 1046 + "te:route-object-exclude-always/te:type/te:label/" 1047 + "te:label-hop/te:te-label/te:technology" { 1048 description "WSON label."; 1049 case wson { 1050 uses layer0-types:wson-path-label; 1051 } 1052 } 1054 /* Augment label hop of route-object-include-exclude of named-path- 1055 constraints */ 1056 augment "/te:te/te:globals/te:named-path-constraints/" 1057 + "te:named-path-constraint/te:explicit-route-objects/" 1058 + "te:route-object-include-exclude/te:type/te:label/" 1059 + "te:label-hop/te:te-label/te:technology" { 1060 description "WSON label."; 1061 case wson { 1062 uses layer0-types:wson-path-label; 1063 } 1064 } 1066 /* Augment label restrictions for the forwarding direction of path-in- 1067 segment of named-path-constraints */ 1068 augment "/te:te/te:globals/te:named-path-constraints/" 1069 + "te:named-path-constraint/te:path-in-segment/" 1070 + "te:forward/te:label-restrictions/" 1071 + "te:label-restriction" { 1072 description "WSON label."; 1073 uses layer0-types:layer0-label-restriction; 1075 } 1077 /* Augment label restrictions start for the forwarding direction of path-in- 1078 segment of named-path-constraints */ 1079 augment "/te:te/te:globals/te:named-path-constraints/" 1080 + "te:named-path-constraint/te:path-in-segment/" 1081 + "te:forward/te:label-restrictions/" 1082 + "te:label-restriction/te:label-start/" 1083 + "te:te-label/te:technology" { 1084 description "WSON label."; 1085 case wson { 1086 uses layer0-types:wson-link-label; 1087 } 1088 } 1090 /* Augment label restrictions end for the forwarding direction of path-in- 1091 segment of named-path-constraints */ 1092 augment "/te:te/te:globals/te:named-path-constraints/" 1093 + "te:named-path-constraint/te:path-in-segment/" 1094 + "te:forward/te:label-restrictions/" 1095 + "te:label-restriction/te:label-end/" 1096 + "te:te-label/te:technology" { 1097 description "WSON label."; 1098 case wson { 1099 uses layer0-types:wson-link-label; 1100 } 1101 } 1103 /* Augment label restrictions for the reverse direction of path-in-segment 1104 of named-path-constraints */ 1105 augment "/te:te/te:globals/te:named-path-constraints/" 1106 + "te:named-path-constraint/te:path-in-segment/" 1107 + "te:reverse/te:label-restrictions/" 1108 + "te:label-restriction" { 1109 description "WSON label."; 1110 uses layer0-types:layer0-label-restriction; 1111 } 1113 /* Augment label restrictions start for the reverse direction of path-in- 1114 segment of named-path-constraints */ 1115 augment "/te:te/te:globals/te:named-path-constraints/" 1116 + "te:named-path-constraint/te:path-in-segment/" 1117 + "te:reverse/te:label-restrictions/" 1118 + "te:label-restriction/te:label-start/" 1119 + "te:te-label/te:technology" { 1121 description "WSON label."; 1122 case wson { 1123 uses layer0-types:wson-link-label; 1124 } 1125 } 1127 /* Augment label restrictions end for the reverse direction of path-in- 1128 segment of named-path-constraints */ 1129 augment "/te:te/te:globals/te:named-path-constraints/" 1130 + "te:named-path-constraint/te:path-in-segment/" 1131 + "te:reverse/te:label-restrictions/" 1132 + "te:label-restriction/te:label-end/" 1133 + "te:te-label/te:technology" { 1134 description "WSON label."; 1135 case wson { 1136 uses layer0-types:wson-link-label; 1137 } 1138 } 1140 /* Augment label restrictions for the forwarding direction of path-out- 1141 segment of named-path-constraints */ 1142 augment "/te:te/te:globals/te:named-path-constraints/" 1143 + "te:named-path-constraint/te:path-out-segment/" 1144 + "te:forward/te:label-restrictions/" 1145 + "te:label-restriction" { 1146 description "WSON label."; 1147 uses layer0-types:layer0-label-restriction; 1148 } 1149 /* Augment label restrictions start for the forwarding direction of path- 1150 out-segment of named-path-constraints */ 1151 augment "/te:te/te:globals/te:named-path-constraints/" 1152 + "te:named-path-constraint/te:path-out-segment/" 1153 + "te:forward/te:label-restrictions/" 1154 + "te:label-restriction/te:label-start/" 1155 + "te:te-label/te:technology" { 1156 description "WSON label."; 1157 case wson { 1158 uses layer0-types:wson-link-label; 1159 } 1160 } 1162 /* Augment label restrictions end for the forwarding direction of path-out- 1163 segment of named-path-constraints */ 1164 augment "/te:te/te:globals/te:named-path-constraints/" 1165 + "te:named-path-constraint/te:path-out-segment/" 1166 + "te:forward/te:label-restrictions/" 1167 + "te:label-restriction/te:label-end/" 1168 + "te:te-label/te:technology" { 1169 description "WSON label."; 1170 case wson { 1171 uses layer0-types:wson-link-label; 1172 } 1173 } 1175 /* Augment label restrictions for the reverse direction of path-out-segment 1176 of named-path-constraints */ 1177 augment "/te:te/te:globals/te:named-path-constraints/" 1178 + "te:named-path-constraint/te:path-out-segment/" 1179 + "te:reverse/te:label-restrictions/" 1180 + "te:label-restriction" { 1181 description "WSON label."; 1182 uses layer0-types:layer0-label-restriction; 1183 } 1185 /* Augment label restrictions start for the reverse direction of path-out- 1186 segment of named-path-constraints */ 1187 augment "/te:te/te:globals/te:named-path-constraints/" 1188 + "te:named-path-constraint/te:path-out-segment/" 1189 + "te:reverse/te:label-restrictions/" 1190 + "te:label-restriction/te:label-start/" 1191 + "te:te-label/te:technology" { 1192 description "WSON label."; 1193 case wson { 1194 uses layer0-types:wson-link-label; 1195 } 1196 } 1198 /* Augment label restrictions end for the reverse direction of path-out- 1199 segment of named-path-constraints */ 1200 augment "/te:te/te:globals/te:named-path-constraints/" 1201 + "te:named-path-constraint/te:path-out-segment/" 1202 + "te:reverse/te:label-restrictions/" 1203 + "te:label-restriction/te:label-end/" 1204 + "te:te-label/te:technology" { 1205 description "WSON label."; 1206 case wson { 1207 uses layer0-types:wson-link-label; 1208 } 1209 } 1210 /* Augment label hop of route-exclude of primary path */ 1211 augment "/te:te/te:tunnels/te:tunnel/" 1212 + "te:p2p-primary-paths/te:p2p-primary-path/" 1213 + "te:optimizations/te:algorithm/te:metric/" 1214 + "te:optimization-metric/te:explicit-route-exclude-objects/" 1215 + "te:route-object-exclude-object/te:type/te:label/" 1216 + "te:label-hop/te:te-label/te:technology" { 1217 description "WSON label."; 1218 case wson { 1219 uses layer0-types:wson-path-label; 1220 } 1221 } 1223 /* Augment label hop of route-include of primary path */ 1224 augment "/te:te/te:tunnels/te:tunnel/" 1225 + "te:p2p-primary-paths/te:p2p-primary-path/" 1226 + "te:optimizations/te:algorithm/te:metric/" 1227 + "te:optimization-metric/te:explicit-route-include-objects/" 1228 + "te:route-object-include-object/te:type/te:label/" 1229 + "te:label-hop/te:te-label/te:technology" { 1230 description "WSON label."; 1231 case wson { 1232 uses layer0-types:wson-path-label; 1233 } 1234 } 1236 /* Augment label hop of route-object-exclude-always of primary path */ 1237 augment "/te:te/te:tunnels/te:tunnel/" 1238 + "te:p2p-primary-paths/te:p2p-primary-path/" 1239 + "te:explicit-route-objects/" 1240 + "te:route-object-exclude-always/te:type/te:label/" 1241 + "te:label-hop/te:te-label/te:technology" { 1242 description "WSON label."; 1243 case wson { 1244 uses layer0-types:wson-path-label; 1245 } 1246 } 1248 /* Augment label hop of route-object-include-exclude of primary path */ 1249 augment "/te:te/te:tunnels/te:tunnel/" 1250 + "te:p2p-primary-paths/te:p2p-primary-path/" 1251 + "te:explicit-route-objects/" 1252 + "te:route-object-include-exclude/te:type/te:label/" 1253 + "te:label-hop/te:te-label/te:technology" { 1254 description "WSON label."; 1255 case wson { 1256 uses layer0-types:wson-path-label; 1257 } 1258 } 1260 /* Augment label restrictions for the forwarding direction of path-in- 1261 segment of primary path */ 1262 augment "/te:te/te:tunnels/te:tunnel/" 1263 + "te:p2p-primary-paths/te:p2p-primary-path/" 1264 + "te:path-in-segment/te:forward/te:label-restrictions/" 1265 + "te:label-restriction" { 1266 description "WSON label."; 1267 uses layer0-types:layer0-label-restriction; 1268 } 1270 /* Augment label restrictions start for the forwarding direction of path-in- 1271 segment of primary path */ 1272 augment "/te:te/te:tunnels/te:tunnel/" 1273 + "te:p2p-primary-paths/te:p2p-primary-path/" 1274 + "te:path-in-segment/te:forward/te:label-restrictions/" 1275 + "te:label-restriction/te:label-start/" 1276 + "te:te-label/te:technology" { 1277 description "WSON label."; 1278 case wson { 1279 uses layer0-types:wson-link-label; 1280 } 1281 } 1283 /* Augment label restrictions end for the forwarding direction of path-in- 1284 segment of primary path */ 1285 augment "/te:te/te:tunnels/te:tunnel/" 1286 + "te:p2p-primary-paths/te:p2p-primary-path/" 1287 + "te:path-in-segment/te:forward/te:label-restrictions/" 1288 + "te:label-restriction/te:label-end/" 1289 + "te:te-label/te:technology" { 1290 description "WSON label."; 1291 case wson { 1292 uses layer0-types:wson-link-label; 1293 } 1294 } 1296 /* Augment label restrictions for the reverse direction of path-in-segment 1297 of primary path */ 1298 augment "/te:te/te:tunnels/te:tunnel/" 1299 + "te:p2p-primary-paths/te:p2p-primary-path/" 1300 + "te:path-in-segment/te:reverse/te:label-restrictions/" 1301 + "te:label-restriction" { 1302 description "WSON label."; 1303 uses layer0-types:layer0-label-restriction; 1304 } 1306 /* Augment label restrictions start for the reverse direction of path-in- 1307 segment of primary path */ 1308 augment "/te:te/te:tunnels/te:tunnel/" 1309 + "te:p2p-primary-paths/te:p2p-primary-path/" 1310 + "te:path-in-segment/te:reverse/te:label-restrictions/" 1311 + "te:label-restriction/te:label-start/" 1312 + "te:te-label/te:technology" { 1313 description "WSON label."; 1314 case wson { 1315 uses layer0-types:wson-link-label; 1316 } 1317 } 1319 /* Augment label restrictions end for the reverse direction of path-in- 1320 segment of primary path */ 1321 augment "/te:te/te:tunnels/te:tunnel/" 1322 + "te:p2p-primary-paths/te:p2p-primary-path/" 1323 + "te:path-in-segment/te:reverse/te:label-restrictions/" 1324 + "te:label-restriction/te:label-end/" 1325 + "te:te-label/te:technology" { 1326 description "WSON label."; 1327 case wson { 1328 uses layer0-types:wson-link-label; 1329 } 1330 } 1332 /* Augment label restrictions for the forwarding direction of path-out- 1333 segment of primary path */ 1334 augment "/te:te/te:tunnels/te:tunnel/" 1335 + "te:p2p-primary-paths/te:p2p-primary-path/" 1336 + "te:path-out-segment/te:forward/te:label-restrictions/" 1337 + "te:label-restriction" { 1338 description "WSON label."; 1339 uses layer0-types:layer0-label-restriction; 1340 } 1342 /* Augment label restrictions start for the forwarding direction of path- 1343 out-segment of primary path */ 1344 augment "/te:te/te:tunnels/te:tunnel/" 1345 + "te:p2p-primary-paths/te:p2p-primary-path/" 1346 + "te:path-out-segment/te:forward/te:label-restrictions/" 1347 + "te:label-restriction/te:label-start/" 1348 + "te:te-label/te:technology" { 1349 description "WSON label."; 1350 case wson { 1351 uses layer0-types:wson-link-label; 1352 } 1353 } 1355 /* Augment label restrictions end for the forwarding direction of path-out- 1356 segment of primary path */ 1357 augment "/te:te/te:tunnels/te:tunnel/" 1358 + "te:p2p-primary-paths/te:p2p-primary-path/" 1359 + "te:path-out-segment/te:forward/te:label-restrictions/" 1360 + "te:label-restriction/te:label-end/" 1361 + "te:te-label/te:technology" { 1362 description "WSON label."; 1363 case wson { 1364 uses layer0-types:wson-link-label; 1365 } 1366 } 1368 /* Augment label restrictions for the reverse direction of path-out-segment 1369 of primary path */ 1370 augment "/te:te/te:tunnels/te:tunnel/" 1371 + "te:p2p-primary-paths/te:p2p-primary-path/" 1372 + "te:path-out-segment/te:reverse/te:label-restrictions/" 1373 + "te:label-restriction" { 1374 description "WSON label."; 1375 uses layer0-types:layer0-label-restriction; 1376 } 1378 /* Augment label restrictions start for the reverse direction of path-out- 1379 segment of primary path */ 1380 augment "/te:te/te:tunnels/te:tunnel/" 1381 + "te:p2p-primary-paths/te:p2p-primary-path/" 1382 + "te:path-out-segment/te:reverse/te:label-restrictions/" 1383 + "te:label-restriction/te:label-start/" 1384 + "te:te-label/te:technology" { 1385 description "WSON label."; 1386 case wson { 1387 uses layer0-types:wson-link-label; 1388 } 1389 } 1390 /* Augment label restrictions end for the reverse direction of path-out- 1391 segment of primary path */ 1392 augment "/te:te/te:tunnels/te:tunnel/" 1393 + "te:p2p-primary-paths/te:p2p-primary-path/" 1394 + "te:path-out-segment/te:reverse/te:label-restrictions/" 1395 + "te:label-restriction/te:label-end/" 1396 + "te:te-label/te:technology" { 1397 description "WSON label."; 1398 case wson { 1399 uses layer0-types:wson-link-label; 1400 } 1401 } 1403 /* Augment label hop of path-route of primary path */ 1404 augment "/te:te/te:tunnels/te:tunnel/" 1405 + "te:p2p-primary-paths/te:p2p-primary-path/" 1406 + "te:state/te:path-properties/" 1407 + "te:path-route-objects/te:path-computed-route-object/" 1408 + "te:state/te:type/te:label/" 1409 + "te:label-hop/te:te-label/te:technology" { 1410 description "WSON label."; 1411 case wson { 1412 uses layer0-types:wson-path-label; 1413 } 1414 } 1416 /* Augment label hop of record-route of primary LSP */ 1417 augment "/te:te/te:tunnels/te:tunnel/" 1418 + "te:p2p-primary-paths/te:p2p-primary-path/" 1419 + "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/" 1420 + "te:record-route-subobject/te:type/te:label/" 1421 + "te:label-hop/te:te-label/te:technology" { 1422 description "WSON label."; 1423 case wson { 1424 uses layer0-types:wson-path-label; 1425 } 1426 } 1428 /* Augment label hop of path-route of primary LSP */ 1429 augment "/te:te/te:tunnels/te:tunnel/" 1430 + "te:p2p-primary-paths/te:p2p-primary-path/" 1431 + "te:state/te:lsps/te:lsp/te:path-properties/" 1432 + "te:path-route-objects/te:path-computed-route-object/" 1433 + "te:state/te:type/te:label/" 1434 + "te:label-hop/te:te-label/te:technology" { 1435 description "WSON label."; 1436 case wson { 1437 uses layer0-types:wson-path-label; 1438 } 1439 } 1441 /* Augment label hop of route-exclude of reverse primary path */ 1442 augment "/te:te/te:tunnels/te:tunnel/" 1443 + "te:p2p-primary-paths/te:p2p-primary-path/" 1444 + "te:p2p-reverse-primary-path/" 1445 + "te:optimizations/te:algorithm/te:metric/" 1446 + "te:optimization-metric/te:explicit-route-exclude-objects/" 1447 + "te:route-object-exclude-object/te:type/te:label/" 1448 + "te:label-hop/te:te-label/te:technology" { 1449 description "WSON label."; 1450 case wson { 1451 uses layer0-types:wson-path-label; 1452 } 1453 } 1455 /* Augment label hop of route-include of reverse primary path */ 1456 augment "/te:te/te:tunnels/te:tunnel/" 1457 + "te:p2p-primary-paths/te:p2p-primary-path/" 1458 + "te:p2p-reverse-primary-path/" 1459 + "te:optimizations/te:algorithm/te:metric/" 1460 + "te:optimization-metric/te:explicit-route-include-objects/" 1461 + "te:route-object-include-object/te:type/te:label/" 1462 + "te:label-hop/te:te-label/te:technology" { 1463 description "WSON label."; 1464 case wson { 1465 uses layer0-types:wson-path-label; 1466 } 1467 } 1469 /* Augment label hop of route-object-exclude-always of reverse primary path 1470 */ 1471 augment "/te:te/te:tunnels/te:tunnel/" 1472 + "te:p2p-primary-paths/te:p2p-primary-path/" 1473 + "te:p2p-reverse-primary-path/" 1474 + "te:explicit-route-objects/" 1475 + "te:route-object-exclude-always/" 1476 + "te:type/te:label/" 1477 + "te:label-hop/te:te-label/te:technology" { 1478 description "WSON label."; 1479 case wson { 1480 uses layer0-types:wson-path-label; 1481 } 1482 } 1484 /* Augment label hop of route-object-include-exclude of reverse primary path 1485 */ 1486 augment "/te:te/te:tunnels/te:tunnel/" 1487 + "te:p2p-primary-paths/te:p2p-primary-path/" 1488 + "te:p2p-reverse-primary-path/" 1489 + "te:explicit-route-objects/" 1490 + "te:route-object-include-exclude/" 1491 + "te:type/te:label/" 1492 + "te:label-hop/te:te-label/te:technology" { 1493 description "WSON label."; 1494 case wson { 1495 uses layer0-types:wson-path-label; 1496 } 1497 } 1499 /* Augment label restrictions for the forwarding direction of path-in- 1500 segment of reverse primary path */ 1501 augment "/te:te/te:tunnels/te:tunnel/" 1502 + "te:p2p-primary-paths/te:p2p-primary-path/" 1503 + "te:p2p-reverse-primary-path/" 1504 + "te:path-in-segment/te:forward/te:label-restrictions/" 1505 + "te:label-restriction" { 1506 description "WSON label."; 1507 uses layer0-types:layer0-label-restriction; 1508 } 1510 /* Augment label restrictions start for the forwarding direction of path-in- 1511 segment of reverse primary path */ 1512 augment "/te:te/te:tunnels/te:tunnel/" 1513 + "te:p2p-primary-paths/te:p2p-primary-path/" 1514 + "te:p2p-reverse-primary-path/" 1515 + "te:path-in-segment/te:forward/te:label-restrictions/" 1516 + "te:label-restriction/te:label-start/" 1517 + "te:te-label/te:technology" { 1518 description "WSON label."; 1519 case wson { 1520 uses layer0-types:wson-link-label; 1521 } 1522 } 1523 /* Augment label restrictions end for the forwarding direction of path-in- 1524 segment of reverse primary path */ 1525 augment "/te:te/te:tunnels/te:tunnel/" 1526 + "te:p2p-primary-paths/te:p2p-primary-path/" 1527 + "te:p2p-reverse-primary-path/" 1528 + "te:path-in-segment/te:forward/te:label-restrictions/" 1529 + "te:label-restriction/te:label-end/" 1530 + "te:te-label/te:technology" { 1531 description "WSON label."; 1532 case wson { 1533 uses layer0-types:wson-link-label; 1534 } 1535 } 1537 /* Augment label restrictions for the reverse direction of path-in-segment 1538 of reverse primary path */ 1539 augment "/te:te/te:tunnels/te:tunnel/" 1540 + "te:p2p-primary-paths/te:p2p-primary-path/" 1541 + "te:p2p-reverse-primary-path/" 1542 + "te:path-in-segment/te:reverse/te:label-restrictions/" 1543 + "te:label-restriction" { 1544 description "WSON label."; 1545 uses layer0-types:layer0-label-restriction; 1546 } 1548 /* Augment label restrictions start for the reverse direction of path-in- 1549 segment of reverse primary path */ 1550 augment "/te:te/te:tunnels/te:tunnel/" 1551 + "te:p2p-primary-paths/te:p2p-primary-path/" 1552 + "te:p2p-reverse-primary-path/" 1553 + "te:path-in-segment/te:reverse/te:label-restrictions/" 1554 + "te:label-restriction/te:label-start/" 1555 + "te:te-label/te:technology" { 1556 description "WSON label."; 1557 case wson { 1558 uses layer0-types:wson-link-label; 1559 } 1560 } 1562 /* Augment label restrictions end for the reverse direction of path-in- 1563 segment of reverse primary path */ 1564 augment "/te:te/te:tunnels/te:tunnel/" 1565 + "te:p2p-primary-paths/te:p2p-primary-path/" 1566 + "te:p2p-reverse-primary-path/" 1567 + "te:path-in-segment/te:reverse/te:label-restrictions/" 1568 + "te:label-restriction/te:label-end/" 1569 + "te:te-label/te:technology" { 1570 description "WSON label."; 1571 case wson { 1572 uses layer0-types:wson-link-label; 1573 } 1574 } 1576 /* Augment label restrictions for the forwarding direction of path-out- 1577 segment of reverse primary path */ 1578 augment "/te:te/te:tunnels/te:tunnel/" 1579 + "te:p2p-primary-paths/te:p2p-primary-path/" 1580 + "te:p2p-reverse-primary-path/" 1581 + "te:path-out-segment/te:forward/te:label-restrictions/" 1582 + "te:label-restriction" { 1583 description "WSON label."; 1584 uses layer0-types:layer0-label-restriction; 1585 } 1587 /* Augment label restrictions start for the forwarding direction of path- 1588 out-segment of reverse primary path */ 1589 augment "/te:te/te:tunnels/te:tunnel/" 1590 + "te:p2p-primary-paths/te:p2p-primary-path/" 1591 + "te:p2p-reverse-primary-path/" 1592 + "te:path-out-segment/te:forward/te:label-restrictions/" 1593 + "te:label-restriction/te:label-start/" 1594 + "te:te-label/te:technology" { 1595 description "WSON label."; 1596 case wson { 1597 uses layer0-types:wson-link-label; 1598 } 1599 } 1601 /* Augment label restrictions end for the forwarding direction of path-out- 1602 segment of reverse primary path */ 1603 augment "/te:te/te:tunnels/te:tunnel/" 1604 + "te:p2p-primary-paths/te:p2p-primary-path/" 1605 + "te:p2p-reverse-primary-path/" 1606 + "te:path-out-segment/te:forward/te:label-restrictions/" 1607 + "te:label-restriction/te:label-end/" 1608 + "te:te-label/te:technology" { 1609 description "WSON label."; 1610 case wson { 1611 uses layer0-types:wson-link-label; 1612 } 1614 } 1616 /* Augment label restrictions for the reverse direction of path-out-segment 1617 of reverse primary path */ 1618 augment "/te:te/te:tunnels/te:tunnel/" 1619 + "te:p2p-primary-paths/te:p2p-primary-path/" 1620 + "te:p2p-reverse-primary-path/" 1621 + "te:path-out-segment/te:reverse/te:label-restrictions/" 1622 + "te:label-restriction" { 1623 description "WSON label."; 1624 uses layer0-types:layer0-label-restriction; 1625 } 1627 /* Augment label restrictions start for the reverse direction of path-out- 1628 segment of reverse primary path */ 1629 augment "/te:te/te:tunnels/te:tunnel/" 1630 + "te:p2p-primary-paths/te:p2p-primary-path/" 1631 + "te:p2p-reverse-primary-path/" 1632 + "te:path-out-segment/te:reverse/te:label-restrictions/" 1633 + "te:label-restriction/te:label-start/" 1634 + "te:te-label/te:technology" { 1635 description "WSON label."; 1636 case wson { 1637 uses layer0-types:wson-link-label; 1638 } 1639 } 1641 /* Augment label restrictions end for the reverse direction of path-out- 1642 segment of reverse primary path */ 1643 augment "/te:te/te:tunnels/te:tunnel/" 1644 + "te:p2p-primary-paths/te:p2p-primary-path/" 1645 + "te:p2p-reverse-primary-path/" 1646 + "te:path-out-segment/te:reverse/te:label-restrictions/" 1647 + "te:label-restriction/te:label-end/" 1648 + "te:te-label/te:technology" { 1649 description "WSON label."; 1650 case wson { 1651 uses layer0-types:wson-link-label; 1652 } 1653 } 1655 /* Augment label hop of path-route of reverse primary path */ 1656 augment "/te:te/te:tunnels/te:tunnel/" 1657 + "te:p2p-primary-paths/te:p2p-primary-path/" 1658 + "te:p2p-reverse-primary-path/" 1659 + "te:state/te:path-properties/" 1660 + "te:path-route-objects/te:path-computed-route-object/" 1661 + "te:state/te:type/te:label/" 1662 + "te:label-hop/te:te-label/te:technology" { 1663 description "WSON label."; 1664 case wson { 1665 uses layer0-types:wson-path-label; 1666 } 1667 } 1669 /* Augment label hop of record-route of reverse primary LSP */ 1670 augment "/te:te/te:tunnels/te:tunnel/" 1671 + "te:p2p-primary-paths/te:p2p-primary-path/" 1672 + "te:p2p-reverse-primary-path/" 1673 + "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/" 1674 + "te:record-route-subobject/te:type/te:label/" 1675 + "te:label-hop/te:te-label/te:technology" { 1676 description "WSON label."; 1677 case wson { 1678 uses layer0-types:wson-path-label; 1679 } 1680 } 1682 /* Augment label hop of path-route of reverse primary LSP */ 1683 augment "/te:te/te:tunnels/te:tunnel/" 1684 + "te:p2p-primary-paths/te:p2p-primary-path/" 1685 + "te:p2p-reverse-primary-path/" 1686 + "te:state/te:lsps/te:lsp/te:path-properties/" 1687 + "te:path-route-objects/te:path-computed-route-object/" 1688 + "te:state/te:type/te:label/" 1689 + "te:label-hop/te:te-label/te:technology" { 1690 description "WSON label."; 1691 case wson { 1692 uses layer0-types:wson-path-label; 1693 } 1694 } 1696 /* Augment label hop of route-exclude of secondary path */ 1697 augment "/te:te/te:tunnels/te:tunnel/" 1698 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1699 + "te:optimizations/te:algorithm/te:metric/" 1700 + "te:optimization-metric/te:explicit-route-exclude-objects/" 1701 + "te:route-object-exclude-object/te:type/te:label/" 1702 + "te:label-hop/te:te-label/te:technology" { 1703 description "WSON label."; 1704 case wson { 1705 uses layer0-types:wson-path-label; 1706 } 1707 } 1709 /* Augment label hop of route-include of secondary path */ 1710 augment "/te:te/te:tunnels/te:tunnel/" 1711 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1712 + "te:optimizations/te:algorithm/te:metric/" 1713 + "te:optimization-metric/te:explicit-route-include-objects/" 1714 + "te:route-object-include-object/te:type/te:label/" 1715 + "te:label-hop/te:te-label/te:technology" { 1716 description "WSON label."; 1717 case wson { 1718 uses layer0-types:wson-path-label; 1719 } 1720 } 1722 /* Augment label hop of route-object-exclude-always of secondary path */ 1723 augment "/te:te/te:tunnels/te:tunnel/" 1724 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1725 + "te:explicit-route-objects/" 1726 + "te:route-object-exclude-always/te:type/te:label/" 1727 + "te:label-hop/te:te-label/te:technology" { 1728 description "WSON label."; 1729 case wson { 1730 uses layer0-types:wson-path-label; 1731 } 1732 } 1734 /* Augment label hop of route-object-include-exclude of secondary path */ 1735 augment "/te:te/te:tunnels/te:tunnel/" 1736 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1737 + "te:explicit-route-objects/" 1738 + "te:route-object-include-exclude/te:type/te:label/" 1739 + "te:label-hop/te:te-label/te:technology" { 1740 description "WSON label."; 1741 case wson { 1742 uses layer0-types:wson-path-label; 1743 } 1744 } 1746 /* Augment label restrictions for the forwarding direction of path-in- 1747 segment of secondary path */ 1748 augment "/te:te/te:tunnels/te:tunnel/" 1749 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1750 + "te:path-in-segment/te:forward/te:label-restrictions/" 1751 + "te:label-restriction" { 1752 description "WSON label."; 1753 uses layer0-types:layer0-label-restriction; 1754 } 1756 /* Augment label restrictions start for the forwarding direction of path-in- 1757 segment of secondary path */ 1758 augment "/te:te/te:tunnels/te:tunnel/" 1759 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1760 + "te:path-in-segment/te:forward/te:label-restrictions/" 1761 + "te:label-restriction/te:label-start/" 1762 + "te:te-label/te:technology" { 1763 description "WSON label."; 1764 case wson { 1765 uses layer0-types:wson-link-label; 1766 } 1767 } 1769 /* Augment label restrictions end for the forwarding direction of path-in- 1770 segment of secondary path */ 1771 augment "/te:te/te:tunnels/te:tunnel/" 1772 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1773 + "te:path-in-segment/te:forward/te:label-restrictions/" 1774 + "te:label-restriction/te:label-end/" 1775 + "te:te-label/te:technology" { 1776 description "WSON label."; 1777 case wson { 1778 uses layer0-types:wson-link-label; 1779 } 1780 } 1782 /* Augment label restrictions for the reverse direction of path-in-segment 1783 of secondary path */ 1784 augment "/te:te/te:tunnels/te:tunnel/" 1785 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1786 + "te:path-in-segment/te:reverse/te:label-restrictions/" 1787 + "te:label-restriction" { 1788 description "WSON label."; 1789 uses layer0-types:layer0-label-restriction; 1790 } 1792 /* Augment label restrictions start for the reverse direction of path-in- 1793 segment of secondary path */ 1794 augment "/te:te/te:tunnels/te:tunnel/" 1795 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1796 + "te:path-in-segment/te:reverse/te:label-restrictions/" 1797 + "te:label-restriction/te:label-start/" 1798 + "te:te-label/te:technology" { 1799 description "WSON label."; 1800 case wson { 1801 uses layer0-types:wson-link-label; 1802 } 1803 } 1805 /* Augment label restrictions end for the reverse direction of path-in- 1806 segment of secondary path */ 1807 augment "/te:te/te:tunnels/te:tunnel/" 1808 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1809 + "te:path-in-segment/te:reverse/te:label-restrictions/" 1810 + "te:label-restriction/te:label-end/" 1811 + "te:te-label/te:technology" { 1812 description "WSON label."; 1813 case wson { 1814 uses layer0-types:wson-link-label; 1815 } 1816 } 1818 /* Augment label restrictions for the forwarding direction of path-out- 1819 segment of secondary path */ 1820 augment "/te:te/te:tunnels/te:tunnel/" 1821 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1822 + "te:path-out-segment/te:forward/te:label-restrictions/" 1823 + "te:label-restriction" { 1824 description "WSON label."; 1825 uses layer0-types:layer0-label-restriction; 1826 } 1828 /* Augment label restrictions start for the forwarding direction of path- 1829 out-segment of secondary path */ 1830 augment "/te:te/te:tunnels/te:tunnel/" 1831 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1832 + "te:path-out-segment/te:forward/te:label-restrictions/" 1833 + "te:label-restriction/te:label-start/" 1834 + "te:te-label/te:technology" { 1835 description "WSON label."; 1836 case wson { 1837 uses layer0-types:wson-link-label; 1838 } 1840 } 1842 /* Augment label restrictions end for the forwarding direction of path-out- 1843 segment of secondary path */ 1844 augment "/te:te/te:tunnels/te:tunnel/" 1845 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1846 + "te:path-out-segment/te:forward/te:label-restrictions/" 1847 + "te:label-restriction/te:label-end/" 1848 + "te:te-label/te:technology" { 1849 description "WSON label."; 1850 case wson { 1851 uses layer0-types:wson-link-label; 1852 } 1853 } 1855 /* Augment label restrictions for the reverse direction of path-out-segment 1856 of secondary path */ 1857 augment "/te:te/te:tunnels/te:tunnel/" 1858 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1859 + "te:path-out-segment/te:reverse/te:label-restrictions/" 1860 + "te:label-restriction" { 1861 description "WSON label."; 1862 uses layer0-types:layer0-label-restriction; 1863 } 1865 /* Augment label restrictions start for the reverse direction of path-out- 1866 segment of secondary path */ 1867 augment "/te:te/te:tunnels/te:tunnel/" 1868 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1869 + "te:path-out-segment/te:reverse/te:label-restrictions/" 1870 + "te:label-restriction/te:label-start/" 1871 + "te:te-label/te:technology" { 1872 description "WSON label."; 1873 case wson { 1874 uses layer0-types:wson-link-label; 1875 } 1876 } 1878 /* Augment label restrictions end for the reverse direction of path-out- 1879 segment of secondary path */ 1880 augment "/te:te/te:tunnels/te:tunnel/" 1881 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1882 + "te:path-out-segment/te:reverse/te:label-restrictions/" 1883 + "te:label-restriction/te:label-end/" 1884 + "te:te-label/te:technology" { 1886 description "WSON label."; 1887 case wson { 1888 uses layer0-types:wson-link-label; 1889 } 1890 } 1892 /* Augment label hop of path-route of secondary path */ 1893 augment "/te:te/te:tunnels/te:tunnel/" 1894 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1895 + "te:state/te:path-properties/te:path-route-objects/" 1896 + "te:path-computed-route-object/te:state/te:type/te:label/" 1897 + "te:label-hop/te:te-label/te:technology" { 1898 description "WSON label."; 1899 case wson { 1900 uses layer0-types:wson-path-label; 1901 } 1902 } 1904 /* Augment label hop of record-route of secondary LSP */ 1905 augment "/te:te/te:tunnels/te:tunnel/" 1906 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1907 + "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/" 1908 + "te:record-route-subobject/te:type/te:label/" 1909 + "te:label-hop/te:te-label/te:technology" { 1910 description "WSON label."; 1911 case wson { 1912 uses layer0-types:wson-path-label; 1913 } 1914 } 1916 /* Augment label hop of path-route of secondary LSP */ 1917 augment "/te:te/te:tunnels/te:tunnel/" 1918 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1919 + "te:state/te:lsps/te:lsp/te:path-properties/" 1920 + "te:path-route-objects/" 1921 + "te:path-computed-route-object/te:state/te:type/te:label/" 1922 + "te:label-hop/te:te-label/te:technology" { 1923 description "WSON label."; 1924 case wson { 1925 uses layer0-types:wson-path-label; 1926 } 1927 } 1929 /* Augment label hop of record-route of LSP */ 1930 augment "/te:te/te:lsps-state/" 1931 + "te:lsp/te:lsp-record-route-subobjects/" 1932 + "te:record-route-subobject/te:type/te:label/" 1933 + "te:label-hop/te:te-label/te:technology" { 1934 description "WSON label."; 1935 case wson { 1936 uses layer0-types:wson-path-label; 1937 } 1938 } 1940 augment "/te:tunnels-rpc/te:input/te:tunnel-info/" 1941 + "tepc:path-request" { 1942 description 1943 "Augment with additional constraints WSON 1944 tunnel."; 1945 uses wson-tunnel-attributes; 1946 uses wson-path-constraints; 1947 } 1948 } 1950 1952 4. Security Considerations 1954 The configuration, state, and action data defined in this document 1955 are designed to be accessed via a management protocol with a secure 1956 transport layer, such as NETCONF [RFC6241]. The NETCONF access 1957 control model [RFC6536] provides the means to restrict access for 1958 particular NETCONF users to a preconfigured subset of all available 1959 NETCONF protocol operations and content. 1961 A number of configuration data nodes defined in this document are 1962 writable/deletable (i.e., "config true") These data nodes may be 1963 considered sensitive or vulnerable in some network environments. 1965 5. IANA Considerations 1967 This document registers the following namespace URIs in the IETF XML 1968 registry [RFC3688]: 1970 -------------------------------------------------------------------- 1971 URI: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel 1972 Registrant Contact: The IESG. 1973 XML: N/A, the requested URI is an XML namespace. 1974 -------------------------------------------------------------------- 1976 This document registers the following YANG modules in the YANG 1977 Module 1979 Names registry [RFC7950]: 1981 -------------------------------------------------------------------- 1982 name: ietf-wson-tunnel 1983 namespace: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel 1984 reference: RFC XXXX (TDB) 1985 -------------------------------------------------------------------- 1986 6. Acknowledgments 1988 This document was prepared using 2-Word-v2.0.template.dot. 1990 7. References 1992 7.1. Normative References 1994 [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work 1995 in progress: draft-ietf-teas-yang-te-topo. 1997 7.2. Informative References 1999 [RFC3688] M. Mealling, "The IETF XML Registry", RFC 3688, January 2000 2004. 2002 [RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed., 2003 and A. Bierman, Ed., "Network Configuration Protocol 2004 (NETCONF)", RFC 6241, June 2011. 2006 [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and 2007 Wavelength Assignment Information Model for Wavelength 2008 Switched Optical Networks", RFC 7446, Feburary 2015. 2010 [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General Network 2011 Element Constraint Encoding for GMPLS Controlled 2012 Networks", RFC 7579, June 2015. 2014 [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and 2015 Wavelength Assignment Information Encoding for Wavelength 2016 Switched Optical Networks", RFC 7581, June 2015. 2018 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 2019 RFC 7950, August 2016. 2021 [RFC8340] M. Bjorklund and L. Berger, Ed., "YANG Tree Diagrams", RFC 2022 8340, March 2018. 2024 [TE-Tunnel] T. Saad, Ed., X. Liu, V. Beeram, H. Shah, and I. 2025 Bryskin, "A YANG Data Model for Traffic Engineering 2026 Tunnels and Interfaces", draft-ietf-teas-yang-te-16, work 2027 in progress. 2029 [WSON-Topo] Y. Lee, Ed., D. Dhody, A. Guo, V. Lopez, D. King, B. 2030 Yoon, and R. Vilalta, "A Yang Data Model for WSON Optical 2031 Networks", draft-ietf-ccamp-wson-yang-13, work in 2032 progress. 2034 [TE-PC] Italo Busi (Ed.), Sergio Belotti (Ed.), "Yang model for 2035 requesting Path Computation", draft-ietf-teas-yang-path- 2036 computation-02, work in progress. 2038 [OTN-Topo] H. Zheng, et al, "A YANG Data Model for Optical Transport 2039 Network Topology", draft-ietf-ccamp-otn-topo-yang-02, work 2040 in progress. 2042 8. Contributors 2044 Italo Busi 2045 Huawei 2046 Email: Italo.Busi@huawei.com 2048 Authors' Addresses 2050 Young Lee (ed.) 2051 Huawei Technologies 2052 5340 Legacy Drive, Building 3 2053 Plano, TX 75023 2054 USA 2056 Phone: (469) 277-5838 2057 Email: leeyoung@huawei.com 2059 Dhruv Dhody 2060 Huawei Technologies India Pvt. Ltd, 2061 Near EPIP Industrial Area, Kundalahalli Village, Whitefield, 2062 Bangalore - 560 037 [H1-2A-245] 2064 Email: dhruv.dhody@huawei.com 2066 Aihua Guo 2067 Huawei 2068 Email: aihuaguo@huawei.com 2070 Victor Lopez 2071 Telefonica 2072 Email: victor.lopezalvarez@telefonica.com 2073 Daniel King 2074 University of Lancaster 2075 Email: d.king@lancaster.ac.uk 2077 Bin Yeong Yoon 2078 ETRI 2079 218 Gaijeongro, Yuseong-gu 2080 Daejeon, Korea 2081 Email: byyun@etri.re.kr 2083 Ricard Vilalta 2084 CTTC 2085 Email: ricard.vilalta@cttc.es