idnits 2.17.1 draft-ietf-ccamp-wson-tunnel-model-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 24 instances of too long lines in the document, the longest one being 17 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 (March 19, 2020) is 1497 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) == Outdated reference: A later version (-09) exists of draft-ietf-ccamp-layer0-types-03 == Outdated reference: A later version (-18) exists of draft-ietf-ccamp-layer1-types-05 == Outdated reference: A later version (-28) exists of draft-ietf-ccamp-wson-yang-23 == Outdated reference: A later version (-22) exists of draft-ietf-teas-yang-path-computation-08 == Outdated reference: A later version (-36) exists of draft-ietf-teas-yang-te-23 == Outdated reference: A later version (-17) exists of draft-ietf-ccamp-transport-nbi-app-statement-10 == Outdated reference: A later version (-11) exists of draft-ietf-teas-actn-yang-05 Summary: 1 error (**), 0 flaws (~~), 8 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 CCAMP Working Group Y. Lee 3 Internet-Draft Samsung 4 Intended status: Standards Track H. Zheng 5 Expires: September 20, 2020 Huawei Technologies 6 A. Guo 7 Futurewei 8 V. Lopez 9 Telefonica 10 D. King 11 Univ. of Lancaster 12 B. Yoon 13 ETRI 14 R. Vilalta 15 CTTC 16 March 19, 2020 18 A Yang Data Model for WSON Tunnel 19 draft-ietf-ccamp-wson-tunnel-model-05 21 Abstract 23 This document provides a YANG data model for WSON TE tunnel. 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on September 20, 2020. 42 Copyright Notice 44 Copyright (c) 2020 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (https://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 60 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 61 1.2. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 3 62 1.3. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3 63 2. WSON Tunnel Model Description . . . . . . . . . . . . . . . . 4 64 2.1. Overview of WSON Tunnel Model . . . . . . . . . . . . . . 4 65 2.2. WSON-specific Parameters in Tunnel Model . . . . . . . . 4 66 3. WSON Tunnel YANG Tree . . . . . . . . . . . . . . . . . . . . 4 67 4. WSON Tunnel YANG Code . . . . . . . . . . . . . . . . . . . . 19 68 5. Security Considerations . . . . . . . . . . . . . . . . . . . 35 69 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35 70 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 36 71 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 36 72 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 36 73 9.1. Normative References . . . . . . . . . . . . . . . . . . 36 74 9.2. Informative References . . . . . . . . . . . . . . . . . 37 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39 77 1. Introduction 79 This document provides a YANG data model for WSON tunnel model. The 80 YANG model described in this document is a WSON technology-specific 81 Yang Tunnel model based on the information model developed in 82 [RFC7446] and the two encoding documents [RFC7579] and [RFC7581] that 83 developed protocol independent encodings based on [RFC7446]. 85 This document augments the generic TE tunnel model 86 [I-D.ietf-teas-yang-te]. 88 1.1. Terminology 90 Refer to [RFC7446] and [RFC7581] for the key terms used in this 91 document. 93 The following terms are defined in [RFC7950] and are not redefined 94 here: 96 o client 97 o server 99 o augment 101 o data model 103 o data node 105 The following terms are defined in [RFC6241] and are not redefined 106 here: 108 o configuration data 110 o state data 112 The terminology for describing YANG data models is found in 113 [RFC7950]. 115 1.2. Tree Diagram 117 A simplified graphical representation of the data model is used in 118 Section 3 of this this document. The meaning of the symbols in these 119 diagrams is defined in [RFC8340]. 121 1.3. Prefixes in Data Node Names 123 In this document, names of data nodes and other data model objects 124 are prefixed using the standard prefix associated with the 125 corresponding YANG imported modules. The module ietf-layer0-types 126 specified in [I-D.ietf-ccamp-layer0-types], ietf-layer1-types 127 specified in [I-D.ietf-ccamp-layer1-types], ietf-te-path-computation 128 specified in [I-D.ietf-teas-yang-path-computation] and ietf-te 129 specified in [I-D.ietf-teas-yang-te] are imported in this module. 131 +-------------+-------------------+------------------------------+ 132 | Prefix | YANG module | Reference | 133 +-------------+-------------------+------------------------------+ 134 | layer0-types|ietf-layer0-types |[I-D.ietf-ccamp-layer0-types] | 135 | layer1-types|ietf-layer1-types |[I-D.ietf-ccamp-layer1-types] | 136 | tepc |ietf-te-path-computation |[I-D.ietf-teas-yang-path-computation]| 137 | te | ietf-te |[I-D.ietf-teas-yang-te] | 138 | wson-tunnel | ietf-wson-tunnel |[RFC XXXX] | 139 +-------------+-------------------+------------------------------+ 141 Note: The RFC Editor will replace XXXX with the number assigned to 142 the RFC once this draft becomes an RFC. 144 2. WSON Tunnel Model Description 146 2.1. Overview of WSON Tunnel Model 148 The WSON tunnel model is using TE tunnel [I-D.ietf-teas-yang-te] and 149 TE types [I-D.ietf-teas-yang-te-types] as a basic model and augment 150 to the TE tunnel with WSON-specific parameters, including the 151 bandwidth information and label information. It is also worth noting 152 that the WSON tunnel provisioning is usually based on the WSON 153 topology. Therefore the WSON tunnel model is usually used together 154 with WSON topology model specified in [I-D.ietf-ccamp-wson-yang]. 156 More scenarios and model applications can be found in 157 [I-D.ietf-ccamp-transport-nbi-app-statement] and 158 [I-D.ietf-teas-actn-yang]. The current model is following the YANG 159 language specification as [RFC7950], and the corresponding protocol 160 is recommended to be Netconf protocol in [RFC6241] or RESTconf 161 protocol in [RFC8040]. 163 The YANG module ietf-wson-tunnel defined in this document conforms to 164 the Network Management Datastore Architecture (NMDA) defined in 165 [RFC8342]. 167 2.2. WSON-specific Parameters in Tunnel Model 169 WSON specific parameters have been augmenting to the TE tunnel 170 models. The attributes on both of the source and destination need to 171 be configured when setting up the tunnel. Typical parameters, 172 including bandwidth and grid information, are required in the WSON 173 tunnel model. These parameters are consistent with the framework in 174 [RFC6163], and the specification in [RFC7579] and [RFC7581]. 176 The WSON bandwidth information has been augmenting to various 177 sections of TE tunnel models, including tunnel bandwidth, primary 178 path bandwidth and so on. The WSON label information has been 179 augmenting to label hop of a group of routing objects and also LSPs. 181 3. WSON Tunnel YANG Tree 183 module: ietf-wson-tunnel 184 augment /te:te/te:tunnels/te:tunnel: 185 +--rw src-client-signal? identityref 186 +--rw dst-client-signal? identityref 187 +--rw fec-type? identityref 188 +--rw termination-type? identityref 189 +--rw bit-stuffing? boolean 190 augment /te:te/te:globals/te:named-path-constraints 191 /te:named-path-constraint/te:te-bandwidth 192 /te:technology: 193 +--:(wson) 194 +--rw bandwidth-type? identityref 195 augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth 196 /te:technology: 197 +--:(wson) 198 +--rw bandwidth-type? identityref 199 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 200 /te:p2p-primary-path/te:te-bandwidth 201 /te:technology: 202 +--:(wson) 203 +--rw bandwidth-type? identityref 204 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 205 /te:p2p-primary-path/te:p2p-primary-reverse-path 206 /te:te-bandwidth/te:technology: 207 +--:(wson) 208 +--rw bandwidth-type? identityref 209 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 210 /te:p2p-secondary-path/te:te-bandwidth 211 /te:technology: 212 +--:(wson) 213 +--rw bandwidth-type? identityref 214 augment /te:te/te:globals/te:named-path-constraints 215 /te:named-path-constraint 216 /te:explicit-route-objects-always 217 /te:route-object-exclude-always/te:type/te:label 218 /te:label-hop/te:te-label/te:technology: 219 +--:(wson) 220 +--rw (grid-type)? 221 +--:(dwdm) 222 | +--rw (single-or-super-channel)? 223 | +--:(single) 224 | | +--rw dwdm-n? 225 | | layer0-types:dwdm-n 226 | +--:(super) 227 | +--rw subcarrier-dwdm-n* int16 228 +--:(cwdm) 229 +--rw cwdm-n? 230 layer0-types:cwdm-n 231 augment /te:te/te:globals/te:named-path-constraints 232 /te:named-path-constraint 233 /te:explicit-route-objects-always 234 /te:route-object-include-exclude/te:type 235 /te:label/te:label-hop/te:te-label 236 /te:technology: 237 +--:(wson) 238 +--rw (grid-type)? 239 +--:(dwdm) 240 | +--rw (single-or-super-channel)? 241 | +--:(single) 242 | | +--rw dwdm-n? 243 | | layer0-types:dwdm-n 244 | +--:(super) 245 | +--rw subcarrier-dwdm-n* int16 246 +--:(cwdm) 247 +--rw cwdm-n? 248 layer0-types:cwdm-n 249 augment /te:te/te:globals/te:named-path-constraints 250 /te:named-path-constraint/te:path-in-segment 251 /te:label-restrictions/te:label-restriction: 252 +--rw grid-type? identityref 253 +--rw priority? uint8 254 augment /te:te/te:globals/te:named-path-constraints 255 /te:named-path-constraint/te:path-in-segment 256 /te:label-restrictions/te:label-restriction 257 /te:label-start/te:te-label/te:technology: 258 +--:(wson) 259 +--rw (grid-type)? 260 +--:(dwdm) 261 | +--rw dwdm-n? layer0-types:dwdm-n 262 +--:(cwdm) 263 +--rw cwdm-n? layer0-types:cwdm-n 264 augment /te:te/te:globals/te:named-path-constraints 265 /te:named-path-constraint/te:path-in-segment 266 /te:label-restrictions/te:label-restriction 267 /te:label-end/te:te-label/te:technology: 268 +--:(wson) 269 +--rw (grid-type)? 270 +--:(dwdm) 271 | +--rw dwdm-n? layer0-types:dwdm-n 272 +--:(cwdm) 273 +--rw cwdm-n? layer0-types:cwdm-n 274 augment /te:te/te:globals/te:named-path-constraints 275 /te:named-path-constraint/te:path-out-segment 276 /te:label-restrictions/te:label-restriction: 277 +--rw grid-type? identityref 278 +--rw priority? uint8 279 augment /te:te/te:globals/te:named-path-constraints 280 /te:named-path-constraint/te:path-out-segment 281 /te:label-restrictions/te:label-restriction 282 /te:label-start/te:te-label/te:technology: 283 +--:(wson) 284 +--rw (grid-type)? 285 +--:(dwdm) 286 | +--rw dwdm-n? layer0-types:dwdm-n 287 +--:(cwdm) 288 +--rw cwdm-n? layer0-types:cwdm-n 289 augment /te:te/te:globals/te:named-path-constraints 290 /te:named-path-constraint/te:path-out-segment 291 /te:label-restrictions/te:label-restriction 292 /te:label-end/te:te-label/te:technology: 293 +--:(wson) 294 +--rw (grid-type)? 295 +--:(dwdm) 296 | +--rw dwdm-n? layer0-types:dwdm-n 297 +--:(cwdm) 298 +--rw cwdm-n? layer0-types:cwdm-n 299 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 300 /te:p2p-primary-path/te:optimizations 301 /te:algorithm/te:metric/te:optimization-metric 302 /te:explicit-route-exclude-objects 303 /te:route-object-exclude-object/te:type/te:label 304 /te:label-hop/te:te-label/te:technology: 305 +--:(wson) 306 +--rw (grid-type)? 307 +--:(dwdm) 308 | +--rw (single-or-super-channel)? 309 | +--:(single) 310 | | +--rw dwdm-n? 311 | | layer0-types:dwdm-n 312 | +--:(super) 313 | +--rw subcarrier-dwdm-n* int16 314 +--:(cwdm) 315 +--rw cwdm-n? 316 layer0-types:cwdm-n 317 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 318 /te:p2p-primary-path/te:optimizations 319 /te:algorithm/te:metric/te:optimization-metric 320 /te:explicit-route-include-objects 321 /te:route-object-include-object/te:type/te:label 322 /te:label-hop/te:te-label/te:technology: 323 +--:(wson) 324 +--rw (grid-type)? 325 +--:(dwdm) 326 | +--rw (single-or-super-channel)? 327 | +--:(single) 328 | | +--rw dwdm-n? 329 | | layer0-types:dwdm-n 330 | +--:(super) 331 | +--rw subcarrier-dwdm-n* int16 332 +--:(cwdm) 333 +--rw cwdm-n? 334 layer0-types:cwdm-n 336 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 337 /te:p2p-primary-path 338 /te:explicit-route-objects-always 339 /te:route-object-exclude-always/te:type/te:label 340 /te:label-hop/te:te-label/te:technology: 341 +--:(wson) 342 +--rw (grid-type)? 343 +--:(dwdm) 344 | +--rw (single-or-super-channel)? 345 | +--:(single) 346 | | +--rw dwdm-n? 347 | | layer0-types:dwdm-n 348 | +--:(super) 349 | +--rw subcarrier-dwdm-n* int16 350 +--:(cwdm) 351 +--rw cwdm-n? 352 layer0-types:cwdm-n 353 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 354 /te:p2p-primary-path 355 /te:explicit-route-objects-always 356 /te:route-object-include-exclude/te:type 357 /te:label/te:label-hop/te:te-label 358 /te:technology: 359 +--:(wson) 360 +--rw (grid-type)? 361 +--:(dwdm) 362 | +--rw (single-or-super-channel)? 363 | +--:(single) 364 | | +--rw dwdm-n? 365 | | layer0-types:dwdm-n 366 | +--:(super) 367 | +--rw subcarrier-dwdm-n* int16 368 +--:(cwdm) 369 +--rw cwdm-n? 370 layer0-types:cwdm-n 371 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 372 /te:p2p-primary-path/te:path-in-segment 373 /te:label-restrictions/te:label-restriction: 374 +--rw grid-type? identityref 375 +--rw priority? uint8 376 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 377 /te:p2p-primary-path/te:path-in-segment 378 /te:label-restrictions/te:label-restriction 379 /te:label-start/te:te-label/te:technology: 380 +--:(wson) 381 +--rw (grid-type)? 382 +--:(dwdm) 383 | +--rw dwdm-n? layer0-types:dwdm-n 384 +--:(cwdm) 385 +--rw cwdm-n? layer0-types:cwdm-n 386 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 387 /te:p2p-primary-path/te:path-in-segment 388 /te:label-restrictions/te:label-restriction 389 /te:label-end/te:te-label/te:technology: 390 +--:(wson) 391 +--rw (grid-type)? 392 +--:(dwdm) 393 | +--rw dwdm-n? layer0-types:dwdm-n 394 +--:(cwdm) 395 +--rw cwdm-n? layer0-types:cwdm-n 396 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 397 /te:p2p-primary-path/te:path-out-segment 398 /te:label-restrictions/te:label-restriction: 399 +--rw grid-type? identityref 400 +--rw priority? uint8 401 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 402 /te:p2p-primary-path/te:path-out-segment 403 /te:label-restrictions/te:label-restriction 404 /te:label-start/te:te-label/te:technology: 405 +--:(wson) 406 +--rw (grid-type)? 407 +--:(dwdm) 408 | +--rw dwdm-n? layer0-types:dwdm-n 409 +--:(cwdm) 410 +--rw cwdm-n? layer0-types:cwdm-n 411 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 412 /te:p2p-primary-path/te:path-out-segment 413 /te:label-restrictions/te:label-restriction 414 /te:label-end/te:te-label/te:technology: 415 +--:(wson) 416 +--rw (grid-type)? 417 +--:(dwdm) 418 | +--rw dwdm-n? layer0-types:dwdm-n 419 +--:(cwdm) 420 +--rw cwdm-n? layer0-types:cwdm-n 421 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 422 /te:p2p-primary-path 423 /te:computed-paths-properties 424 /te:computed-path-properties/te:path-properties 425 /te:path-route-objects 426 /te:path-computed-route-object/te:type/te:label 427 /te:label-hop/te:te-label/te:technology: 428 +--:(wson) 429 +--ro (grid-type)? 430 +--:(dwdm) 431 | +--ro (single-or-super-channel)? 432 | +--:(single) 433 | | +--ro dwdm-n? 434 | | layer0-types:dwdm-n 435 | +--:(super) 436 | +--ro subcarrier-dwdm-n* int16 437 +--:(cwdm) 438 +--ro cwdm-n? 439 layer0-types:cwdm-n 440 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 441 /te:p2p-primary-path/te:lsps/te:lsp 442 /te:lsp-record-route-information 443 /te:lsp-record-route-information/te:type 444 /te:label/te:label-hop/te:te-label 445 /te:technology: 446 +--:(wson) 447 +--ro (grid-type)? 448 +--:(dwdm) 449 | +--ro (single-or-super-channel)? 450 | +--:(single) 451 | | +--ro dwdm-n? 452 | | layer0-types:dwdm-n 453 | +--:(super) 454 | +--ro subcarrier-dwdm-n* int16 455 +--:(cwdm) 456 +--ro cwdm-n? 457 layer0-types:cwdm-n 458 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 459 /te:p2p-primary-path/te:lsps/te:lsp 460 /te:path-properties/te:path-route-objects 461 /te:path-computed-route-object/te:type/te:label 462 /te:label-hop/te:te-label/te:technology: 463 +--:(wson) 464 +--ro (grid-type)? 465 +--:(dwdm) 466 | +--ro (single-or-super-channel)? 467 | +--:(single) 468 | | +--ro dwdm-n? 469 | | layer0-types:dwdm-n 470 | +--:(super) 471 | +--ro subcarrier-dwdm-n* int16 472 +--:(cwdm) 473 +--ro cwdm-n? 474 layer0-types:cwdm-n 475 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 476 /te:p2p-primary-path/te:p2p-primary-reverse-path 477 /te:optimizations/te:algorithm/te:metric 478 /te:optimization-metric 479 /te:explicit-route-exclude-objects 480 /te:route-object-exclude-object/te:type/te:label 481 /te:label-hop/te:te-label/te:technology: 482 +--:(wson) 483 +--rw (grid-type)? 484 +--:(dwdm) 485 | +--rw (single-or-super-channel)? 486 | +--:(single) 487 | | +--rw dwdm-n? 488 | | layer0-types:dwdm-n 489 | +--:(super) 490 | +--rw subcarrier-dwdm-n* int16 491 +--:(cwdm) 492 +--rw cwdm-n? 493 layer0-types:cwdm-n 494 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 495 /te:p2p-primary-path/te:p2p-primary-reverse-path 496 /te:optimizations/te:algorithm/te:metric 497 /te:optimization-metric 498 /te:explicit-route-include-objects 499 /te:route-object-include-object/te:type/te:label 500 /te:label-hop/te:te-label/te:technology: 501 +--:(wson) 502 +--rw (grid-type)? 503 +--:(dwdm) 504 | +--rw (single-or-super-channel)? 505 | +--:(single) 506 | | +--rw dwdm-n? 507 | | layer0-types:dwdm-n 508 | +--:(super) 509 | +--rw subcarrier-dwdm-n* int16 510 +--:(cwdm) 511 +--rw cwdm-n? 512 layer0-types:cwdm-n 513 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 514 /te:p2p-primary-path/te:p2p-primary-reverse-path 515 /te:explicit-route-objects-always 516 /te:route-object-exclude-always/te:type/te:label 517 /te:label-hop/te:te-label/te:technology: 518 +--:(wson) 519 +--rw (grid-type)? 520 +--:(dwdm) 521 | +--rw (single-or-super-channel)? 522 | +--:(single) 523 | | +--rw dwdm-n? 524 | | layer0-types:dwdm-n 525 | +--:(super) 526 | +--rw subcarrier-dwdm-n* int16 527 +--:(cwdm) 528 +--rw cwdm-n? 529 layer0-types:cwdm-n 530 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 531 /te:p2p-primary-path/te:p2p-primary-reverse-path 532 /te:explicit-route-objects-always 533 /te:route-object-include-exclude/te:type 534 /te:label/te:label-hop/te:te-label 535 /te:technology: 536 +--:(wson) 537 +--rw (grid-type)? 538 +--:(dwdm) 539 | +--rw (single-or-super-channel)? 540 | +--:(single) 541 | | +--rw dwdm-n? 542 | | layer0-types:dwdm-n 543 | +--:(super) 544 | +--rw subcarrier-dwdm-n* int16 545 +--:(cwdm) 546 +--rw cwdm-n? 547 layer0-types:cwdm-n 548 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 549 /te:p2p-primary-path/te:p2p-primary-reverse-path 550 /te:path-in-segment/te:label-restrictions 551 /te:label-restriction: 552 +--rw grid-type? identityref 553 +--rw priority? uint8 554 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 555 /te:p2p-primary-path/te:p2p-primary-reverse-path 556 /te:path-in-segment/te:label-restrictions 557 /te:label-restriction/te:label-start/te:te-label 558 /te:technology: 559 +--:(wson) 560 +--rw (grid-type)? 561 +--:(dwdm) 562 | +--rw dwdm-n? layer0-types:dwdm-n 563 +--:(cwdm) 564 +--rw cwdm-n? layer0-types:cwdm-n 565 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 566 /te:p2p-primary-path/te:p2p-primary-reverse-path 567 /te:path-in-segment/te:label-restrictions 568 /te:label-restriction/te:label-end/te:te-label 569 /te:technology: 570 +--:(wson) 571 +--rw (grid-type)? 572 +--:(dwdm) 573 | +--rw dwdm-n? layer0-types:dwdm-n 574 +--:(cwdm) 575 +--rw cwdm-n? layer0-types:cwdm-n 577 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 578 /te:p2p-primary-path/te:p2p-primary-reverse-path 579 /te:path-out-segment/te:label-restrictions 580 /te:label-restriction: 581 +--rw grid-type? identityref 582 +--rw priority? uint8 583 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 584 /te:p2p-primary-path/te:p2p-primary-reverse-path 585 /te:path-out-segment/te:label-restrictions 586 /te:label-restriction/te:label-start/te:te-label 587 /te:technology: 588 +--:(wson) 589 +--rw (grid-type)? 590 +--:(dwdm) 591 | +--rw dwdm-n? layer0-types:dwdm-n 592 +--:(cwdm) 593 +--rw cwdm-n? layer0-types:cwdm-n 594 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 595 /te:p2p-primary-path/te:p2p-primary-reverse-path 596 /te:path-out-segment/te:label-restrictions 597 /te:label-restriction/te:label-end/te:te-label 598 /te:technology: 599 +--:(wson) 600 +--rw (grid-type)? 601 +--:(dwdm) 602 | +--rw dwdm-n? layer0-types:dwdm-n 603 +--:(cwdm) 604 +--rw cwdm-n? layer0-types:cwdm-n 605 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 606 /te:p2p-primary-path/te:p2p-primary-reverse-path 607 /te:computed-paths-properties 608 /te:computed-path-properties/te:path-properties 609 /te:path-route-objects 610 /te:path-computed-route-object/te:type/te:label 611 /te:label-hop/te:te-label/te:technology: 612 +--:(wson) 613 +--ro (grid-type)? 614 +--:(dwdm) 615 | +--ro (single-or-super-channel)? 616 | +--:(single) 617 | | +--ro dwdm-n? 618 | | layer0-types:dwdm-n 619 | +--:(super) 620 | +--ro subcarrier-dwdm-n* int16 621 +--:(cwdm) 622 +--ro cwdm-n? 623 layer0-types:cwdm-n 624 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 625 /te:p2p-primary-path/te:p2p-primary-reverse-path 626 /te:lsps/te:lsp/te:lsp-record-route-information 627 /te:lsp-record-route-information/te:type 628 /te:label/te:label-hop/te:te-label 629 /te:technology: 630 +--:(wson) 631 +--ro (grid-type)? 632 +--:(dwdm) 633 | +--ro (single-or-super-channel)? 634 | +--:(single) 635 | | +--ro dwdm-n? 636 | | layer0-types:dwdm-n 637 | +--:(super) 638 | +--ro subcarrier-dwdm-n* int16 639 +--:(cwdm) 640 +--ro cwdm-n? 641 layer0-types:cwdm-n 642 augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths 643 /te:p2p-primary-path/te:p2p-primary-reverse-path 644 /te:lsps/te:lsp/te:path-properties 645 /te:path-route-objects 646 /te:path-computed-route-object/te:type/te:label 647 /te:label-hop/te:te-label/te:technology: 648 +--:(wson) 649 +--ro (grid-type)? 650 +--:(dwdm) 651 | +--ro (single-or-super-channel)? 652 | +--:(single) 653 | | +--ro dwdm-n? 654 | | layer0-types:dwdm-n 655 | +--:(super) 656 | +--ro subcarrier-dwdm-n* int16 657 +--:(cwdm) 658 +--ro cwdm-n? 659 layer0-types:cwdm-n 660 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 661 /te:p2p-secondary-path/te:optimizations 662 /te:algorithm/te:metric/te:optimization-metric 663 /te:explicit-route-exclude-objects 664 /te:route-object-exclude-object/te:type/te:label 665 /te:label-hop/te:te-label/te:technology: 666 +--:(wson) 667 +--rw (grid-type)? 668 +--:(dwdm) 669 | +--rw (single-or-super-channel)? 670 | +--:(single) 671 | | +--rw dwdm-n? 672 | | layer0-types:dwdm-n 673 | +--:(super) 674 | +--rw subcarrier-dwdm-n* int16 675 +--:(cwdm) 676 +--rw cwdm-n? 677 layer0-types:cwdm-n 678 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 679 /te:p2p-secondary-path/te:optimizations 680 /te:algorithm/te:metric/te:optimization-metric 681 /te:explicit-route-include-objects 682 /te:route-object-include-object/te:type/te:label 683 /te:label-hop/te:te-label/te:technology: 684 +--:(wson) 685 +--rw (grid-type)? 686 +--:(dwdm) 687 | +--rw (single-or-super-channel)? 688 | +--:(single) 689 | | +--rw dwdm-n? 690 | | layer0-types:dwdm-n 691 | +--:(super) 692 | +--rw subcarrier-dwdm-n* int16 693 +--:(cwdm) 694 +--rw cwdm-n? 695 layer0-types:cwdm-n 696 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 697 /te:p2p-secondary-path 698 /te:explicit-route-objects-always 699 /te:route-object-exclude-always/te:type/te:label 700 /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 dwdm-n? 707 | | layer0-types:dwdm-n 708 | +--:(super) 709 | +--rw subcarrier-dwdm-n* int16 710 +--:(cwdm) 711 +--rw cwdm-n? 712 layer0-types:cwdm-n 713 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 714 /te:p2p-secondary-path 715 /te:explicit-route-objects-always 716 /te:route-object-include-exclude/te:type 717 /te:label/te:label-hop/te:te-label 718 /te:technology: 719 +--:(wson) 720 +--rw (grid-type)? 721 +--:(dwdm) 722 | +--rw (single-or-super-channel)? 723 | +--:(single) 724 | | +--rw dwdm-n? 725 | | layer0-types:dwdm-n 726 | +--:(super) 727 | +--rw subcarrier-dwdm-n* int16 728 +--:(cwdm) 729 +--rw cwdm-n? 730 layer0-types:cwdm-n 731 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 732 /te:p2p-secondary-path/te:path-in-segment 733 /te:label-restrictions/te:label-restriction: 734 +--rw grid-type? identityref 735 +--rw priority? uint8 736 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 737 /te:p2p-secondary-path/te:path-in-segment 738 /te:label-restrictions/te:label-restriction 739 /te:label-start/te:te-label/te:technology: 740 +--:(wson) 741 +--rw (grid-type)? 742 +--:(dwdm) 743 | +--rw dwdm-n? layer0-types:dwdm-n 744 +--:(cwdm) 745 +--rw cwdm-n? layer0-types:cwdm-n 746 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 747 /te:p2p-secondary-path/te:path-in-segment 748 /te:label-restrictions/te:label-restriction 749 /te:label-end/te:te-label/te:technology: 750 +--:(wson) 751 +--rw (grid-type)? 752 +--:(dwdm) 753 | +--rw dwdm-n? layer0-types:dwdm-n 754 +--:(cwdm) 755 +--rw cwdm-n? layer0-types:cwdm-n 756 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 757 /te:p2p-secondary-path/te:path-out-segment 758 /te:label-restrictions/te:label-restriction: 759 +--rw grid-type? identityref 760 +--rw priority? uint8 761 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 762 /te:p2p-secondary-path/te:path-out-segment 763 /te:label-restrictions/te:label-restriction 764 /te:label-start/te:te-label/te:technology: 765 +--:(wson) 766 +--rw (grid-type)? 767 +--:(dwdm) 768 | +--rw dwdm-n? layer0-types:dwdm-n 769 +--:(cwdm) 770 +--rw cwdm-n? layer0-types:cwdm-n 771 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 772 /te:p2p-secondary-path/te:path-out-segment 773 /te:label-restrictions/te:label-restriction 774 /te:label-end/te:te-label/te:technology: 775 +--:(wson) 776 +--rw (grid-type)? 777 +--:(dwdm) 778 | +--rw dwdm-n? layer0-types:dwdm-n 779 +--:(cwdm) 780 +--rw cwdm-n? layer0-types:cwdm-n 781 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 782 /te:p2p-secondary-path 783 /te:computed-paths-properties 784 /te:computed-path-properties/te:path-properties 785 /te:path-route-objects 786 /te:path-computed-route-object/te:type/te:label 787 /te:label-hop/te:te-label/te:technology: 788 +--:(wson) 789 +--ro (grid-type)? 790 +--:(dwdm) 791 | +--ro (single-or-super-channel)? 792 | +--:(single) 793 | | +--ro dwdm-n? 794 | | layer0-types:dwdm-n 795 | +--:(super) 796 | +--ro subcarrier-dwdm-n* int16 797 +--:(cwdm) 798 +--ro cwdm-n? 799 layer0-types:cwdm-n 800 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 801 /te:p2p-secondary-path/te:lsps/te:lsp 802 /te:lsp-record-route-information 803 /te:lsp-record-route-information/te:type 804 /te:label/te:label-hop/te:te-label 805 /te:technology: 806 +--:(wson) 807 +--ro (grid-type)? 808 +--:(dwdm) 809 | +--ro (single-or-super-channel)? 810 | +--:(single) 811 | | +--ro dwdm-n? 812 | | layer0-types:dwdm-n 813 | +--:(super) 814 | +--ro subcarrier-dwdm-n* int16 815 +--:(cwdm) 816 +--ro cwdm-n? 817 layer0-types:cwdm-n 818 augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths 819 /te:p2p-secondary-path/te:lsps/te:lsp 820 /te:path-properties/te:path-route-objects 821 /te:path-computed-route-object/te:type/te:label 822 /te:label-hop/te:te-label/te:technology: 823 +--:(wson) 824 +--ro (grid-type)? 825 +--:(dwdm) 826 | +--ro (single-or-super-channel)? 827 | +--:(single) 828 | | +--ro dwdm-n? 829 | | layer0-types:dwdm-n 830 | +--:(super) 831 | +--ro subcarrier-dwdm-n* int16 832 +--:(cwdm) 833 +--ro cwdm-n? 834 layer0-types:cwdm-n 835 augment /te:te/te:lsps-state/te:lsp 836 /te:lsp-record-route-information 837 /te:lsp-record-route-information/te:type 838 /te:label/te:label-hop/te:te-label 839 /te:technology: 840 +--:(wson) 841 +--ro (grid-type)? 842 +--:(dwdm) 843 | +--ro (single-or-super-channel)? 844 | +--:(single) 845 | | +--ro dwdm-n? 846 | | layer0-types:dwdm-n 847 | +--:(super) 848 | +--ro subcarrier-dwdm-n* int16 849 +--:(cwdm) 850 +--ro cwdm-n? 851 layer0-types:cwdm-n 852 augment /te:tunnels-rpc/te:input/te:tunnel-info 853 /tepc:path-request: 854 +-- src-client-signal? identityref 855 +-- dst-client-signal? identityref 856 +-- fec-type? identityref 857 +-- termination-type? identityref 858 +-- bit-stuffing? boolean 859 +-- wavelength-assignment? identityref 861 4. WSON Tunnel YANG Code 863 file "ietf-wson-tunnel@2019-09-11.yang" 865 module ietf-wson-tunnel { 866 //yang-version 1.1; 868 namespace "urn:ietf:params:xml:ns:yang:ietf-wson-tunnel"; 869 prefix "wson-tunnel"; 871 import ietf-te { prefix "te"; } 872 import ietf-layer0-types{ prefix "layer0-types"; } 873 import ietf-te-path-computation { prefix "tepc"; } 874 import ietf-layer1-types { prefix "layer1-types";} 876 organization 877 "IETF CCAMP Working Group"; 879 contact 880 "WG Web: 881 WG List: 883 WG Chair: Daniele Ceccarelli 884 886 WG Chair: Fatai Zhang 887 889 Editor: Young Lee 890 Editor: Haomian Zheng 891 Editor: Aihua Guo 892 Editor: Victor Lopez 893 Editor: Daniel King 894 Editor: Bin Yeong Yoon 895 Editor: Ricard Vilalta "; 896 description 897 "This module defines a model for WSON Tunnel Services. 899 Copyright (c) 2019 IETF Trust and the persons identified as 900 authors of the code. All rights reserved. 901 Redistribution and use in source and binary forms, with or 902 without modification, is permitted pursuant to, and subject 903 to the license terms contained in, the Simplified BSD 904 License set forth in Section 4.c of the IETF Trust's Legal 905 Provisions Relating to IETF Documents 906 (http://trustee.ietf.org/license-info). 907 This version of this YANG module is part of RFC XXXX; see 908 the RFC itself for full legal notices."; 910 revision "2019-09-11" { 911 description 912 "Updates to version 4"; 913 reference "version 4"; 914 } 916 /* Groupings. */ 917 grouping wson-tunnel-attributes { 918 description "Parameters for WSON tunnel."; 920 leaf src-client-signal { 921 type identityref { 922 base layer1-types:client-signal; 923 } 924 description 925 "Client signal at the source endpoint of 926 the tunnel."; 927 } 929 leaf dst-client-signal { 930 type identityref { 931 base layer1-types:client-signal; 932 } 933 description 934 "Client signal at the destination endpoint of 935 the tunnel."; 936 } 938 leaf fec-type { 939 type identityref { 940 base layer0-types:fec-type; 941 } 942 description 943 "FEC type."; 944 } 946 leaf termination-type { 947 type identityref { 948 base layer0-types:term-type; 949 } 950 description 951 "Termination type."; 952 } 954 leaf bit-stuffing { 955 type boolean; 956 description 957 "Bit stuffing enabled/disabled."; 958 } 959 } 961 grouping wson-path-constraints { 962 description 963 "Global named path constraints configuration 964 grouping for WSON tunnel"; 966 leaf wavelength-assignment { 967 type identityref { 968 base layer0-types:wavelength-assignment; 969 } 970 description "Wavelength Allocation Method"; 971 } 972 } 974 /* 975 * Data nodes 976 */ 978 augment "/te:te/te:tunnels/te:tunnel" { 979 description 980 "Augment with additional parameters required for WSON tunnel."; 981 uses wson-tunnel-attributes; 982 } 983 /* 984 * Augment TE bandwidth 985 */ 987 /* Augment bandwidth of named-path-constraints */ 988 augment "/te:te/te:globals/te:named-path-constraints/" 989 + "te:named-path-constraint/" 990 + "te:te-bandwidth/te:technology" { 991 description "WSON bandwidth."; 992 case wson { 993 uses layer0-types:wson-path-bandwidth; 994 } 995 } 997 /* Augment bandwdith of tunnel */ 998 augment "/te:te/te:tunnels/te:tunnel/" 999 + "te:te-bandwidth/te:technology" { 1000 description "WSON bandwidth."; 1001 case wson { 1002 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-primary-reverse-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-always/" 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 } 1053 } 1055 /* Augment label hop of route-object-include-exclude of named-path- 1056 constraints */ 1057 augment "/te:te/te:globals/te:named-path-constraints/" 1058 + "te:named-path-constraint/te:explicit-route-objects-always/" 1059 + "te:route-object-include-exclude/te:type/te:label/" 1060 + "te:label-hop/te:te-label/te:technology" { 1061 description "WSON label."; 1062 case wson { 1063 uses layer0-types:wson-path-label; 1064 } 1065 } 1067 /* Augment label restrictions for the path-in-segment of 1068 named-path-constraints */ 1069 augment "/te:te/te:globals/te:named-path-constraints/" 1070 + "te:named-path-constraint/te:path-in-segment/" 1071 + "te:label-restrictions/te:label-restriction" { 1072 description "WSON label."; 1073 uses layer0-types:layer0-label-restriction; 1074 } 1076 /* Augment label restrictions start for the path-in-segment 1077 of named-path-constraints */ 1078 augment "/te:te/te:globals/te:named-path-constraints/" 1079 + "te:named-path-constraint/te:path-in-segment/" 1080 + "te:label-restrictions/" 1081 + "te:label-restriction/te:label-start/" 1082 + "te:te-label/te:technology" { 1083 description "WSON label."; 1084 case wson { 1085 uses layer0-types:wson-link-label; 1086 } 1087 } 1089 /* Augment label restrictions end for the path-in-segment of 1090 named-path-constraints */ 1091 augment "/te:te/te:globals/te:named-path-constraints/" 1092 + "te:named-path-constraint/te:path-in-segment/" 1093 + "te:label-restrictions/" 1094 + "te:label-restriction/te:label-end/" 1095 + "te:te-label/te:technology" { 1096 description "WSON label."; 1097 case wson { 1098 uses layer0-types:wson-link-label; 1099 } 1100 } 1101 /* Augment label restrictions for the path-out-segment of 1102 named-path-constraints */ 1103 augment "/te:te/te:globals/te:named-path-constraints/" 1104 + "te:named-path-constraint/te:path-out-segment/" 1105 + "te:label-restrictions/" 1106 + "te:label-restriction" { 1107 description "WSON label."; 1108 uses layer0-types:layer0-label-restriction; 1109 } 1110 /* Augment label restrictions start for the path-out-segment 1111 of named-path-constraints */ 1112 augment "/te:te/te:globals/te:named-path-constraints/" 1113 + "te:named-path-constraint/te:path-out-segment/" 1114 + "te:label-restrictions/" 1115 + "te:label-restriction/te:label-start/" 1116 + "te:te-label/te:technology" { 1117 description "WSON label."; 1118 case wson { 1119 uses layer0-types:wson-link-label; 1120 } 1121 } 1123 /* Augment label restrictions end for the path-out-segment of 1124 named-path-constraints */ 1125 augment "/te:te/te:globals/te:named-path-constraints/" 1126 + "te:named-path-constraint/te:path-out-segment/" 1127 + "te:label-restrictions/" 1128 + "te:label-restriction/te:label-end/" 1129 + "te:te-label/te:technology" { 1130 description "WSON label."; 1131 case wson { 1132 uses layer0-types:wson-link-label; 1133 } 1134 } 1136 /* Augment label hop of route-exclude of primary path */ 1137 augment "/te:te/te:tunnels/te:tunnel/" 1138 + "te:p2p-primary-paths/te:p2p-primary-path/" 1139 + "te:optimizations/te:algorithm/te:metric/" 1140 + "te:optimization-metric/te:explicit-route-exclude-objects/" 1141 + "te:route-object-exclude-object/te:type/te:label/" 1142 + "te:label-hop/te:te-label/te:technology" { 1143 description "WSON label."; 1144 case wson { 1145 uses layer0-types:wson-path-label; 1146 } 1147 } 1148 /* Augment label hop of route-include of primary path */ 1149 augment "/te:te/te:tunnels/te:tunnel/" 1150 + "te:p2p-primary-paths/te:p2p-primary-path/" 1151 + "te:optimizations/te:algorithm/te:metric/" 1152 + "te:optimization-metric/te:explicit-route-include-objects/" 1153 + "te:route-object-include-object/te:type/te:label/" 1154 + "te:label-hop/te:te-label/te:technology" { 1155 description "WSON label."; 1156 case wson { 1157 uses layer0-types:wson-path-label; 1158 } 1159 } 1161 /* Augment label hop of route-object-exclude-always of primary path */ 1162 augment "/te:te/te:tunnels/te:tunnel/" 1163 + "te:p2p-primary-paths/te:p2p-primary-path/" 1164 + "te:explicit-route-objects-always/" 1165 + "te:route-object-exclude-always/te:type/te:label/" 1166 + "te:label-hop/te:te-label/te:technology" { 1167 description "WSON label."; 1168 case wson { 1169 uses layer0-types:wson-path-label; 1170 } 1171 } 1173 /* Augment label hop of route-object-include-exclude of primary path */ 1174 augment "/te:te/te:tunnels/te:tunnel/" 1175 + "te:p2p-primary-paths/te:p2p-primary-path/" 1176 + "te:explicit-route-objects-always/" 1177 + "te:route-object-include-exclude/te:type/te:label/" 1178 + "te:label-hop/te:te-label/te:technology" { 1179 description "WSON label."; 1180 case wson { 1181 uses layer0-types:wson-path-label; 1182 } 1183 } 1185 /* Augment label restrictions for the path-in-segment of primary path */ 1186 augment "/te:te/te:tunnels/te:tunnel/" 1187 + "te:p2p-primary-paths/te:p2p-primary-path/" 1188 + "te:path-in-segment/te:label-restrictions/" 1189 + "te:label-restriction" { 1190 description "WSON label."; 1191 uses layer0-types:layer0-label-restriction; 1192 } 1194 /* Augment label restrictions start for the path-in-segment of primary path */ 1195 augment "/te:te/te:tunnels/te:tunnel/" 1196 + "te:p2p-primary-paths/te:p2p-primary-path/" 1197 + "te:path-in-segment/te:label-restrictions/" 1198 + "te:label-restriction/te:label-start/" 1199 + "te:te-label/te:technology" { 1200 description "WSON label."; 1201 case wson { 1202 uses layer0-types:wson-link-label; 1203 } 1204 } 1206 /* Augment label restrictions end for the path-in-segment of primary path */ 1207 augment "/te:te/te:tunnels/te:tunnel/" 1208 + "te:p2p-primary-paths/te:p2p-primary-path/" 1209 + "te:path-in-segment/te:label-restrictions/" 1210 + "te:label-restriction/te:label-end/" 1211 + "te:te-label/te:technology" { 1212 description "WSON label."; 1213 case wson { 1214 uses layer0-types:wson-link-label; 1215 } 1216 } 1218 /* Augment label restrictions for the path-out-segment of primary path */ 1219 augment "/te:te/te:tunnels/te:tunnel/" 1220 + "te:p2p-primary-paths/te:p2p-primary-path/" 1221 + "te:path-out-segment/te:label-restrictions/" 1222 + "te:label-restriction" { 1223 description "WSON label."; 1224 uses layer0-types:layer0-label-restriction; 1225 } 1227 /* Augment label restrictions start for the path-out-segment of primary path */ 1228 augment "/te:te/te:tunnels/te:tunnel/" 1229 + "te:p2p-primary-paths/te:p2p-primary-path/" 1230 + "te:path-out-segment/te:label-restrictions/" 1231 + "te:label-restriction/te:label-start/" 1232 + "te:te-label/te:technology" { 1233 description "WSON label."; 1234 case wson { 1235 uses layer0-types:wson-link-label; 1236 } 1237 } 1239 /* Augment label restrictions end for the path-out-segment of primary path */ 1240 augment "/te:te/te:tunnels/te:tunnel/" 1241 + "te:p2p-primary-paths/te:p2p-primary-path/" 1242 + "te:path-out-segment/te:label-restrictions/" 1243 + "te:label-restriction/te:label-end/" 1244 + "te:te-label/te:technology" { 1245 description "WSON label."; 1246 case wson { 1247 uses layer0-types:wson-link-label; 1248 } 1249 } 1251 /* Augment label hop of path-route of primary path */ 1252 augment "/te:te/te:tunnels/te:tunnel/" 1253 + "te:p2p-primary-paths/te:p2p-primary-path/" 1254 + "te:computed-paths-properties/" 1255 + "te:computed-path-properties/te:path-properties/" 1256 + "te:path-route-objects/te:path-computed-route-object/" 1257 + "te:type/te:label/" 1258 + "te:label-hop/te:te-label/te:technology" { 1259 description "WSON label."; 1260 case wson { 1261 uses layer0-types:wson-path-label; 1262 } 1263 } 1265 /* Augment label hop of record-route of primary LSP */ 1266 augment "/te:te/te:tunnels/te:tunnel/" 1267 + "te:p2p-primary-paths/te:p2p-primary-path/" 1268 + "te:lsps/te:lsp/te:lsp-record-route-information/" 1269 + "te:lsp-record-route-information/te:type/te:label/" 1270 + "te:label-hop/te:te-label/te:technology" { 1271 description "WSON label."; 1272 case wson { 1273 uses layer0-types:wson-path-label; 1274 } 1275 } 1277 /* Augment label hop of path-route of primary LSP */ 1278 augment "/te:te/te:tunnels/te:tunnel/" 1279 + "te:p2p-primary-paths/te:p2p-primary-path/" 1280 + "te:lsps/te:lsp/te:path-properties/" 1281 + "te:path-route-objects/te:path-computed-route-object/" 1282 + "te:type/te:label/" 1283 + "te:label-hop/te:te-label/te:technology" { 1284 description "WSON label."; 1285 case wson { 1286 uses layer0-types:wson-path-label; 1287 } 1288 } 1290 /* Augment label hop of route-exclude of reverse primary path */ 1291 augment "/te:te/te:tunnels/te:tunnel/" 1292 + "te:p2p-primary-paths/te:p2p-primary-path/" 1293 + "te:p2p-primary-reverse-path/" 1294 + "te:optimizations/te:algorithm/te:metric/" 1295 + "te:optimization-metric/te:explicit-route-exclude-objects/" 1296 + "te:route-object-exclude-object/te:type/te:label/" 1297 + "te:label-hop/te:te-label/te:technology" { 1298 description "WSON label."; 1299 case wson { 1300 uses layer0-types:wson-path-label; 1301 } 1302 } 1304 /* Augment label hop of route-include of reverse primary path */ 1305 augment "/te:te/te:tunnels/te:tunnel/" 1306 + "te:p2p-primary-paths/te:p2p-primary-path/" 1307 + "te:p2p-primary-reverse-path/" 1308 + "te:optimizations/te:algorithm/te:metric/" 1309 + "te:optimization-metric/te:explicit-route-include-objects/" 1310 + "te:route-object-include-object/te:type/te:label/" 1311 + "te:label-hop/te:te-label/te:technology" { 1312 description "WSON label."; 1313 case wson { 1314 uses layer0-types:wson-path-label; 1315 } 1316 } 1318 /* Augment label hop of route-object-exclude-always of reverse primary path 1319 */ 1320 augment "/te:te/te:tunnels/te:tunnel/" 1321 + "te:p2p-primary-paths/te:p2p-primary-path/" 1322 + "te:p2p-primary-reverse-path/" 1323 + "te:explicit-route-objects-always/" 1324 + "te:route-object-exclude-always/" 1325 + "te:type/te:label/" 1326 + "te:label-hop/te:te-label/te:technology" { 1327 description "WSON label."; 1328 case wson { 1329 uses layer0-types:wson-path-label; 1330 } 1331 } 1333 /* Augment label hop of route-object-include-exclude of reverse primary path 1334 */ 1335 augment "/te:te/te:tunnels/te:tunnel/" 1336 + "te:p2p-primary-paths/te:p2p-primary-path/" 1337 + "te:p2p-primary-reverse-path/" 1338 + "te:explicit-route-objects-always/" 1339 + "te:route-object-include-exclude/" 1340 + "te:type/te:label/" 1341 + "te:label-hop/te:te-label/te:technology" { 1342 description "WSON label."; 1343 case wson { 1344 uses layer0-types:wson-path-label; 1345 } 1346 } 1348 /* Augment label restrictions for the path-in-segment of reverse primary path */ 1349 augment "/te:te/te:tunnels/te:tunnel/" 1350 + "te:p2p-primary-paths/te:p2p-primary-path/" 1351 + "te:p2p-primary-reverse-path/" 1352 + "te:path-in-segment/te:label-restrictions/" 1353 + "te:label-restriction" { 1354 description "WSON label."; 1355 uses layer0-types:layer0-label-restriction; 1356 } 1358 /* Augment label restrictions start for the path-in-segment of reverse primary path */ 1359 augment "/te:te/te:tunnels/te:tunnel/" 1360 + "te:p2p-primary-paths/te:p2p-primary-path/" 1361 + "te:p2p-primary-reverse-path/" 1362 + "te:path-in-segment/te:label-restrictions/" 1363 + "te:label-restriction/te:label-start/" 1364 + "te:te-label/te:technology" { 1365 description "WSON label."; 1366 case wson { 1367 uses layer0-types:wson-link-label; 1368 } 1369 } 1370 /* Augment label restrictions end for the path-in-segment of reverse primary path */ 1371 augment "/te:te/te:tunnels/te:tunnel/" 1372 + "te:p2p-primary-paths/te:p2p-primary-path/" 1373 + "te:p2p-primary-reverse-path/" 1374 + "te:path-in-segment/te:label-restrictions/" 1375 + "te:label-restriction/te:label-end/" 1376 + "te:te-label/te:technology" { 1377 description "WSON label."; 1378 case wson { 1379 uses layer0-types:wson-link-label; 1380 } 1381 } 1383 /* Augment label restrictions for the path-out-segment of reverse primary path */ 1384 augment "/te:te/te:tunnels/te:tunnel/" 1385 + "te:p2p-primary-paths/te:p2p-primary-path/" 1386 + "te:p2p-primary-reverse-path/" 1387 + "te:path-out-segment/te:label-restrictions/" 1388 + "te:label-restriction" { 1389 description "WSON label."; 1390 uses layer0-types:layer0-label-restriction; 1391 } 1393 /* Augment label restrictions start for the path-out-segment of reverse primary path */ 1394 augment "/te:te/te:tunnels/te:tunnel/" 1395 + "te:p2p-primary-paths/te:p2p-primary-path/" 1396 + "te:p2p-primary-reverse-path/" 1397 + "te:path-out-segment/te:label-restrictions/" 1398 + "te:label-restriction/te:label-start/" 1399 + "te:te-label/te:technology" { 1400 description "WSON label."; 1401 case wson { 1402 uses layer0-types:wson-link-label; 1403 } 1404 } 1406 /* Augment label restrictions end for the path-out-segment of reverse primary path */ 1407 augment "/te:te/te:tunnels/te:tunnel/" 1408 + "te:p2p-primary-paths/te:p2p-primary-path/" 1409 + "te:p2p-primary-reverse-path/" 1410 + "te:path-out-segment/te:label-restrictions/" 1411 + "te:label-restriction/te:label-end/" 1412 + "te:te-label/te:technology" { 1413 description "WSON label."; 1414 case wson { 1415 uses layer0-types:wson-link-label; 1416 } 1417 } 1419 /* Augment label hop of path-route of reverse primary path */ 1420 augment "/te:te/te:tunnels/te:tunnel/" 1421 + "te:p2p-primary-paths/te:p2p-primary-path/" 1422 + "te:p2p-primary-reverse-path/" 1423 + "te:computed-paths-properties/" 1424 + "te:computed-path-properties/te:path-properties/" 1425 + "te:path-route-objects/te:path-computed-route-object/" 1426 + "te:type/te:label/" 1427 + "te:label-hop/te:te-label/te:technology" { 1428 description "WSON label."; 1429 case wson { 1430 uses layer0-types:wson-path-label; 1431 } 1432 } 1434 /* Augment label hop of record-route of reverse primary LSP */ 1435 augment "/te:te/te:tunnels/te:tunnel/" 1436 + "te:p2p-primary-paths/te:p2p-primary-path/" 1437 + "te:p2p-primary-reverse-path/" 1438 + "te:lsps/te:lsp/te:lsp-record-route-information/" 1439 + "te:lsp-record-route-information/te:type/te:label/" 1440 + "te:label-hop/te:te-label/te:technology" { 1441 description "WSON label."; 1442 case wson { 1443 uses layer0-types:wson-path-label; 1444 } 1445 } 1447 /* Augment label hop of path-route of reverse primary LSP */ 1448 augment "/te:te/te:tunnels/te:tunnel/" 1449 + "te:p2p-primary-paths/te:p2p-primary-path/" 1450 + "te:p2p-primary-reverse-path/" 1451 + "te:lsps/te:lsp/te:path-properties/" 1452 + "te:path-route-objects/te:path-computed-route-object/" 1453 + "te:type/te:label/" 1454 + "te:label-hop/te:te-label/te:technology" { 1455 description "WSON label."; 1456 case wson { 1457 uses layer0-types:wson-path-label; 1458 } 1459 } 1461 /* Augment label hop of route-exclude of secondary path */ 1462 augment "/te:te/te:tunnels/te:tunnel/" 1463 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1464 + "te:optimizations/te:algorithm/te:metric/" 1465 + "te:optimization-metric/te:explicit-route-exclude-objects/" 1466 + "te:route-object-exclude-object/te:type/te:label/" 1467 + "te:label-hop/te:te-label/te:technology" { 1468 description "WSON label."; 1469 case wson { 1470 uses layer0-types:wson-path-label; 1471 } 1472 } 1474 /* Augment label hop of route-include of secondary path */ 1475 augment "/te:te/te:tunnels/te:tunnel/" 1476 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1477 + "te:optimizations/te:algorithm/te:metric/" 1478 + "te:optimization-metric/te:explicit-route-include-objects/" 1479 + "te:route-object-include-object/te:type/te:label/" 1480 + "te:label-hop/te:te-label/te:technology" { 1481 description "WSON label."; 1482 case wson { 1483 uses layer0-types:wson-path-label; 1485 } 1486 } 1488 /* Augment label hop of route-object-exclude-always of secondary path */ 1489 augment "/te:te/te:tunnels/te:tunnel/" 1490 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1491 + "te:explicit-route-objects-always/" 1492 + "te:route-object-exclude-always/te:type/te:label/" 1493 + "te:label-hop/te:te-label/te:technology" { 1494 description "WSON label."; 1495 case wson { 1496 uses layer0-types:wson-path-label; 1497 } 1498 } 1500 /* Augment label hop of route-object-include-exclude of secondary path */ 1501 augment "/te:te/te:tunnels/te:tunnel/" 1502 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1503 + "te:explicit-route-objects-always/" 1504 + "te:route-object-include-exclude/te:type/te:label/" 1505 + "te:label-hop/te:te-label/te:technology" { 1506 description "WSON label."; 1507 case wson { 1508 uses layer0-types:wson-path-label; 1509 } 1510 } 1512 /* Augment label restrictions for the path-in-segment of secondary path */ 1513 augment "/te:te/te:tunnels/te:tunnel/" 1514 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1515 + "te:path-in-segment/te:label-restrictions/" 1516 + "te:label-restriction" { 1517 description "WSON label."; 1518 uses layer0-types:layer0-label-restriction; 1519 } 1521 /* Augment label restrictions start for the path-in-segment of secondary path */ 1522 augment "/te:te/te:tunnels/te:tunnel/" 1523 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1524 + "te:path-in-segment/te:label-restrictions/" 1525 + "te:label-restriction/te:label-start/" 1526 + "te:te-label/te:technology" { 1527 description "WSON label."; 1528 case wson { 1529 uses layer0-types:wson-link-label; 1530 } 1531 } 1532 /* Augment label restrictions end for the path-in-segment of secondary path */ 1533 augment "/te:te/te:tunnels/te:tunnel/" 1534 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1535 + "te:path-in-segment/te:label-restrictions/" 1536 + "te:label-restriction/te:label-end/" 1537 + "te:te-label/te:technology" { 1538 description "WSON label."; 1539 case wson { 1540 uses layer0-types:wson-link-label; 1541 } 1542 } 1544 /* Augment label restrictions for the path-out-segment of secondary path */ 1545 augment "/te:te/te:tunnels/te:tunnel/" 1546 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1547 + "te:path-out-segment/te:label-restrictions/" 1548 + "te:label-restriction" { 1549 description "WSON label."; 1550 uses layer0-types:layer0-label-restriction; 1551 } 1553 /* Augment label restrictions start for the path-out-segment of secondary path */ 1554 augment "/te:te/te:tunnels/te:tunnel/" 1555 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1556 + "te:path-out-segment/te:label-restrictions/" 1557 + "te:label-restriction/te:label-start/" 1558 + "te:te-label/te:technology" { 1559 description "WSON label."; 1560 case wson { 1561 uses layer0-types:wson-link-label; 1562 } 1563 } 1565 /* Augment label restrictions end for the path-out-segment of secondary path */ 1566 augment "/te:te/te:tunnels/te:tunnel/" 1567 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1568 + "te:path-out-segment/te:label-restrictions/" 1569 + "te:label-restriction/te:label-end/" 1570 + "te:te-label/te:technology" { 1571 description "WSON label."; 1572 case wson { 1573 uses layer0-types:wson-link-label; 1574 } 1575 } 1577 /* Augment label hop of path-route of secondary path */ 1578 augment "/te:te/te:tunnels/te:tunnel/" 1579 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1580 + "te:computed-paths-properties/" 1581 + "te:computed-path-properties/te:path-properties/" 1582 + "te:path-route-objects/" 1583 + "te:path-computed-route-object/te:type/te:label/" 1584 + "te:label-hop/te:te-label/te:technology" { 1585 description "WSON label."; 1586 case wson { 1587 uses layer0-types:wson-path-label; 1588 } 1589 } 1591 /* Augment label hop of record-route of secondary LSP */ 1592 augment "/te:te/te:tunnels/te:tunnel/" 1593 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1594 + "te:lsps/te:lsp/te:lsp-record-route-information/" 1595 + "te:lsp-record-route-information/te:type/te:label/" 1596 + "te:label-hop/te:te-label/te:technology" { 1597 description "WSON label."; 1598 case wson { 1599 uses layer0-types:wson-path-label; 1600 } 1601 } 1603 /* Augment label hop of path-route of secondary LSP */ 1604 augment "/te:te/te:tunnels/te:tunnel/" 1605 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 1606 + "te:lsps/te:lsp/te:path-properties/" 1607 + "te:path-route-objects/" 1608 + "te:path-computed-route-object/te:type/te:label/" 1609 + "te:label-hop/te:te-label/te:technology" { 1610 description "WSON label."; 1611 case wson { 1612 uses layer0-types:wson-path-label; 1613 } 1614 } 1616 /* Augment label hop of record-route of LSP */ 1617 augment "/te:te/te:lsps-state/" 1618 + "te:lsp/te:lsp-record-route-information/" 1619 + "te:lsp-record-route-information/te:type/te:label/" 1620 + "te:label-hop/te:te-label/te:technology" { 1621 description "WSON label."; 1622 case wson { 1623 uses layer0-types:wson-path-label; 1624 } 1625 } 1627 augment "/te:tunnels-rpc/te:input/te:tunnel-info/" 1628 + "tepc:path-request" { 1629 description 1630 "Augment with additional constraints WSON 1631 tunnel."; 1632 uses wson-tunnel-attributes; 1633 uses wson-path-constraints; 1634 } 1635 } 1637 1639 5. Security Considerations 1641 The configuration, state, and action data defined in this document 1642 are designed to be accessed via a management protocol with a secure 1643 transport layer, such as NETCONF [RFC6241]. The NETCONF access 1644 control model [RFC8341] provides the means to restrict access for 1645 particular NETCONF users to a preconfigured subset of all available 1646 NETCONF protocol operations and content. 1648 There are a number of data nodes defined in this YANG module that are 1649 writable/creatable/deletable (i.e., config true, which is the 1650 default). These data nodes may be considered sensitive or vulnerable 1651 in some network environments. Write operations (e.g., edit-config) 1652 to these data nodes without proper protection can have a negative 1653 effect on network operations. These are the subtrees and data nodes 1654 and their sensitivity/vulnerability: 1656 /te:te/te:tunnels/te:tunnel /te:te/../te:te-bandwidth/te:technology 1657 /te:te/../te:type/te:label/te:label-hop/te:te-label/te:technology 1658 /te:te/../te:label-restrictions/te:label-restriction/te:label-start/ 1659 te:te-label/te:technology /te:te/../te:label-restrictions/te:label- 1660 restriction/te:label-end/te:te-label/te:technology 1661 /te:te/../te:label-restrictions/te:label-restriction/ Editors note: 1662 we are using simplified description by folding similar branches to 1663 avoid repetition. 1665 6. IANA Considerations 1667 It is proposed that IANA should assign new URIs from the "IETF XML 1668 Registry" [RFC3688] as follows: 1670 URI: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel 1671 Registrant Contact: The IESG 1672 XML: N/A; the requested URI is an XML namespace. 1674 This document registers following YANG modules in the YANG Module 1675 Names registry [RFC7950]. 1677 name: ietf-wson-tunnel 1678 namespace: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel 1679 prefix: wson-tunnel 1680 reference: RFC XXXX 1682 7. Acknowledgements 1684 TBD. 1686 8. Contributors 1688 Dhruv Dhody 1689 Huawei Technologies 1690 Email: dhruv.ietf@gmail.com 1692 Italo Busi 1693 Huawei Technologies 1694 Email: Italo.Busi@huawei.com 1696 9. References 1698 9.1. Normative References 1700 [I-D.ietf-ccamp-layer0-types] 1701 Zheng, H., Lee, Y., Guo, A., Lopezalvarez, V., and D. 1702 King, "A YANG Data Model for Layer 0 Types", draft-ietf- 1703 ccamp-layer0-types-03 (work in progress), November 2019. 1705 [I-D.ietf-ccamp-layer1-types] 1706 Zheng, H. and I. Busi, "A YANG Data Model for Layer 1 1707 Types", draft-ietf-ccamp-layer1-types-05 (work in 1708 progress), March 2020. 1710 [I-D.ietf-ccamp-wson-yang] 1711 Zheng, H., Lee, Y., Guo, A., Lopezalvarez, V., and D. 1712 King, "A YANG Data Model for WSON (Wavelength Switched 1713 Optical Networks)", draft-ietf-ccamp-wson-yang-23 (work in 1714 progress), November 2019. 1716 [I-D.ietf-teas-yang-path-computation] 1717 Busi, I., Belotti, S., Lopezalvarez, V., Sharma, A., and 1718 Y. Shi, "Yang model for requesting Path Computation", 1719 draft-ietf-teas-yang-path-computation-08 (work in 1720 progress), December 2019. 1722 [I-D.ietf-teas-yang-te] 1723 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 1724 "A YANG Data Model for Traffic Engineering Tunnels and 1725 Interfaces", draft-ietf-teas-yang-te-23 (work in 1726 progress), March 2020. 1728 [I-D.ietf-teas-yang-te-types] 1729 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 1730 "Traffic Engineering Common YANG Types", draft-ietf-teas- 1731 yang-te-types-13 (work in progress), November 2019. 1733 9.2. Informative References 1735 [I-D.ietf-ccamp-transport-nbi-app-statement] 1736 Busi, I., King, D., Zheng, H., and Y. Xu, "Transport 1737 Northbound Interface Applicability Statement", draft-ietf- 1738 ccamp-transport-nbi-app-statement-10 (work in progress), 1739 November 2019. 1741 [I-D.ietf-teas-actn-yang] 1742 Lee, Y., Zheng, H., Ceccarelli, D., Yoon, B., Dios, O., 1743 Shin, J., and S. Belotti, "Applicability of YANG models 1744 for Abstraction and Control of Traffic Engineered 1745 Networks", draft-ietf-teas-actn-yang-05 (work in 1746 progress), February 2020. 1748 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1749 DOI 10.17487/RFC3688, January 2004, 1750 . 1752 [RFC6163] Lee, Y., Ed., Bernstein, G., Ed., and W. Imajuku, 1753 "Framework for GMPLS and Path Computation Element (PCE) 1754 Control of Wavelength Switched Optical Networks (WSONs)", 1755 RFC 6163, DOI 10.17487/RFC6163, April 2011, 1756 . 1758 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1759 and A. Bierman, Ed., "Network Configuration Protocol 1760 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1761 . 1763 [RFC7446] Lee, Y., Ed., Bernstein, G., Ed., Li, D., and W. Imajuku, 1764 "Routing and Wavelength Assignment Information Model for 1765 Wavelength Switched Optical Networks", RFC 7446, 1766 DOI 10.17487/RFC7446, February 2015, 1767 . 1769 [RFC7579] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and 1770 J. Han, "General Network Element Constraint Encoding for 1771 GMPLS-Controlled Networks", RFC 7579, 1772 DOI 10.17487/RFC7579, June 2015, 1773 . 1775 [RFC7581] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and 1776 J. Han, "Routing and Wavelength Assignment Information 1777 Encoding for Wavelength Switched Optical Networks", 1778 RFC 7581, DOI 10.17487/RFC7581, June 2015, 1779 . 1781 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1782 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1783 . 1785 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 1786 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 1787 . 1789 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 1790 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 1791 . 1793 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 1794 Access Control Model", STD 91, RFC 8341, 1795 DOI 10.17487/RFC8341, March 2018, 1796 . 1798 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 1799 and R. Wilton, "Network Management Datastore Architecture 1800 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 1801 . 1803 Authors' Addresses 1805 Young Lee 1806 Samsung 1807 Seoul 1808 South Korea 1810 Email: younglee.tx@gmail.com 1812 Haomian Zheng 1813 Huawei Technologies 1814 H1, Huawei Industrial Base, Songshan Lake 1815 Dongguan, Guangdong 523808 1816 China 1818 Email: zhenghaomian@huawei.com 1820 Aihua Guo 1821 Futurewei 1823 Email: aihuaguo.ietf@gmail.com 1825 Victor Lopez 1826 Telefonica 1828 Email: victor.lopezalvarez@telefonica.com 1830 Daniel King 1831 Univ. of Lancaster 1833 Email: d.king@lancaster.ac.uk 1835 Bin Yeong Yoon 1836 ETRI 1837 218 Gaijeongro, Yuseong-gu 1838 Daejeon 1839 Korea 1841 Email: byyun@etri.re.kr 1842 Ricard Vilalta 1843 CTTC 1845 Email: ricard.vilalta@cttc.es