idnits 2.17.1 draft-ietf-ccamp-otn-topo-yang-03.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 6 instances of too long lines in the document, the longest one being 8 characters in excess of 72. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 182: '... ODU type SHALL be advertised. For ...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 224 has weird spacing: '...du-type ide...' == Line 231 has weird spacing: '...du-type ide...' == Line 239 has weird spacing: '...du-type ide...' == Line 247 has weird spacing: '...du-type ide...' == Line 254 has weird spacing: '...du-type ide...' == (11 more instances...) -- The document date (June 15, 2018) is 2114 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 (-20) exists of draft-ietf-ccamp-otn-tunnel-model-01 == Outdated reference: A later version (-22) exists of draft-ietf-teas-yang-te-topo-16 == Outdated reference: A later version (-16) exists of draft-ietf-ccamp-flexigrid-yang-00 == Outdated reference: A later version (-28) exists of draft-ietf-ccamp-wson-yang-10 == Outdated reference: A later version (-11) exists of draft-ietf-teas-actn-yang-01 Summary: 2 errors (**), 0 flaws (~~), 12 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 CCAMP Working Group H. Zheng 3 Internet-Draft A. Guo 4 Intended status: Standards Track I. Busi 5 Expires: December 17, 2018 Huawei Technologies 6 A. Sharma 7 Google 8 X. Liu 9 Jabil 10 S. Belotti 11 Nokia 12 Y. Xu 13 CAICT 14 L. Wang 15 China Mobile 16 O. Gonzalez de Dios 17 Telefonica 18 June 15, 2018 20 A YANG Data Model for Optical Transport Network Topology 21 draft-ietf-ccamp-otn-topo-yang-03 23 Abstract 25 A transport network is a server-layer network designed to provide 26 connectivity services for a client-layer network to carry the client 27 traffic transparently across the server-layer network resources. A 28 transport network can be constructed from equipments utilizing any of 29 a number of different transport technologies such as the evolving 30 Optical Transport Networks (OTN) or packet transport as provided by 31 the MPLS-Transport Profile (MPLS-TP). 33 This document describes a YANG data model to describe the topologies 34 of an Optical Transport Network (OTN). It is independent of control 35 plane protocols and captures topological and resource related 36 information pertaining to OTN. This model enables clients, which 37 interact with a transport domain controller via a REST interface, for 38 OTN topology related operations such as obtaining the relevant 39 topology resource information. 41 Status of This Memo 43 This Internet-Draft is submitted in full conformance with the 44 provisions of BCP 78 and BCP 79. 46 Internet-Drafts are working documents of the Internet Engineering 47 Task Force (IETF). Note that other groups may also distribute 48 working documents as Internet-Drafts. The list of current Internet- 49 Drafts is at https://datatracker.ietf.org/drafts/current/. 51 Internet-Drafts are draft documents valid for a maximum of six months 52 and may be updated, replaced, or obsoleted by other documents at any 53 time. It is inappropriate to use Internet-Drafts as reference 54 material or to cite them other than as "work in progress." 56 This Internet-Draft will expire on December 17, 2018. 58 Copyright Notice 60 Copyright (c) 2018 IETF Trust and the persons identified as the 61 document authors. All rights reserved. 63 This document is subject to BCP 78 and the IETF Trust's Legal 64 Provisions Relating to IETF Documents 65 (https://trustee.ietf.org/license-info) in effect on the date of 66 publication of this document. Please review these documents 67 carefully, as they describe your rights and restrictions with respect 68 to this document. Code Components extracted from this document must 69 include Simplified BSD License text as described in Section 4.e of 70 the Trust Legal Provisions and are provided without warranty as 71 described in the Simplified BSD License. 73 Table of Contents 75 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 76 2. Terminology and Notations . . . . . . . . . . . . . . . . . . 3 77 3. YANG Data Model for OTN Topology . . . . . . . . . . . . . . 4 78 3.1. OTN Topology Data Model Overview . . . . . . . . . . . . 4 79 3.2. YANG Tree for OTN topology . . . . . . . . . . . . . . . 5 80 4. The YANG Code . . . . . . . . . . . . . . . . . . . . . . . . 20 81 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54 82 6. Manageability Considerations . . . . . . . . . . . . . . . . 54 83 7. Security Considerations . . . . . . . . . . . . . . . . . . . 54 84 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 55 85 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 55 86 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 55 87 10.1. Normative References . . . . . . . . . . . . . . . . . . 55 88 10.2. Informative References . . . . . . . . . . . . . . . . . 56 89 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57 91 1. Introduction 93 A transport network is a server-layer network designed to provide 94 connectivity services for a client-layer network to carry the client 95 traffic transparently across the server-layer network resources. A 96 transport network can be constructed of equipments utilizing any of a 97 number of different transport technologies such as the Optical 98 Transport Networks (OTN) or packet transport as provided by the MPLS- 99 Transport Profile (MPLS-TP). 101 This document defines a data model of an OTN network topology, using 102 YANG [RFC7950]. The model can be used by an application exposing to 103 a transport controller via a REST interface. Furthermore, it can be 104 used by an application for the following purposes (but not limited 105 to): 107 o To obtain a whole view of the network topology information of its 108 interest; 110 o To receive notifications with regard to the information change of 111 the OTN topology; 113 o To enforce the establishment and update of a network topology with 114 the characteristic specified in the data model, e.g., by a client 115 controller; 117 The YANG model defined in this document is independent of control 118 plane protocols and captures topology related information pertaining 119 to an Optical Transport Networks (OTN)-electrical layer, as the scope 120 specified by [RFC7062] and [RFC7138]. Furthermore, it is not a 121 stand-alone model, but augmenting from the TE topology YANG model 122 defined in [I-D.ietf-teas-yang-te-topo]. Following TE topology YANG 123 model, the YANG model defined in this document is interface 124 independent. The applicability of models to interfaces is described 125 in [I-D.ietf-teas-actn-yang]. 127 Optical network technologies, including fixed Dense Wavelength 128 Switched Optical Network (WSON) and flexible optical networks 129 (a.k.a., flexi-grid networks), are covered in 130 [I-D.ietf-ccamp-wson-yang] and [I-D.ietf-ccamp-flexigrid-yang], 131 respectively. 133 2. Terminology and Notations 135 A simplified graphical representation of the data model is used in 136 this document. The meaning of the symbols in the YANG data tree 137 presented later in this document is defined in 138 [I-D.ietf-netmod-yang-tree-diagrams]. They are provided below for 139 reference. 141 o Brackets "[" and "]" enclose list keys. 143 o Abbreviations before data node names: "rw" means configuration 144 (read-write) and "ro" state data (read-only). 146 o Symbols after data node names: "?" means an optional node, "!" 147 means a presence container, and "*" denotes a list and leaf-list. 149 o Parentheses enclose choice and case nodes, and case nodes are also 150 marked with a colon (":"). 152 o Ellipsis ("...") stands for contents of subtrees that are not 153 shown. 155 3. YANG Data Model for OTN Topology 157 3.1. OTN Topology Data Model Overview 159 As can be seen, from the data tree shown in Section 3.1, the YANG 160 module presented in this document augments from a more generic 161 Traffic Engineered (TE) network topology data model, i.e., the ietf- 162 te-topology.yang as specified in [I-D.ietf-teas-yang-te-topo]. In 163 section 6 of [I-D.ietf-teas-yang-te-topo], the guideline for 164 augmenting TE topology model was provided, and in this draft we 165 respetively augment the OTN attributes, TE bandwidth and TE label. 167 The entities and TE attributes, such as node, termination points and 168 links, are still applicable for describing an OTN topology and the 169 model presented in this document only specifies with technology- 170 specific attributes/information. In OTN attributes augmentation, 171 mainly OTN-specific parameters are included such as Tributary Slot 172 Granularity (TSG), payload type and so on. 174 For different order of ODU in OTN technology, the te-bandwidth is 175 augmented to allow specifying the type of ODU container and the 176 number a link can support per priority level. For example, for a 177 ODU3 link, it may advertise 32*ODU0, 16*ODU1, 4*ODU2 available, 178 assuming only a single priority level is supported. If one of ODU2 179 resource is taken to establish a ODU path, then the availability of 180 this ODU link is updated as 24*ODU0, 12*ODU1, 3*ODU2 available. If 181 there are equipment hardware limitations, then a subset of potential 182 ODU type SHALL be advertised. For instance, an ODU3 link may only 183 support 4*ODU2. 185 The types of OTN label can be divided into the tributary ports and 186 the tributary slots, represented by TPN or TS list respectively. In 187 the TE-label augmentation, two optional label formats are available 188 for label representation. 190 Note the model in this document re-uses some attributes defined in 191 ietf-otn-types.yang, which is specified in 192 [I-D.ietf-ccamp-otn-tunnel-model]. 194 3.2. YANG Tree for OTN topology 196 The following OTN specific attributes have been augmented to TE 197 topology models. 199 module: ietf-otn-topology 200 augment /nw:networks/nw:network/nw:network-types/tet:te-topology: 201 +--rw otn-topology! 202 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes: 203 +--rw tsg? identityref 204 +--rw distance? uint32 205 augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te: 206 +--rw supported-payload-types* [index] 207 | +--rw index uint16 208 | +--rw payload-type? string 209 +--rw client-facing? boolean 211 The technology specific TE bandwidth for OTN topology can be specified 212 using the following augment statements: 214 augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te 215 /tet:interface-switching-capability/tet:max-lsp-bandwidth 216 /tet:te-bandwidth/tet:technology: 217 +--:(otn) 218 +--rw odu-type? identityref 219 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 220 /tet:connectivity-matrices/tet:path-constraints 221 /tet:te-bandwidth/tet:technology: 222 +--:(otn) 223 +--rw odulist* [odu-type] 224 +--rw odu-type identityref 225 +--rw number? uint16 226 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 227 /tet:connectivity-matrices/tet:connectivity-matrix 228 /tet:path-constraints/tet:te-bandwidth/tet:technology: 229 +--:(otn) 230 +--rw odulist* [odu-type] 231 +--rw odu-type identityref 232 +--rw number? uint16 233 augment /nw:networks/nw:network/nw:node/tet:te 234 /tet:information-source-entry/tet:connectivity-matrices 235 /tet:path-constraints/tet:te-bandwidth/tet:technology: 237 +--:(otn) 238 +--ro odulist* [odu-type] 239 +--ro odu-type identityref 240 +--ro number? uint16 241 augment /nw:networks/nw:network/nw:node/tet:te 242 /tet:information-source-entry/tet:connectivity-matrices 243 /tet:connectivity-matrix/tet:path-constraints 244 /tet:te-bandwidth/tet:technology: 245 +--:(otn) 246 +--ro odulist* [odu-type] 247 +--ro odu-type identityref 248 +--ro number? uint16 249 augment /nw:networks/nw:network/nw:node/tet:te 250 /tet:tunnel-termination-point/tet:client-layer-adaptation 251 /tet:switching-capability/tet:te-bandwidth/tet:technology: 252 +--:(otn) 253 +--rw odulist* [odu-type] 254 +--rw odu-type identityref 255 +--rw number? uint16 256 augment /nw:networks/nw:network/nw:node/tet:te 257 /tet:tunnel-termination-point/tet:local-link-connectivities 258 /tet:path-constraints/tet:te-bandwidth/tet:technology: 259 +--:(otn) 260 +--rw odulist* [odu-type] 261 +--rw odu-type identityref 262 +--rw number? uint16 263 augment /nw:networks/nw:network/nw:node/tet:te 264 /tet:tunnel-termination-point/tet:local-link-connectivities 265 /tet:local-link-connectivity/tet:path-constraints 266 /tet:te-bandwidth/tet:technology: 267 +--:(otn) 268 +--rw odulist* [odu-type] 269 +--rw odu-type identityref 270 +--rw number? uint16 271 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 272 /tet:interface-switching-capability/tet:max-lsp-bandwidth 273 /tet:te-bandwidth/tet:technology: 274 +--:(otn) 275 +--rw odu-type? identityref 276 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 277 /tet:max-link-bandwidth/tet:te-bandwidth/tet:technology: 278 +--:(otn) 279 +--rw odulist* [odu-type] 280 +--rw odu-type identityref 281 +--rw number? uint16 282 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 283 /tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology: 284 +--:(otn) 285 +--rw odulist* [odu-type] 286 +--rw odu-type identityref 287 +--rw number? uint16 288 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 289 /tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: 290 +--:(otn) 291 +--rw odulist* [odu-type] 292 +--rw odu-type identityref 293 +--rw number? uint16 294 augment /nw:networks/nw:network/nt:link/tet:te 295 /tet:information-source-entry 296 /tet:interface-switching-capability/tet:max-lsp-bandwidth 297 /tet:te-bandwidth/tet:technology: 298 +--:(otn) 299 +--ro odu-type? identityref 300 augment /nw:networks/nw:network/nt:link/tet:te 301 /tet:information-source-entry/tet:max-link-bandwidth 302 /tet:te-bandwidth/tet:technology: 303 +--:(otn) 304 +--ro odulist* [odu-type] 305 +--ro odu-type identityref 306 +--ro number? uint16 307 augment /nw:networks/nw:network/nt:link/tet:te 308 /tet:information-source-entry/tet:max-resv-link-bandwidth 309 /tet:te-bandwidth/tet:technology: 310 +--:(otn) 311 +--ro odulist* [odu-type] 312 +--ro odu-type identityref 313 +--ro number? uint16 314 augment /nw:networks/nw:network/nt:link/tet:te 315 /tet:information-source-entry/tet:unreserved-bandwidth 316 /tet:te-bandwidth/tet:technology: 317 +--:(otn) 318 +--ro odulist* [odu-type] 319 +--ro odu-type identityref 320 +--ro number? uint16 321 augment /nw:networks/tet:te/tet:templates/tet:link-template 322 /tet:te-link-attributes/tet:interface-switching-capability 323 /tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology: 324 +--:(otn) 325 +--rw odu-type? identityref 326 augment /nw:networks/tet:te/tet:templates/tet:link-template 327 /tet:te-link-attributes/tet:max-link-bandwidth 328 /tet:te-bandwidth/tet:technology: 329 +--:(otn) 330 +--rw odulist* [odu-type] 331 +--rw odu-type identityref 332 +--rw number? uint16 334 augment /nw:networks/tet:te/tet:templates/tet:link-template 335 /tet:te-link-attributes/tet:max-resv-link-bandwidth 336 /tet:te-bandwidth/tet:technology: 337 +--:(otn) 338 +--rw odulist* [odu-type] 339 +--rw odu-type identityref 340 +--rw number? uint16 341 augment /nw:networks/tet:te/tet:templates/tet:link-template 342 /tet:te-link-attributes/tet:unreserved-bandwidth 343 /tet:te-bandwidth/tet:technology: 344 +--:(otn) 345 +--rw odulist* [odu-type] 346 +--rw odu-type identityref 347 +--rw number? uint16 348 augment /nw:networks/nw:network/nw:node/tet:te 349 /tet:te-node-attributes/tet:connectivity-matrices 350 /tet:label-restriction: 351 +--rw range-type? identityref 352 +--rw tsg? identityref 353 +--rw priority? uint8 355 The technology specific TE label for this OTN topology can be specified 356 using the following augment statements: 358 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 359 /tet:connectivity-matrices/tet:label-restriction 360 /tet:label-start/tet:te-label/tet:technology: 361 +--:(otn) 362 +--rw (otn-label-type)? 363 +--:(tributary-port) 364 | +--rw tpn? uint16 365 +--:(tributary-slot) 366 +--rw ts? uint16 367 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 368 /tet:connectivity-matrices/tet:label-restriction 369 /tet:label-end/tet:te-label/tet:technology: 370 +--:(otn) 371 +--rw (otn-label-type)? 372 +--:(tributary-port) 373 | +--rw tpn? uint16 374 +--:(tributary-slot) 375 +--rw ts? uint16 376 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 377 /tet:connectivity-matrices/tet:underlay/tet:primary-path 378 /tet:path-element/tet:type/tet:label/tet:label-hop 379 /tet:te-label/tet:technology: 380 +--:(otn) 381 +--rw tpn? uint16 382 +--rw tsg? identityref 383 +--rw ts-list? string 384 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 385 /tet:connectivity-matrices/tet:underlay/tet:backup-path 386 /tet:path-element/tet:type/tet:label/tet:label-hop 387 /tet:te-label/tet:technology: 388 +--:(otn) 389 +--rw tpn? uint16 390 +--rw tsg? identityref 391 +--rw ts-list? string 392 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 393 /tet:connectivity-matrices/tet:optimizations/tet:algorithm 394 /tet:metric/tet:optimization-metric 395 /tet:explicit-route-exclude-objects 396 /tet:route-object-exclude-object/tet:type/tet:label 397 /tet:label-hop/tet:te-label/tet:technology: 398 +--:(otn) 399 +--rw tpn? uint16 400 +--rw tsg? identityref 401 +--rw ts-list? string 402 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 403 /tet:connectivity-matrices/tet:optimizations/tet:algorithm 404 /tet:metric/tet:optimization-metric 405 /tet:explicit-route-include-objects 406 /tet:route-object-include-object/tet:type/tet:label 407 /tet:label-hop/tet:te-label/tet:technology: 408 +--:(otn) 409 +--rw tpn? uint16 410 +--rw tsg? identityref 411 +--rw ts-list? string 412 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 413 /tet:connectivity-matrices/tet:path-properties 414 /tet:path-route-objects/tet:path-route-object/tet:type 415 /tet:label/tet:label-hop/tet:te-label/tet:technology: 416 +--:(otn) 417 +--ro tpn? uint16 418 +--ro tsg? identityref 419 +--ro ts-list? string 420 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 421 /tet:connectivity-matrices/tet:connectivity-matrix 422 /tet:from/tet:label-restriction: 423 +--rw range-type? identityref 424 +--rw tsg? identityref 425 +--rw priority? uint8 426 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 427 /tet:connectivity-matrices/tet:connectivity-matrix/tet:from 428 /tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 429 +--:(otn) 430 +--rw (otn-label-type)? 431 +--:(tributary-port) 432 | +--rw tpn? uint16 433 +--:(tributary-slot) 434 +--rw ts? uint16 435 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 436 /tet:connectivity-matrices/tet:connectivity-matrix/tet:from 437 /tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 438 +--:(otn) 439 +--rw (otn-label-type)? 440 +--:(tributary-port) 441 | +--rw tpn? uint16 442 +--:(tributary-slot) 443 +--rw ts? uint16 444 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 445 /tet:connectivity-matrices/tet:connectivity-matrix/tet:to 446 /tet:label-restriction: 447 +--rw range-type? identityref 448 +--rw tsg? identityref 449 +--rw priority? uint8 450 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 451 /tet:connectivity-matrices/tet:connectivity-matrix/tet:to 452 /tet:label-restriction/tet:label-start/tet:te-label 453 /tet:technology: 454 +--:(otn) 455 +--rw (otn-label-type)? 456 +--:(tributary-port) 457 | +--rw tpn? uint16 458 +--:(tributary-slot) 459 +--rw ts? uint16 460 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 461 /tet:connectivity-matrices/tet:connectivity-matrix/tet:to 462 /tet:label-restriction/tet:label-end/tet:te-label 463 /tet:technology: 464 +--:(otn) 465 +--rw (otn-label-type)? 466 +--:(tributary-port) 467 | +--rw tpn? uint16 468 +--:(tributary-slot) 469 +--rw ts? uint16 470 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 471 /tet:connectivity-matrices/tet:connectivity-matrix 472 /tet:underlay/tet:primary-path/tet:path-element/tet:type 473 /tet:label/tet:label-hop/tet:te-label/tet:technology: 474 +--:(otn) 475 +--rw tpn? uint16 476 +--rw tsg? identityref 477 +--rw ts-list? string 479 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 480 /tet:connectivity-matrices/tet:connectivity-matrix 481 /tet:underlay/tet:backup-path/tet:path-element/tet:type 482 /tet:label/tet:label-hop/tet:te-label/tet:technology: 483 +--:(otn) 484 +--rw tpn? uint16 485 +--rw tsg? identityref 486 +--rw ts-list? string 487 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 488 /tet:connectivity-matrices/tet:connectivity-matrix 489 /tet:optimizations/tet:algorithm/tet:metric 490 /tet:optimization-metric/tet:explicit-route-exclude-objects 491 /tet:route-object-exclude-object/tet:type/tet:label 492 /tet:label-hop/tet:te-label/tet:technology: 493 +--:(otn) 494 +--rw tpn? uint16 495 +--rw tsg? identityref 496 +--rw ts-list? string 497 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 498 /tet:connectivity-matrices/tet:connectivity-matrix 499 /tet:optimizations/tet:algorithm/tet:metric 500 /tet:optimization-metric/tet:explicit-route-include-objects 501 /tet:route-object-include-object/tet:type/tet:label 502 /tet:label-hop/tet:te-label/tet:technology: 503 +--:(otn) 504 +--rw tpn? uint16 505 +--rw tsg? identityref 506 +--rw ts-list? string 507 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 508 /tet:connectivity-matrices/tet:connectivity-matrix 509 /tet:path-properties/tet:path-route-objects 510 /tet:path-route-object/tet:type/tet:label/tet:label-hop 511 /tet:te-label/tet:technology: 512 +--:(otn) 513 +--ro tpn? uint16 514 +--ro tsg? identityref 515 +--ro ts-list? string 516 augment /nw:networks/nw:network/nw:node/tet:te 517 /tet:information-source-entry/tet:connectivity-matrices 518 /tet:label-restriction: 519 +--ro range-type? identityref 520 +--ro tsg? identityref 521 +--ro priority? uint8 522 augment /nw:networks/nw:network/nw:node/tet:te 523 /tet:information-source-entry/tet:connectivity-matrices 524 /tet:label-restriction/tet:label-start/tet:te-label 525 /tet:technology: 526 +--:(otn) 527 +--ro (otn-label-type)? 528 +--:(tributary-port) 529 | +--ro tpn? uint16 530 +--:(tributary-slot) 531 +--ro ts? uint16 532 augment /nw:networks/nw:network/nw:node/tet:te 533 /tet:information-source-entry/tet:connectivity-matrices 534 /tet:label-restriction/tet:label-end/tet:te-label 535 /tet:technology: 536 +--:(otn) 537 +--ro (otn-label-type)? 538 +--:(tributary-port) 539 | +--ro tpn? uint16 540 +--:(tributary-slot) 541 +--ro ts? uint16 542 augment /nw:networks/nw:network/nw:node/tet:te 543 /tet:information-source-entry/tet:connectivity-matrices 544 /tet:underlay/tet:primary-path/tet:path-element/tet:type 545 /tet:label/tet:label-hop/tet:te-label/tet:technology: 546 +--:(otn) 547 +--ro tpn? uint16 548 +--ro tsg? identityref 549 +--ro ts-list? string 550 augment /nw:networks/nw:network/nw:node/tet:te 551 /tet:information-source-entry/tet:connectivity-matrices 552 /tet:underlay/tet:backup-path/tet:path-element/tet:type 553 /tet:label/tet:label-hop/tet:te-label/tet:technology: 554 +--:(otn) 555 +--ro tpn? uint16 556 +--ro tsg? identityref 557 +--ro ts-list? string 558 augment /nw:networks/nw:network/nw:node/tet:te 559 /tet:information-source-entry/tet:connectivity-matrices 560 /tet:optimizations/tet:algorithm/tet:metric 561 /tet:optimization-metric/tet:explicit-route-exclude-objects 562 /tet:route-object-exclude-object/tet:type/tet:label 563 /tet:label-hop/tet:te-label/tet:technology: 564 +--:(otn) 565 +--ro tpn? uint16 566 +--ro tsg? identityref 567 +--ro ts-list? string 568 augment /nw:networks/nw:network/nw:node/tet:te 569 /tet:information-source-entry/tet:connectivity-matrices 570 /tet:optimizations/tet:algorithm/tet:metric 571 /tet:optimization-metric/tet:explicit-route-include-objects 572 /tet:route-object-include-object/tet:type/tet:label 573 /tet:label-hop/tet:te-label/tet:technology: 574 +--:(otn) 575 +--ro tpn? uint16 576 +--ro tsg? identityref 577 +--ro ts-list? string 578 augment /nw:networks/nw:network/nw:node/tet:te 579 /tet:information-source-entry/tet:connectivity-matrices 580 /tet:path-properties/tet:path-route-objects 581 /tet:path-route-object/tet:type/tet:label/tet:label-hop 582 /tet:te-label/tet:technology: 583 +--:(otn) 584 +--ro tpn? uint16 585 +--ro tsg? identityref 586 +--ro ts-list? string 587 augment /nw:networks/nw:network/nw:node/tet:te 588 /tet:information-source-entry/tet:connectivity-matrices 589 /tet:connectivity-matrix/tet:from/tet:label-restriction: 590 +--ro range-type? identityref 591 +--ro tsg? identityref 592 +--ro priority? uint8 593 augment /nw:networks/nw:network/nw:node/tet:te 594 /tet:information-source-entry/tet:connectivity-matrices 595 /tet:connectivity-matrix/tet:from/tet:label-restriction 596 /tet:label-start/tet:te-label/tet:technology: 597 +--:(otn) 598 +--ro (otn-label-type)? 599 +--:(tributary-port) 600 | +--ro tpn? uint16 601 +--:(tributary-slot) 602 +--ro ts? uint16 603 augment /nw:networks/nw:network/nw:node/tet:te 604 /tet:information-source-entry/tet:connectivity-matrices 605 /tet:connectivity-matrix/tet:from/tet:label-restriction 606 /tet:label-end/tet:te-label/tet:technology: 607 +--:(otn) 608 +--ro (otn-label-type)? 609 +--:(tributary-port) 610 | +--ro tpn? uint16 611 +--:(tributary-slot) 612 +--ro ts? uint16 613 augment /nw:networks/nw:network/nw:node/tet:te 614 /tet:information-source-entry/tet:connectivity-matrices 615 /tet:connectivity-matrix/tet:to/tet:label-restriction: 616 +--ro range-type? identityref 617 +--ro tsg? identityref 618 +--ro priority? uint8 619 augment /nw:networks/nw:network/nw:node/tet:te 620 /tet:information-source-entry/tet:connectivity-matrices 621 /tet:connectivity-matrix/tet:to/tet:label-restriction 622 /tet:label-start/tet:te-label/tet:technology: 624 +--:(otn) 625 +--ro (otn-label-type)? 626 +--:(tributary-port) 627 | +--ro tpn? uint16 628 +--:(tributary-slot) 629 +--ro ts? uint16 630 augment /nw:networks/nw:network/nw:node/tet:te 631 /tet:information-source-entry/tet:connectivity-matrices 632 /tet:connectivity-matrix/tet:to/tet:label-restriction 633 /tet:label-end/tet:te-label/tet:technology: 634 +--:(otn) 635 +--ro (otn-label-type)? 636 +--:(tributary-port) 637 | +--ro tpn? uint16 638 +--:(tributary-slot) 639 +--ro ts? uint16 640 augment /nw:networks/nw:network/nw:node/tet:te 641 /tet:information-source-entry/tet:connectivity-matrices 642 /tet:connectivity-matrix/tet:underlay/tet:primary-path 643 /tet:path-element/tet:type/tet:label/tet:label-hop 644 /tet:te-label/tet:technology: 645 +--:(otn) 646 +--ro tpn? uint16 647 +--ro tsg? identityref 648 +--ro ts-list? string 649 augment /nw:networks/nw:network/nw:node/tet:te 650 /tet:information-source-entry/tet:connectivity-matrices 651 /tet:connectivity-matrix/tet:underlay/tet:backup-path 652 /tet:path-element/tet:type/tet:label/tet:label-hop 653 /tet:te-label/tet:technology: 654 +--:(otn) 655 +--ro tpn? uint16 656 +--ro tsg? identityref 657 +--ro ts-list? string 658 augment /nw:networks/nw:network/nw:node/tet:te 659 /tet:information-source-entry/tet:connectivity-matrices 660 /tet:connectivity-matrix/tet:optimizations/tet:algorithm 661 /tet:metric/tet:optimization-metric 662 /tet:explicit-route-exclude-objects 663 /tet:route-object-exclude-object/tet:type/tet:label 664 /tet:label-hop/tet:te-label/tet:technology: 665 +--:(otn) 666 +--ro tpn? uint16 667 +--ro tsg? identityref 668 +--ro ts-list? string 669 augment /nw:networks/nw:network/nw:node/tet:te 670 /tet:information-source-entry/tet:connectivity-matrices 671 /tet:connectivity-matrix/tet:optimizations/tet:algorithm 672 /tet:metric/tet:optimization-metric 673 /tet:explicit-route-include-objects 674 /tet:route-object-include-object/tet:type/tet:label 675 /tet:label-hop/tet:te-label/tet:technology: 676 +--:(otn) 677 +--ro tpn? uint16 678 +--ro tsg? identityref 679 +--ro ts-list? string 680 augment /nw:networks/nw:network/nw:node/tet:te 681 /tet:information-source-entry/tet:connectivity-matrices 682 /tet:connectivity-matrix/tet:path-properties 683 /tet:path-route-objects/tet:path-route-object/tet:type 684 /tet:label/tet:label-hop/tet:te-label/tet:technology: 685 +--:(otn) 686 +--ro tpn? uint16 687 +--ro tsg? identityref 688 +--ro ts-list? string 689 augment /nw:networks/nw:network/nw:node/tet:te 690 /tet:tunnel-termination-point/tet:local-link-connectivities 691 /tet:label-restriction: 692 +--rw range-type? identityref 693 +--rw tsg? identityref 694 +--rw priority? uint8 695 augment /nw:networks/nw:network/nw:node/tet:te 696 /tet:tunnel-termination-point/tet:local-link-connectivities 697 /tet:label-restriction/tet:label-start/tet:te-label 698 /tet:technology: 699 +--:(otn) 700 +--rw (otn-label-type)? 701 +--:(tributary-port) 702 | +--rw tpn? uint16 703 +--:(tributary-slot) 704 +--rw ts? uint16 705 augment /nw:networks/nw:network/nw:node/tet:te 706 /tet:tunnel-termination-point/tet:local-link-connectivities 707 /tet:label-restriction/tet:label-end/tet:te-label 708 /tet:technology: 709 +--:(otn) 710 +--rw (otn-label-type)? 711 +--:(tributary-port) 712 | +--rw tpn? uint16 713 +--:(tributary-slot) 714 +--rw ts? uint16 715 augment /nw:networks/nw:network/nw:node/tet:te 716 /tet:tunnel-termination-point/tet:local-link-connectivities 717 /tet:underlay/tet:primary-path/tet:path-element/tet:type 718 /tet:label/tet:label-hop/tet:te-label/tet:technology: 719 +--:(otn) 720 +--rw tpn? uint16 721 +--rw tsg? identityref 722 +--rw ts-list? string 723 augment /nw:networks/nw:network/nw:node/tet:te 724 /tet:tunnel-termination-point/tet:local-link-connectivities 725 /tet:underlay/tet:backup-path/tet:path-element/tet:type 726 /tet:label/tet:label-hop/tet:te-label/tet:technology: 727 +--:(otn) 728 +--rw tpn? uint16 729 +--rw tsg? identityref 730 +--rw ts-list? string 731 augment /nw:networks/nw:network/nw:node/tet:te 732 /tet:tunnel-termination-point/tet:local-link-connectivities 733 /tet:optimizations/tet:algorithm/tet:metric 734 /tet:optimization-metric/tet:explicit-route-exclude-objects 735 /tet:route-object-exclude-object/tet:type/tet:label 736 /tet:label-hop/tet:te-label/tet:technology: 737 +--:(otn) 738 +--rw tpn? uint16 739 +--rw tsg? identityref 740 +--rw ts-list? string 741 augment /nw:networks/nw:network/nw:node/tet:te 742 /tet:tunnel-termination-point/tet:local-link-connectivities 743 /tet:optimizations/tet:algorithm/tet:metric 744 /tet:optimization-metric/tet:explicit-route-include-objects 745 /tet:route-object-include-object/tet:type/tet:label 746 /tet:label-hop/tet:te-label/tet:technology: 747 +--:(otn) 748 +--rw tpn? uint16 749 +--rw tsg? identityref 750 +--rw ts-list? string 751 augment /nw:networks/nw:network/nw:node/tet:te 752 /tet:tunnel-termination-point/tet:local-link-connectivities 753 /tet:path-properties/tet:path-route-objects 754 /tet:path-route-object/tet:type/tet:label/tet:label-hop 755 /tet:te-label/tet:technology: 756 +--:(otn) 757 +--ro tpn? uint16 758 +--ro tsg? identityref 759 +--ro ts-list? string 760 augment /nw:networks/nw:network/nw:node/tet:te 761 /tet:tunnel-termination-point/tet:local-link-connectivities 762 /tet:local-link-connectivity/tet:label-restriction: 763 +--rw range-type? identityref 764 +--rw tsg? identityref 765 +--rw priority? uint8 766 augment /nw:networks/nw:network/nw:node/tet:te 767 /tet:tunnel-termination-point/tet:local-link-connectivities 768 /tet:local-link-connectivity/tet:label-restriction 769 /tet:label-start/tet:te-label/tet:technology: 770 +--:(otn) 771 +--rw (otn-label-type)? 772 +--:(tributary-port) 773 | +--rw tpn? uint16 774 +--:(tributary-slot) 775 +--rw ts? uint16 776 augment /nw:networks/nw:network/nw:node/tet:te 777 /tet:tunnel-termination-point/tet:local-link-connectivities 778 /tet:local-link-connectivity/tet:label-restriction 779 /tet:label-end/tet:te-label/tet:technology: 780 +--:(otn) 781 +--rw (otn-label-type)? 782 +--:(tributary-port) 783 | +--rw tpn? uint16 784 +--:(tributary-slot) 785 +--rw ts? uint16 786 augment /nw:networks/nw:network/nw:node/tet:te 787 /tet:tunnel-termination-point/tet:local-link-connectivities 788 /tet:local-link-connectivity/tet:underlay/tet:primary-path 789 /tet:path-element/tet:type/tet:label/tet:label-hop 790 /tet:te-label/tet:technology: 791 +--:(otn) 792 +--rw tpn? uint16 793 +--rw tsg? identityref 794 +--rw ts-list? string 795 augment /nw:networks/nw:network/nw:node/tet:te 796 /tet:tunnel-termination-point/tet:local-link-connectivities 797 /tet:local-link-connectivity/tet:underlay/tet:backup-path 798 /tet:path-element/tet:type/tet:label/tet:label-hop 799 /tet:te-label/tet:technology: 800 +--:(otn) 801 +--rw tpn? uint16 802 +--rw tsg? identityref 803 +--rw ts-list? string 804 augment /nw:networks/nw:network/nw:node/tet:te 805 /tet:tunnel-termination-point/tet:local-link-connectivities 806 /tet:local-link-connectivity/tet:optimizations/tet:algorithm 807 /tet:metric/tet:optimization-metric 808 /tet:explicit-route-exclude-objects 809 /tet:route-object-exclude-object/tet:type/tet:label 810 /tet:label-hop/tet:te-label/tet:technology: 811 +--:(otn) 812 +--rw tpn? uint16 813 +--rw tsg? identityref 814 +--rw ts-list? string 815 augment /nw:networks/nw:network/nw:node/tet:te 816 /tet:tunnel-termination-point/tet:local-link-connectivities 817 /tet:local-link-connectivity/tet:optimizations/tet:algorithm 818 /tet:metric/tet:optimization-metric 819 /tet:explicit-route-include-objects 820 /tet:route-object-include-object/tet:type/tet:label 821 /tet:label-hop/tet:te-label/tet:technology: 822 +--:(otn) 823 +--rw tpn? uint16 824 +--rw tsg? identityref 825 +--rw ts-list? string 826 augment /nw:networks/nw:network/nw:node/tet:te 827 /tet:tunnel-termination-point/tet:local-link-connectivities 828 /tet:local-link-connectivity/tet:path-properties 829 /tet:path-route-objects/tet:path-route-object/tet:type 830 /tet:label/tet:label-hop/tet:te-label/tet:technology: 831 +--:(otn) 832 +--ro tpn? uint16 833 +--ro tsg? identityref 834 +--ro ts-list? string 835 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 836 /tet:underlay/tet:primary-path/tet:path-element/tet:type 837 /tet:label/tet:label-hop/tet:te-label/tet:technology: 838 +--:(otn) 839 +--rw tpn? uint16 840 +--rw tsg? identityref 841 +--rw ts-list? string 842 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 843 /tet:underlay/tet:backup-path/tet:path-element/tet:type 844 /tet:label/tet:label-hop/tet:te-label/tet:technology: 845 +--:(otn) 846 +--rw tpn? uint16 847 +--rw tsg? identityref 848 +--rw ts-list? string 849 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 850 /tet:label-restriction: 851 +--rw range-type? identityref 852 +--rw tsg? identityref 853 +--rw priority? uint8 854 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 855 /tet:label-restriction/tet:label-start/tet:te-label 856 /tet:technology: 857 +--:(otn) 858 +--rw (otn-label-type)? 859 +--:(tributary-port) 860 | +--rw tpn? uint16 861 +--:(tributary-slot) 862 +--rw ts? uint16 863 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 864 /tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 865 +--:(otn) 866 +--rw (otn-label-type)? 867 +--:(tributary-port) 868 | +--rw tpn? uint16 869 +--:(tributary-slot) 870 +--rw ts? uint16 871 augment /nw:networks/nw:network/nt:link/tet:te 872 /tet:information-source-entry/tet:label-restriction: 873 +--ro range-type? identityref 874 +--ro tsg? identityref 875 +--ro priority? uint8 876 augment /nw:networks/nw:network/nt:link/tet:te 877 /tet:information-source-entry/tet:label-restriction 878 /tet:label-start/tet:te-label/tet:technology: 879 +--:(otn) 880 +--ro (otn-label-type)? 881 +--:(tributary-port) 882 | +--ro tpn? uint16 883 +--:(tributary-slot) 884 +--ro ts? uint16 885 augment /nw:networks/nw:network/nt:link/tet:te 886 /tet:information-source-entry/tet:label-restriction 887 /tet:label-end/tet:te-label/tet:technology: 888 +--:(otn) 889 +--ro (otn-label-type)? 890 +--:(tributary-port) 891 | +--ro tpn? uint16 892 +--:(tributary-slot) 893 +--ro ts? uint16 894 augment /nw:networks/tet:te/tet:templates/tet:link-template 895 /tet:te-link-attributes/tet:underlay/tet:primary-path 896 /tet:path-element/tet:type/tet:label/tet:label-hop 897 /tet:te-label/tet:technology: 898 +--:(otn) 899 +--rw tpn? uint16 900 +--rw tsg? identityref 901 +--rw ts-list? string 902 augment /nw:networks/tet:te/tet:templates/tet:link-template 903 /tet:te-link-attributes/tet:underlay/tet:backup-path 904 /tet:path-element/tet:type/tet:label/tet:label-hop 905 /tet:te-label/tet:technology: 906 +--:(otn) 907 +--rw tpn? uint16 908 +--rw tsg? identityref 909 +--rw ts-list? string 910 augment /nw:networks/tet:te/tet:templates/tet:link-template 911 /tet:te-link-attributes/tet:label-restriction: 913 +--rw range-type? identityref 914 +--rw tsg? identityref 915 +--rw priority? uint8 916 augment /nw:networks/tet:te/tet:templates/tet:link-template 917 /tet:te-link-attributes/tet:label-restriction 918 /tet:label-start/tet:te-label/tet:technology: 919 +--:(otn) 920 +--rw (otn-label-type)? 921 +--:(tributary-port) 922 | +--rw tpn? uint16 923 +--:(tributary-slot) 924 +--rw ts? uint16 925 augment /nw:networks/tet:te/tet:templates/tet:link-template 926 /tet:te-link-attributes/tet:label-restriction/tet:label-end 927 /tet:te-label/tet:technology: 928 +--:(otn) 929 +--rw (otn-label-type)? 930 +--:(tributary-port) 931 | +--rw tpn? uint16 932 +--:(tributary-slot) 933 +--rw ts? uint16 935 4. The YANG Code 937 file "ietf-otn-topology.yang" 939 module ietf-otn-topology { 940 yang-version 1.1; 942 namespace "urn:ietf:params:xml:ns:yang:ietf-otn-topology"; 943 prefix "otntopo"; 945 import ietf-network { 946 prefix "nw"; 947 } 949 import ietf-network-topology { 950 prefix "nt"; 951 } 953 import ietf-te-topology { 954 prefix "tet"; 955 } 956 import ietf-otn-types { 957 prefix "otn-types"; 958 } 960 organization 961 "IETF CCAMP Working Group"; 962 contact 963 "WG Web: 964 WG List: 966 Editor: Haomian Zheng 967 969 Editor: Aihua Guo 970 972 Editor: Italo Busi 973 975 Editor: Anurag Sharma 976 978 Editor: Xufeng Liu 979 981 Editor: Sergio Belotti 982 984 Editor: Yunbin Xu 985 987 Editor: Lei Wang 988 990 Editor: Oscar Gonzalez de Dios 991 "; 993 description 994 "This module defines a protocol independent Layer 1/ODU topology 995 data model."; 997 revision 2018-06-07 { 998 description 999 "Revision 0.6"; 1000 reference 1001 "draft-ietf-ccamp-otn-topo-yang-03"; 1002 } 1004 /* 1005 * Groupings 1006 */ 1008 grouping otn-link-attributes { 1009 description "link attributes for OTN"; 1011 leaf tsg { 1012 type identityref { 1013 base otn-types:tributary-slot-granularity; 1014 } 1015 description "Tributary slot granularity."; 1016 reference 1017 "G.709/Y.1331, February 2016: Interfaces for the 1018 Optical Transport Network (OTN)"; 1019 } 1020 leaf distance { 1021 type uint32; 1022 description "distance in the unit of kilometers"; 1023 } 1024 } 1026 grouping otn-tp-attributes { 1027 description "tp attributes for OTN"; 1028 list supported-payload-types { 1029 key "index"; 1030 description 1031 "Supported payload types of a TP. The payload type is defined 1032 as the generalized PIDs in GMPLS."; 1033 leaf index { 1034 type uint16; 1035 description "payload type index"; 1036 } 1037 leaf payload-type { 1038 type string; 1039 description "the payload type supported by this client tp"; 1040 reference 1041 "http://www.iana.org/assignments/gmpls-sig-parameters 1042 /gmpls-sig-parameters.xhtml"; 1043 } 1044 } 1045 leaf client-facing { 1046 type boolean; 1047 default 'false'; 1048 description 1049 "Indicating if it is a client-facing TP."; 1050 } 1051 } 1053 /* 1054 * Data nodes 1055 */ 1057 augment "/nw:networks/nw:network/nw:network-types/" 1058 + "tet:te-topology" { 1059 container otn-topology { 1060 presence "indicates a topology type of Optical Transport 1061 Network (OTN)-electrical layer."; 1062 description "otn topology type"; 1063 } 1064 description "augment network types to include otn newtork"; 1065 } 1067 augment "/nw:networks/nw:network/nt:link/tet:te/" 1068 + "tet:te-link-attributes" { 1069 when "../../../nw:network-types/tet:te-topology/" 1070 + "otntopo:otn-topology" { 1071 description "Augment only for otn network."; 1072 } 1073 description "Augment link configuration"; 1074 uses otn-link-attributes; 1075 } 1077 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 1078 + "tet:te" { 1079 when "../../../nw:network-types/tet:te-topology/" 1080 + "otntopo:otn-topology" { 1081 description "Augment only for otn network"; 1082 } 1083 description "OTN TP attributes config in ODU topology."; 1084 uses otn-tp-attributes; 1085 } 1087 /* 1088 * Augment TE bandwidth 1089 */ 1091 /* Augment maximum LSP bandwidth of link terminationpoint (LTP) */ 1092 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 1093 + "tet:te/" 1094 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 1095 + "tet:te-bandwidth/tet:technology" { 1096 when "../../../../../../../nw:network-types/tet:te-topology/" 1097 + "otntopo:otn-topology" { 1098 description "Augment OTN TE bandwidth"; 1099 } 1100 description "OTN bandwidth."; 1101 case otn { 1102 uses otn-types:otn-path-bandwidth; 1103 } 1104 } 1106 /* Augment bandwidth path constraints of connectivity-matrices */ 1107 augment "/nw:networks/nw:network/nw:node/tet:te/" 1108 + "tet:te-node-attributes/tet:connectivity-matrices/" 1109 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1110 when "../../../../../../../nw:network-types/tet:te-topology/" 1111 + "otntopo:otn-topology" { 1112 description "Augment OTN TE bandwidth"; 1113 } 1114 description "OTN bandwidth."; 1115 case otn { 1116 uses otn-types:otn-link-bandwidth; 1117 } 1118 } 1120 /* Augment bandwidth path constraints of connectivity-matrix */ 1121 augment "/nw:networks/nw:network/nw:node/tet:te/" 1122 + "tet:te-node-attributes/tet:connectivity-matrices/" 1123 + "tet:connectivity-matrix/" 1124 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1125 when "../../../../../../../../nw:network-types/tet:te-topology/" 1126 + "otntopo:otn-topology" { 1127 description "Augment OTN TE bandwidth"; 1128 } 1129 description "OTN bandwidth."; 1130 case otn { 1131 uses otn-types:otn-link-bandwidth; 1132 } 1133 } 1135 /* Augment bandwidth path constraints of 1136 connectivity-matrices information-source */ 1137 augment "/nw:networks/nw:network/nw:node/tet:te/" 1138 + "tet:information-source-entry/tet:connectivity-matrices/" 1139 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1140 when "../../../../../../../nw:network-types/tet:te-topology/" 1141 + "otntopo:otn-topology" { 1142 description "Augment OTN TE bandwidth"; 1143 } 1144 description "OTN bandwidth."; 1145 case otn { 1146 uses otn-types:otn-link-bandwidth; 1147 } 1148 } 1149 /* Augment bandwidth path constraints of 1150 connectivity-matrix information-source */ 1151 augment "/nw:networks/nw:network/nw:node/tet:te/" 1152 + "tet:information-source-entry/tet:connectivity-matrices/" 1153 + "tet:connectivity-matrix/" 1154 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1155 when "../../../../../../../../nw:network-types/tet:te-topology/" 1156 + "otntopo:otn-topology" { 1157 description "Augment OTN TE bandwidth"; 1158 } 1159 description "OTN bandwidth."; 1160 case otn { 1161 uses otn-types:otn-link-bandwidth; 1162 } 1163 } 1165 /* Augment client bandwidth of tunnel termination point (TTP) */ 1166 augment "/nw:networks/nw:network/nw:node/tet:te/" 1167 + "tet:tunnel-termination-point/" 1168 + "tet:client-layer-adaptation/tet:switching-capability/" 1169 + "tet:te-bandwidth/tet:technology" { 1170 when "../../../../../../../nw:network-types/tet:te-topology/" 1171 + "otntopo:otn-topology" { 1172 description "Augment OTN TE bandwidth"; 1173 } 1174 description "OTN bandwidth."; 1175 case otn { 1176 uses otn-types:otn-link-bandwidth; 1177 } 1178 } 1180 /* Augment bandwidth path constraints of local-link-connectivities */ 1181 augment "/nw:networks/nw:network/nw:node/tet:te/" 1182 + "tet:tunnel-termination-point/" 1183 + "tet:local-link-connectivities/tet:path-constraints/" 1184 + "tet:te-bandwidth/tet:technology" { 1185 when "../../../../../../../nw:network-types/tet:te-topology/" 1186 + "otntopo:otn-topology" { 1187 description "Augment OTN TE bandwidth"; 1188 } 1189 description "OTN bandwidth."; 1190 case otn { 1191 uses otn-types:otn-link-bandwidth; 1192 } 1193 } 1195 /* Augment bandwidth path constraints of 1196 local-link-connectivity (LLC) */ 1197 augment "/nw:networks/nw:network/nw:node/tet:te/" 1198 + "tet:tunnel-termination-point/" 1199 + "tet:local-link-connectivities/" 1200 + "tet:local-link-connectivity/tet:path-constraints/" 1201 + "tet:te-bandwidth/tet:technology" { 1202 when "../../../../../../../../nw:network-types/tet:te-topology/" 1203 + "otntopo:otn-topology" { 1204 description "Augment OTN TE bandwidth"; 1205 } 1206 description "OTN bandwidth."; 1207 case otn { 1208 uses otn-types:otn-link-bandwidth; 1209 } 1210 } 1212 /* Augment maximum LSP bandwidth of TE link */ 1213 augment "/nw:networks/nw:network/nt:link/tet:te/" 1214 + "tet:te-link-attributes/" 1215 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 1216 + "tet:te-bandwidth/tet:technology" { 1217 when "../../../../../../../nw:network-types/tet:te-topology/" 1218 + "otntopo:otn-topology" { 1219 description "OTN TE bandwidth."; 1220 } 1221 description "OTN bandwidth."; 1222 case otn { 1223 uses otn-types:otn-path-bandwidth; 1224 } 1225 } 1227 /* Augment maximum bandwidth of TE link */ 1228 augment "/nw:networks/nw:network/nt:link/tet:te/" 1229 + "tet:te-link-attributes/" 1230 + "tet:max-link-bandwidth/" 1231 + "tet:te-bandwidth/tet:technology" { 1232 when "../../../../../../nw:network-types/tet:te-topology/" 1233 + "otntopo:otn-topology" { 1234 description "OTN TE bandwidth."; 1235 } 1236 description "OTN bandwidth."; 1237 case otn { 1238 uses otn-types:otn-link-bandwidth; 1239 } 1240 } 1242 /* Augment maximum reservable bandwidth of TE link */ 1243 augment "/nw:networks/nw:network/nt:link/tet:te/" 1244 + "tet:te-link-attributes/" 1245 + "tet:max-resv-link-bandwidth/" 1246 + "tet:te-bandwidth/tet:technology" { 1247 when "../../../../../../nw:network-types/tet:te-topology/" 1248 + "otntopo:otn-topology" { 1249 description "OTN TE bandwidth."; 1250 } 1251 description "OTN bandwidth."; 1252 case otn { 1253 uses otn-types:otn-link-bandwidth; 1254 } 1255 } 1257 /* Augment unreserved bandwidth of TE Link */ 1258 augment "/nw:networks/nw:network/nt:link/tet:te/" 1259 + "tet:te-link-attributes/" 1260 + "tet:unreserved-bandwidth/" 1261 + "tet:te-bandwidth/tet:technology" { 1262 when "../../../../../../nw:network-types/tet:te-topology/" 1263 + "otntopo:otn-topology" { 1264 description "OTN TE bandwidth."; 1265 } 1266 description "OTN bandwidth."; 1267 case otn { 1268 uses otn-types:otn-link-bandwidth; 1269 } 1270 } 1272 /* Augment maximum LSP bandwidth of TE link information-source */ 1273 augment "/nw:networks/nw:network/nt:link/tet:te/" 1274 + "tet:information-source-entry/" 1275 + "tet:interface-switching-capability/" 1276 + "tet:max-lsp-bandwidth/" 1277 + "tet:te-bandwidth/tet:technology" { 1278 when "../../../../../../../nw:network-types/tet:te-topology/" 1279 + "otntopo:otn-topology" { 1280 description "OTN TE bandwidth."; 1281 } 1282 description "OTN bandwidth."; 1283 case otn { 1284 uses otn-types:otn-path-bandwidth; 1285 } 1286 } 1288 /* Augment maximum bandwidth of TE link information-source */ 1289 augment "/nw:networks/nw:network/nt:link/tet:te/" 1290 + "tet:information-source-entry/" 1291 + "tet:max-link-bandwidth/" 1292 + "tet:te-bandwidth/tet:technology" { 1294 when "../../../../../../nw:network-types/tet:te-topology/" 1295 + "otntopo:otn-topology" { 1296 description "OTN TE bandwidth."; 1297 } 1298 description "OTN bandwidth."; 1299 case otn { 1300 uses otn-types:otn-link-bandwidth; 1301 } 1302 } 1304 /* Augment maximum reservable bandwidth 1305 of TE link information-source */ 1306 augment "/nw:networks/nw:network/nt:link/tet:te/" 1307 + "tet:information-source-entry/" 1308 + "tet:max-resv-link-bandwidth/" 1309 + "tet:te-bandwidth/tet:technology" { 1310 when "../../../../../../nw:network-types/tet:te-topology/" 1311 + "otntopo:otn-topology" { 1312 description "OTN TE bandwidth."; 1313 } 1314 description "OTN bandwidth."; 1315 case otn { 1316 uses otn-types:otn-link-bandwidth; 1317 } 1318 } 1320 /* Augment unreserved bandwidth of TE link information-source */ 1321 augment "/nw:networks/nw:network/nt:link/tet:te/" 1322 + "tet:information-source-entry/" 1323 + "tet:unreserved-bandwidth/" 1324 + "tet:te-bandwidth/tet:technology" { 1325 when "../../../../../../nw:network-types/tet:te-topology/" 1326 + "otntopo:otn-topology" { 1327 description "OTN TE bandwidth."; 1328 } 1329 description "OTN bandwidth."; 1330 case otn { 1331 uses otn-types:otn-link-bandwidth; 1332 } 1333 } 1335 /* Augment maximum LSP bandwidth of TE link template */ 1336 augment "/nw:networks/tet:te/tet:templates/" 1337 + "tet:link-template/tet:te-link-attributes/" 1338 + "tet:interface-switching-capability/" 1339 + "tet:max-lsp-bandwidth/" 1340 + "tet:te-bandwidth/tet:technology" { 1341 /* 1342 when "../../../../../../../nw:network-types/tet:te-topology/" 1343 + "otntopo:otn-topology" { 1344 description "OTN TE bandwidth."; 1345 } 1346 */ 1347 description "OTN bandwidth."; 1348 case otn { 1349 uses otn-types:otn-path-bandwidth; 1350 } 1351 } 1353 /* Augment maximum bandwidth of TE link template */ 1354 augment "/nw:networks/tet:te/tet:templates/" 1355 + "tet:link-template/tet:te-link-attributes/" 1356 + "tet:max-link-bandwidth/" 1357 + "tet:te-bandwidth/tet:technology" { 1358 /* 1359 when "../../../../../../nw:network-types/tet:te-topology/" 1360 + "otntopo:otn-topology" { 1361 description "OTN TE bandwidth."; 1362 } 1363 */ 1364 description "OTN bandwidth."; 1365 case otn { 1366 uses otn-types:otn-link-bandwidth; 1367 } 1368 } 1370 /* Augment maximum reservable bandwidth of TE link template */ 1371 augment "/nw:networks/tet:te/tet:templates/" 1372 + "tet:link-template/tet:te-link-attributes/" 1373 + "tet:max-resv-link-bandwidth/" 1374 + "tet:te-bandwidth/tet:technology" { 1375 /* 1376 when "../../../../../../nw:network-types/tet:te-topology/" 1377 + "otntopo:otn-topology" { 1378 description "OTN TE bandwidth."; 1379 } 1380 */ 1381 description "OTN bandwidth."; 1382 case otn { 1383 uses otn-types:otn-link-bandwidth; 1384 } 1385 } 1387 /* Augment unreserved bandwidth of TE link template */ 1388 augment "/nw:networks/tet:te/tet:templates/" 1389 + "tet:link-template/tet:te-link-attributes/" 1390 + "tet:unreserved-bandwidth/" 1391 + "tet:te-bandwidth/tet:technology" { 1392 /* 1393 when "../../../../../../../nw:network-types/tet:te-topology/" 1394 + "otntopo:otn-topology" { 1395 description "OTN TE bandwidth."; 1396 } 1397 */ 1398 description "OTN bandwidth."; 1399 case otn { 1400 uses otn-types:otn-link-bandwidth; 1401 } 1402 } 1404 /* 1405 * Augment TE label. 1406 */ 1408 /* Augment label restrictions of connectivity-matrices */ 1409 augment "/nw:networks/nw:network/nw:node/tet:te/" 1410 + "tet:te-node-attributes/tet:connectivity-matrices/" 1411 + "tet:label-restriction" { 1412 when "../../../../../nw:network-types/tet:te-topology/" 1413 + "otntopo:otn-topology" { 1414 description "Augment OTN TE label"; 1415 } 1416 uses otn-types:otn-label-restriction; 1417 } 1419 /* Augment label restrictions start of connectivity-matrices */ 1420 augment "/nw:networks/nw:network/nw:node/tet:te/" 1421 + "tet:te-node-attributes/tet:connectivity-matrices/" 1422 + "tet:label-restriction/tet:label-start/" 1423 + "tet:te-label/tet:technology" { 1424 when "../../../../../../../../nw:network-types/tet:te-topology/" 1425 + "otntopo:otn-topology" { 1426 description "Augment OTN TE label"; 1427 } 1428 description "OTN label."; 1429 case otn { 1430 uses otn-types:otn-link-label; 1431 } 1432 } 1434 /* Augment label restrictions end of connectivity-matrices */ 1435 augment "/nw:networks/nw:network/nw:node/tet:te/" 1436 + "tet:te-node-attributes/tet:connectivity-matrices/" 1437 + "tet:label-restriction/tet:label-end/" 1438 + "tet:te-label/tet:technology" { 1439 when "../../../../../../../../nw:network-types/tet:te-topology/" 1440 + "otntopo:otn-topology" { 1441 description "Augment OTN TE label"; 1442 } 1443 description "OTN label."; 1444 case otn { 1445 uses otn-types:otn-link-label; 1446 } 1447 } 1449 /* Augment label hop of underlay primary path 1450 of connectivity-matrices */ 1451 augment "/nw:networks/nw:network/nw:node/tet:te/" 1452 + "tet:te-node-attributes/tet:connectivity-matrices/" 1453 + "tet:underlay/tet:primary-path/tet:path-element/" 1454 + "tet:type/tet:label/tet:label-hop/" 1455 + "tet:te-label/tet:technology" { 1456 when "../../../../../../../../../../../../" 1457 + "nw:network-types/tet:te-topology/" 1458 + "otntopo:otn-topology" { 1459 description "Augment OTN TE label"; 1460 } 1461 description "OTN label."; 1462 case otn { 1463 uses otn-types:otn-path-label; 1464 } 1465 } 1467 /* Augment label hop of underlay backup path of 1468 connectivity-matrices */ 1469 augment "/nw:networks/nw:network/nw:node/tet:te/" 1470 + "tet:te-node-attributes/tet:connectivity-matrices/" 1471 + "tet:underlay/tet:backup-path/tet:path-element/" 1472 + "tet:type/tet:label/tet:label-hop/" 1473 + "tet:te-label/tet:technology" { 1474 when "../../../../../../../../../../../../" 1475 + "nw:network-types/tet:te-topology/" 1476 + "otntopo:otn-topology" { 1477 description "Augment OTN TE label"; 1478 } 1479 description "OTN label."; 1480 case otn { 1481 uses otn-types:otn-path-label; 1482 } 1483 } 1485 /* Augment label hop of route-exclude of connectivity-matrices */ 1486 augment "/nw:networks/nw:network/nw:node/tet:te/" 1487 + "tet:te-node-attributes/tet:connectivity-matrices/" 1488 + "tet:optimizations/tet:algorithm/tet:metric/" 1489 + "tet:optimization-metric/" 1490 + "tet:explicit-route-exclude-objects/" 1491 + "tet:route-object-exclude-object/" 1492 + "tet:type/tet:label/tet:label-hop/" 1493 + "tet:te-label/tet:technology" { 1494 when "../../../../../../../../../../../../../../" 1495 + "nw:network-types/tet:te-topology/" 1496 + "otntopo:otn-topology" { 1497 description "Augment OTN TE label"; 1498 } 1499 description "OTN label."; 1500 case otn { 1501 uses otn-types:otn-path-label; 1502 } 1503 } 1505 /* Augment label hop of route-include of 1506 connectivity-matrices (added) */ 1507 augment "/nw:networks/nw:network/nw:node/tet:te/" 1508 + "tet:te-node-attributes/tet:connectivity-matrices/" 1509 + "tet:optimizations/tet:algorithm/tet:metric/" 1510 + "tet:optimization-metric/" 1511 + "tet:explicit-route-include-objects/" 1512 + "tet:route-object-include-object/" 1513 + "tet:type/tet:label/tet:label-hop/" 1514 + "tet:te-label/tet:technology" { 1515 when "../../../../../../../../../../../../../../" 1516 + "nw:network-types/tet:te-topology/" 1517 + "otntopo:otn-topology" { 1518 description "Augment OTN TE label"; 1519 } 1520 description "OTN label."; 1521 case otn { 1522 uses otn-types:otn-path-label; 1523 } 1524 } 1526 /* Augment label hop of path-route of connectivity-matrices */ 1527 augment "/nw:networks/nw:network/nw:node/tet:te/" 1528 + "tet:te-node-attributes/tet:connectivity-matrices/" 1529 + "tet:path-properties/tet:path-route-objects/" 1530 + "tet:path-route-object/tet:type/tet:label/tet:label-hop/" 1531 + "tet:te-label/tet:technology"{ 1532 when "../../../../../../../../../../../../" 1533 + "nw:network-types/tet:te-topology/" 1534 + "otntopo:otn-topology" { 1535 description "Augment OTN TE label"; 1536 } 1537 description "OTN label."; 1538 case otn { 1539 uses otn-types:otn-path-label; 1540 } 1541 } 1543 /* Augment ingress label restrictions of connectivity-matrix */ 1544 augment "/nw:networks/nw:network/nw:node/tet:te/" 1545 + "tet:te-node-attributes/tet:connectivity-matrices/" 1546 + "tet:connectivity-matrix/tet:from/" 1547 + "tet:label-restriction" { 1548 when "../../../../../../../nw:network-types/tet:te-topology/" 1549 + "otntopo:otn-topology" { 1550 description "Augment OTN TE label"; 1551 } 1552 description "OTN label."; 1553 uses otn-types:otn-label-restriction; 1554 } 1556 /* Augment ingress label restrictions start of connectivity-matrix */ 1557 augment "/nw:networks/nw:network/nw:node/tet:te/" 1558 + "tet:te-node-attributes/tet:connectivity-matrices/" 1559 + "tet:connectivity-matrix/tet:from/" 1560 + "tet:label-restriction/tet:label-start/" 1561 + "tet:te-label/tet:technology" { 1562 when "../../../../../../../../../../" 1563 + "nw:network-types/tet:te-topology/" 1564 + "otntopo:otn-topology" { 1565 description "Augment OTN TE label"; 1566 } 1567 description "OTN label."; 1568 case otn { 1569 uses otn-types:otn-link-label; 1570 } 1571 } 1573 /* Augment ingress label restrictions end of connectivity-matrix */ 1574 augment "/nw:networks/nw:network/nw:node/tet:te/" 1575 + "tet:te-node-attributes/tet:connectivity-matrices/" 1576 + "tet:connectivity-matrix/tet:from/" 1577 + "tet:label-restriction/tet:label-end/" 1578 + "tet:te-label/tet:technology" { 1579 when "../../../../../../../../../../" 1580 + "nw:network-types/tet:te-topology/" 1581 + "otntopo:otn-topology" { 1583 description "Augment OTN TE label"; 1584 } 1585 description "OTN label."; 1586 case otn { 1587 uses otn-types:otn-link-label; 1588 } 1589 } 1591 /* Augment egress label restrictions of connectivity-matrix */ 1592 augment "/nw:networks/nw:network/nw:node/tet:te/" 1593 + "tet:te-node-attributes/tet:connectivity-matrices/" 1594 + "tet:connectivity-matrix/tet:to/" 1595 + "tet:label-restriction" { 1596 when "../../../../../../../nw:network-types/tet:te-topology/" 1597 + "otntopo:otn-topology" { 1598 description "Augment OTN TE label"; 1599 } 1600 description "OTN label."; 1601 uses otn-types:otn-label-restriction; 1602 } 1604 /* Augment egress label restrictions start of connectivity-matrix */ 1605 augment "/nw:networks/nw:network/nw:node/tet:te/" 1606 + "tet:te-node-attributes/tet:connectivity-matrices/" 1607 + "tet:connectivity-matrix/tet:to/" 1608 + "tet:label-restriction/tet:label-start/" 1609 + "tet:te-label/tet:technology" { 1610 when "../../../../../../../../../../" 1611 + "nw:network-types/tet:te-topology/" 1612 + "otntopo:otn-topology" { 1613 description "Augment OTN TE label"; 1614 } 1615 description "OTN label."; 1616 case otn { 1617 uses otn-types:otn-link-label; 1618 } 1619 } 1621 /* Augment egress label restrictions end of connectivity-matrix */ 1622 augment "/nw:networks/nw:network/nw:node/tet:te/" 1623 + "tet:te-node-attributes/tet:connectivity-matrices/" 1624 + "tet:connectivity-matrix/tet:to/" 1625 + "tet:label-restriction/tet:label-end/" 1626 + "tet:te-label/tet:technology" { 1627 when "../../../../../../../../../../" 1628 + "nw:network-types/tet:te-topology/" 1629 + "otntopo:otn-topology" { 1630 description "Augment OTN TE label"; 1632 } 1633 description "OTN label."; 1634 case otn { 1635 uses otn-types:otn-link-label; 1636 } 1637 } 1639 /* Augment label hop of underlay primary path of connectivity-matrix */ 1640 augment "/nw:networks/nw:network/nw:node/tet:te/" 1641 + "tet:te-node-attributes/tet:connectivity-matrices/" 1642 + "tet:connectivity-matrix/" 1643 + "tet:underlay/tet:primary-path/tet:path-element/" 1644 + "tet:type/tet:label/tet:label-hop/" 1645 + "tet:te-label/tet:technology" { 1646 when "../../../../../../../../../../../../../" 1647 + "nw:network-types/tet:te-topology/" 1648 + "otntopo:otn-topology" { 1649 description "Augment OTN TE label"; 1650 } 1651 description "OTN label."; 1652 case otn { 1653 uses otn-types:otn-path-label; 1654 } 1655 } 1657 /* Augment label hop of underlay backup path of connectivity-matrix */ 1658 augment "/nw:networks/nw:network/nw:node/tet:te/" 1659 + "tet:te-node-attributes/tet:connectivity-matrices/" 1660 + "tet:connectivity-matrix/" 1661 + "tet:underlay/tet:backup-path/tet:path-element/" 1662 + "tet:type/tet:label/tet:label-hop/" 1663 + "tet:te-label/tet:technology" { 1664 when "../../../../../../../../../../../../../" 1665 + "nw:network-types/tet:te-topology/" 1666 + "otntopo:otn-topology" { 1667 description "Augment OTN TE label"; 1668 } 1669 description "OTN label."; 1670 case otn { 1671 uses otn-types:otn-path-label; 1672 } 1673 } 1675 /* Augment label hop of route-exclude of connectivity-matrix */ 1676 augment "/nw:networks/nw:network/nw:node/tet:te/" 1677 + "tet:te-node-attributes/tet:connectivity-matrices/" 1678 + "tet:connectivity-matrix/tet:optimizations/" 1679 + "tet:algorithm/tet:metric/tet:optimization-metric/" 1680 + "tet:explicit-route-exclude-objects/" 1681 + "tet:route-object-exclude-object/tet:type/" 1682 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1683 when "../../../../../../../../../../../../../../../../" 1684 + "nw:network-types/tet:te-topology/" 1685 + "otntopo:otn-topology" { 1686 description "Augment OTN TE label"; 1687 } 1688 description "OTN label."; 1689 case otn { 1690 uses otn-types:otn-path-label; 1691 } 1692 } 1694 /* Augment label hop of route-include of connectivity-matrix */ 1695 augment "/nw:networks/nw:network/nw:node/tet:te/" 1696 + "tet:te-node-attributes/tet:connectivity-matrices/" 1697 + "tet:connectivity-matrix/tet:optimizations/" 1698 + "tet:algorithm/tet:metric/tet:optimization-metric/" 1699 + "tet:explicit-route-include-objects/" 1700 + "tet:route-object-include-object/tet:type/" 1701 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1702 when "../../../../../../../../../../../../../../../../" 1703 + "nw:network-types/tet:te-topology/" 1704 + "otntopo:otn-topology" { 1705 description "Augment OTN TE label"; 1706 } 1707 description "OTN label."; 1708 case otn { 1709 uses otn-types:otn-path-label; 1710 } 1711 } 1713 /* Augment label hop of path-route of connectivity-matrix */ 1714 augment "/nw:networks/nw:network/nw:node/tet:te/" 1715 + "tet:te-node-attributes/tet:connectivity-matrices/" 1716 + "tet:connectivity-matrix/" 1717 + "tet:path-properties/tet:path-route-objects/" 1718 + "tet:path-route-object/tet:type/" 1719 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1720 when "../../../../../../../../../../../../../" 1721 + "nw:network-types/tet:te-topology/" 1722 + "otntopo:otn-topology" { 1723 description "Augment OTN TE label"; 1724 } 1725 description "OTN label."; 1726 case otn { 1727 uses otn-types:otn-path-label; 1729 } 1730 } 1732 /* Augment label restrictions of 1733 connectivity-matrices information-source */ 1734 augment "/nw:networks/nw:network/nw:node/tet:te/" 1735 + "tet:information-source-entry/" 1736 + "tet:connectivity-matrices/tet:label-restriction" { 1737 when "../../../../../nw:network-types/tet:te-topology/" 1738 + "otntopo:otn-topology" { 1739 description "Augment OTN TE label"; 1740 } 1741 description "OTN label."; 1742 uses otn-types:otn-label-restriction; 1743 } 1745 /* Augment label restrictions start of 1746 connectivity-matrices information-source */ 1747 augment "/nw:networks/nw:network/nw:node/tet:te/" 1748 + "tet:information-source-entry/" 1749 + "tet:connectivity-matrices/tet:label-restriction/" 1750 + "tet:label-start/tet:te-label/tet:technology" { 1751 when "../../../../../../../../" 1752 + "nw:network-types/tet:te-topology/" 1753 + "otntopo:otn-topology" { 1754 description "Augment OTN TE label"; 1755 } 1756 description "OTN label."; 1757 case otn { 1758 uses otn-types:otn-link-label; 1759 } 1760 } 1762 /* Augment label restrictions end of 1763 connectivity-matrices information-source */ 1764 augment "/nw:networks/nw:network/nw:node/tet:te/" 1765 + "tet:information-source-entry/" 1766 + "tet:connectivity-matrices/tet:label-restriction/" 1767 + "tet:label-end/tet:te-label/tet:technology" { 1768 when "../../../../../../../../" 1769 + "nw:network-types/tet:te-topology/" 1770 + "otntopo:otn-topology" { 1771 description "Augment OTN TE label"; 1772 } 1773 description "OTN label."; 1774 case otn { 1775 uses otn-types:otn-link-label; 1776 } 1778 } 1780 /* Augment label hop of underlay primary path of 1781 connectivity-matrices information-source */ 1782 augment "/nw:networks/nw:network/nw:node/tet:te/" 1783 + "tet:information-source-entry/tet:connectivity-matrices/" 1784 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 1785 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1786 when "../../../../../../../../../../../../" 1787 + "nw:network-types/tet:te-topology/" 1788 + "otntopo:otn-topology" { 1789 description "Augment OTN TE label"; 1790 } 1791 description "OTN label."; 1792 case otn { 1793 uses otn-types:otn-path-label; 1794 } 1795 } 1797 /* Augment label hop of underlay backup path of 1798 connectivity-matrices information-source */ 1799 augment "/nw:networks/nw:network/nw:node/tet:te/" 1800 + "tet:information-source-entry/tet:connectivity-matrices/" 1801 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 1802 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1803 when "../../../../../../../../../../../../" 1804 + "nw:network-types/tet:te-topology/" 1805 + "otntopo:otn-topology" { 1806 description "Augment OTN TE label"; 1807 } 1808 description "OTN label."; 1809 case otn { 1810 uses otn-types:otn-path-label; 1811 } 1812 } 1814 /* Augment label hop of route-exclude of 1815 connectivity-matrices information-source */ 1816 augment "/nw:networks/nw:network/nw:node/tet:te/" 1817 + "tet:information-source-entry/tet:connectivity-matrices/" 1818 + "tet:optimizations/tet:algorithm/tet:metric/" 1819 + "tet:optimization-metric/" 1820 + "tet:explicit-route-exclude-objects/" 1821 + "tet:route-object-exclude-object/tet:type/" 1822 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1823 when "../../../../../../../../../../../../../../../" 1824 + "nw:network-types/tet:te-topology/" 1825 + "otntopo:otn-topology" { 1827 description "Augment OTN TE label"; 1828 } 1829 description "OTN label."; 1830 case otn { 1831 uses otn-types:otn-path-label; 1832 } 1833 } 1835 /* Augment label hop of route-include 1836 of connectivity-matrices information-source */ 1837 augment "/nw:networks/nw:network/nw:node/tet:te/" 1838 + "tet:information-source-entry/tet:connectivity-matrices/" 1839 + "tet:optimizations/tet:algorithm/tet:metric/" 1840 + "tet:optimization-metric/" 1841 + "tet:explicit-route-include-objects/" 1842 + "tet:route-object-include-object/tet:type/" 1843 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1844 when "../../../../../../../../../../../../../../../" 1845 + "nw:network-types/tet:te-topology/" 1846 + "otntopo:otn-topology" { 1847 description "Augment OTN TE label"; 1848 } 1849 description "OTN label."; 1850 case otn { 1851 uses otn-types:otn-path-label; 1852 } 1853 } 1855 /* Augment label hop of path-route of 1856 connectivity-matrices information-source */ 1857 augment "/nw:networks/nw:network/nw:node/tet:te/" 1858 + "tet:information-source-entry/tet:connectivity-matrices/" 1859 + "tet:path-properties/tet:path-route-objects/" 1860 + "tet:path-route-object/tet:type/" 1861 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1862 when "../../../../../../../../../../../../" 1863 + "nw:network-types/tet:te-topology/" 1864 + "otntopo:otn-topology" { 1865 description "Augment OTN TE label"; 1866 } 1867 description "OTN label."; 1868 case otn { 1869 uses otn-types:otn-path-label; 1870 } 1871 } 1873 /* Augment ingress label restrictions 1874 of connectivity-matrix information-source */ 1875 augment "/nw:networks/nw:network/nw:node/tet:te/" 1876 + "tet:information-source-entry/tet:connectivity-matrices/" 1877 + "tet:connectivity-matrix/" 1878 + "tet:from/tet:label-restriction" { 1879 when "../../../../../../../nw:network-types/tet:te-topology/" 1880 + "otntopo:otn-topology" { 1881 description "Augment OTN TE label"; 1882 } 1883 description "OTN label."; 1884 uses otn-types:otn-label-restriction; 1885 } 1887 /* Augment ingress label restrictions start 1888 of connectivity-matrix information-source */ 1889 augment "/nw:networks/nw:network/nw:node/tet:te/" 1890 + "tet:information-source-entry/tet:connectivity-matrices/" 1891 + "tet:connectivity-matrix/" 1892 + "tet:from/tet:label-restriction/" 1893 + "tet:label-start/tet:te-label/tet:technology" { 1894 when "../../../../../../../../../../" 1895 + "nw:network-types/tet:te-topology/" 1896 + "otntopo:otn-topology" { 1897 description "Augment OTN TE label"; 1898 } 1899 description "OTN label."; 1900 case otn { 1901 uses otn-types:otn-link-label; 1902 } 1903 } 1905 /* Augment ingress label restrictions end 1906 of connectivity-matrix information-source */ 1907 augment "/nw:networks/nw:network/nw:node/tet:te/" 1908 + "tet:information-source-entry/tet:connectivity-matrices/" 1909 + "tet:connectivity-matrix/" 1910 + "tet:from/tet:label-restriction/" 1911 + "tet:label-end/tet:te-label/tet:technology" { 1912 when "../../../../../../../../../../" 1913 + "nw:network-types/tet:te-topology/" 1914 + "otntopo:otn-topology" { 1915 description "Augment OTN TE label"; 1916 } 1917 description "OTN label."; 1918 case otn { 1919 uses otn-types:otn-link-label; 1920 } 1921 } 1922 /* Augment egress label restrictions of 1923 connectivity-matrix information-source */ 1924 augment "/nw:networks/nw:network/nw:node/tet:te/" 1925 + "tet:information-source-entry/tet:connectivity-matrices/" 1926 + "tet:connectivity-matrix/" 1927 + "tet:to/tet:label-restriction" { 1928 when "../../../../../../../nw:network-types/tet:te-topology/" 1929 + "otntopo:otn-topology" { 1930 description "Augment OTN TE label"; 1931 } 1932 description "OTN label."; 1933 uses otn-types:otn-label-restriction; 1934 } 1936 /* Augment egress label restrictions start 1937 of connectivity-matrix information-source */ 1938 augment "/nw:networks/nw:network/nw:node/tet:te/" 1939 + "tet:information-source-entry/tet:connectivity-matrices/" 1940 + "tet:connectivity-matrix/" 1941 + "tet:to/tet:label-restriction/" 1942 + "tet:label-start/tet:te-label/tet:technology" { 1943 when "../../../../../../../../../../" 1944 + "nw:network-types/tet:te-topology/" 1945 + "otntopo:otn-topology" { 1946 description "Augment OTN TE label"; 1947 } 1948 description "OTN label."; 1949 case otn { 1950 uses otn-types:otn-link-label; 1951 } 1952 } 1954 /* Augment egress label restrictions end 1955 of connectivity-matrix information-source */ 1956 augment "/nw:networks/nw:network/nw:node/tet:te/" 1957 + "tet:information-source-entry/tet:connectivity-matrices/" 1958 + "tet:connectivity-matrix/" 1959 + "tet:to/tet:label-restriction/" 1960 + "tet:label-end/tet:te-label/tet:technology" { 1961 when "../../../../../../../../../../" 1962 + "nw:network-types/tet:te-topology/" 1963 + "otntopo:otn-topology" { 1964 description "Augment OTN TE label"; 1965 } 1966 description "OTN label."; 1967 case otn { 1968 uses otn-types:otn-link-label; 1969 } 1971 } 1973 /* Augment label hop of underlay primary path 1974 of connectivity-matrix information-source */ 1975 augment "/nw:networks/nw:network/nw:node/tet:te/" 1976 + "tet:information-source-entry/tet:connectivity-matrices/" 1977 + "tet:connectivity-matrix/" 1978 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 1979 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1980 when "../../../../../../../../../../../../../" 1981 + "nw:network-types/tet:te-topology/" 1982 + "otntopo:otn-topology" { 1983 description "Augment OTN TE label"; 1984 } 1985 description "OTN label."; 1986 case otn { 1987 uses otn-types:otn-path-label; 1988 } 1989 } 1991 /* Augment label hop of underlay backup path 1992 of connectivity-matrix information-source */ 1993 augment "/nw:networks/nw:network/nw:node/tet:te/" 1994 + "tet:information-source-entry/tet:connectivity-matrices/" 1995 + "tet:connectivity-matrix/" 1996 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 1997 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1998 when "../../../../../../../../../../../../../" 1999 + "nw:network-types/tet:te-topology/" 2000 + "otntopo:otn-topology" { 2001 description "Augment OTN TE label"; 2002 } 2003 description "OTN label."; 2004 case otn { 2005 uses otn-types:otn-path-label; 2006 } 2007 } 2009 /* Augment label hop of route-exclude 2010 of connectivity-matrix information-source */ 2011 augment "/nw:networks/nw:network/nw:node/tet:te/" 2012 + "tet:information-source-entry/tet:connectivity-matrices/" 2013 + "tet:connectivity-matrix/" 2014 + "tet:optimizations/tet:algorithm/tet:metric/" 2015 + "tet:optimization-metric/" 2016 + "tet:explicit-route-exclude-objects/" 2017 + "tet:route-object-exclude-object/tet:type/" 2018 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2020 when "../../../../../../../../../../../../../../../../" 2021 + "nw:network-types/tet:te-topology/" 2022 + "otntopo:otn-topology" { 2023 description "Augment OTN TE label"; 2024 } 2025 description "OTN label."; 2026 case otn { 2027 uses otn-types:otn-path-label; 2028 } 2029 } 2031 /* Augment label hop of route-include 2032 of connectivity-matrix information-source */ 2033 augment "/nw:networks/nw:network/nw:node/tet:te/" 2034 + "tet:information-source-entry/tet:connectivity-matrices/" 2035 + "tet:connectivity-matrix/" 2036 + "tet:optimizations/tet:algorithm/tet:metric/" 2037 + "tet:optimization-metric/" 2038 + "tet:explicit-route-include-objects/" 2039 + "tet:route-object-include-object/tet:type/" 2040 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2041 when "../../../../../../../../../../../../../../../../" 2042 + "nw:network-types/tet:te-topology/" 2043 + "otntopo:otn-topology" { 2044 description "Augment OTN TE label"; 2045 } 2046 description "OTN label."; 2047 case otn { 2048 uses otn-types:otn-path-label; 2049 } 2050 } 2052 /* Augment label hop of path-route of 2053 connectivity-matrix information-source */ 2054 augment "/nw:networks/nw:network/nw:node/tet:te/" 2055 + "tet:information-source-entry/tet:connectivity-matrices/" 2056 + "tet:connectivity-matrix/" 2057 + "tet:path-properties/tet:path-route-objects/" 2058 + "tet:path-route-object/tet:type/" 2059 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2060 when "../../../../../../../../../../../../../" 2061 + "nw:network-types/tet:te-topology/" 2062 + "otntopo:otn-topology" { 2063 description "Augment OTN TE label"; 2064 } 2065 description "OTN label."; 2066 case otn { 2067 uses otn-types:otn-path-label; 2069 } 2070 } 2072 /* Augment label restrictions 2073 of local-link-connectivities */ 2074 augment "/nw:networks/nw:network/nw:node/tet:te/" 2075 + "tet:tunnel-termination-point/" 2076 + "tet:local-link-connectivities/" 2077 + "tet:label-restriction" { 2078 when "../../../../../nw:network-types/tet:te-topology/" 2079 + "otntopo:otn-topology" { 2080 description "Augment OTN TE label"; 2081 } 2082 description "OTN label."; 2083 uses otn-types:otn-label-restriction; 2084 } 2086 /* Augment label restrictions start of local-link-connectivities */ 2087 augment "/nw:networks/nw:network/nw:node/tet:te/" 2088 + "tet:tunnel-termination-point/" 2089 + "tet:local-link-connectivities/" 2090 + "tet:label-restriction/tet:label-start/" 2091 + "tet:te-label/tet:technology" { 2092 when "../../../../../../../../nw:network-types/tet:te-topology/" 2093 + "otntopo:otn-topology" { 2094 description "Augment OTN TE label"; 2095 } 2096 description "OTN label."; 2097 case otn { 2098 uses otn-types:otn-link-label; 2099 } 2100 } 2102 /* Augment label restrictions end of local-link-connectivities */ 2103 augment "/nw:networks/nw:network/nw:node/tet:te/" 2104 + "tet:tunnel-termination-point/" 2105 + "tet:local-link-connectivities/" 2106 + "tet:label-restriction/tet:label-end/" 2107 + "tet:te-label/tet:technology"{ 2108 when "../../../../../../../../nw:network-types/tet:te-topology/" 2109 + "otntopo:otn-topology" { 2110 description "Augment OTN TE label"; 2111 } 2112 description "OTN label."; 2113 case otn { 2114 uses otn-types:otn-link-label; 2115 } 2116 } 2117 /* Augment label hop of underlay primary path 2118 of local-link-connectivities */ 2119 augment "/nw:networks/nw:network/nw:node/tet:te/" 2120 + "tet:tunnel-termination-point/" 2121 + "tet:local-link-connectivities/" 2122 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2123 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2124 when "../../../../../../../../../../../../" 2125 + "nw:network-types/tet:te-topology/" 2126 + "otntopo:otn-topology" { 2127 description "Augment OTN TE label"; 2128 } 2129 description "OTN label."; 2130 case otn { 2131 uses otn-types:otn-path-label; 2132 } 2133 } 2135 /* Augment label hop of underlay backup path 2136 of local-link-connectivities */ 2137 augment "/nw:networks/nw:network/nw:node/tet:te/" 2138 + "tet:tunnel-termination-point/" 2139 + "tet:local-link-connectivities/" 2140 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2141 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2142 when "../../../../../../../../../../../../" 2143 + "nw:network-types/tet:te-topology/" 2144 + "otntopo:otn-topology" { 2145 description "Augment OTN TE label"; 2146 } 2147 description "OTN label."; 2148 case otn { 2149 uses otn-types:otn-path-label; 2150 } 2151 } 2153 /* Augment label hop of route-exclude of local-link-connectivities */ 2154 augment "/nw:networks/nw:network/nw:node/tet:te/" 2155 + "tet:tunnel-termination-point/" 2156 + "tet:local-link-connectivities/" 2157 + "tet:optimizations/tet:algorithm/tet:metric/" 2158 + "tet:optimization-metric/" 2159 + "tet:explicit-route-exclude-objects/" 2160 + "tet:route-object-exclude-object/tet:type/" 2161 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2162 when "../../../../../../../../../../../../../../../" 2163 + "nw:network-types/tet:te-topology/" 2164 + "otntopo:otn-topology" { 2166 description "Augment OTN TE label"; 2167 } 2168 description "OTN label."; 2169 case otn { 2170 uses otn-types:otn-path-label; 2171 } 2172 } 2174 /* Augment label hop of route-include of local-link-connectivities */ 2175 augment "/nw:networks/nw:network/nw:node/tet:te/" 2176 + "tet:tunnel-termination-point/" 2177 + "tet:local-link-connectivities/" 2178 + "tet:optimizations/tet:algorithm/tet:metric/" 2179 + "tet:optimization-metric/" 2180 + "tet:explicit-route-include-objects/" 2181 + "tet:route-object-include-object/tet:type/" 2182 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2183 when "../../../../../../../../../../../../../../../" 2184 + "nw:network-types/tet:te-topology/" 2185 + "otntopo:otn-topology" { 2186 description "Augment OTN TE label"; 2187 } 2188 description "OTN label."; 2189 case otn { 2190 uses otn-types:otn-path-label; 2191 } 2192 } 2194 /* Augment label hop of path-route of local-link-connectivities */ 2195 augment "/nw:networks/nw:network/nw:node/tet:te/" 2196 + "tet:tunnel-termination-point/" 2197 + "tet:local-link-connectivities/" 2198 + "tet:path-properties/tet:path-route-objects/" 2199 + "tet:path-route-object/tet:type/" 2200 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2201 when "../../../../../../../../../../../../" 2202 + "nw:network-types/tet:te-topology/" 2203 + "otntopo:otn-topology" { 2204 description "Augment OTN TE label"; 2205 } 2206 description "OTN label."; 2207 case otn { 2208 uses otn-types:otn-path-label; 2209 } 2210 } 2212 /* Augment label restrictions of local-link-connectivity (LLC) */ 2213 augment "/nw:networks/nw:network/nw:node/tet:te/" 2214 + "tet:tunnel-termination-point/" 2215 + "tet:local-link-connectivities/" 2216 + "tet:local-link-connectivity/" 2217 + "tet:label-restriction" { 2218 when "../../../../../../nw:network-types/tet:te-topology/" 2219 + "otntopo:otn-topology" { 2220 description "Augment OTN TE label"; 2221 } 2222 description "OTN label."; 2223 uses otn-types:otn-label-restriction; 2224 } 2226 /* Augment label restrictions start of local-link-connectivity (LLC) */ 2227 augment "/nw:networks/nw:network/nw:node/tet:te/" 2228 + "tet:tunnel-termination-point/" 2229 + "tet:local-link-connectivities/" 2230 + "tet:local-link-connectivity/" 2231 + "tet:label-restriction/" 2232 + "tet:label-start/tet:te-label/tet:technology" { 2233 when "../../../../../../../../../" 2234 + "nw:network-types/tet:te-topology/" 2235 + "otntopo:otn-topology" { 2236 description "Augment OTN TE label"; 2237 } 2238 description "OTN label."; 2239 case otn { 2240 uses otn-types:otn-link-label; 2241 } 2242 } 2244 /* Augment label restrictions end of local-link-connectivity (LLC) */ 2245 augment "/nw:networks/nw:network/nw:node/tet:te/" 2246 + "tet:tunnel-termination-point/" 2247 + "tet:local-link-connectivities/" 2248 + "tet:local-link-connectivity/" 2249 + "tet:label-restriction/" 2250 + "tet:label-end/tet:te-label/tet:technology" { 2251 when "../../../../../../../../../" 2252 + "nw:network-types/tet:te-topology/" 2253 + "otntopo:otn-topology" { 2254 description "Augment OTN TE label"; 2255 } 2256 description "OTN label."; 2257 case otn { 2258 uses otn-types:otn-link-label; 2259 } 2260 } 2261 /* Augment label hop of underlay primary path 2262 of local-link-connectivity (LLC) */ 2263 augment "/nw:networks/nw:network/nw:node/tet:te/" 2264 + "tet:tunnel-termination-point/" 2265 + "tet:local-link-connectivities/" 2266 + "tet:local-link-connectivity/" 2267 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2268 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2269 when "../../../../../../../../../../../../../" 2270 + "nw:network-types/tet:te-topology/" 2271 + "otntopo:otn-topology" { 2272 description "Augment OTN TE label"; 2273 } 2274 description "OTN label."; 2275 case otn { 2276 uses otn-types:otn-path-label; 2277 } 2278 } 2280 /* Augment label hop of underlay backup path 2281 of local-link-connectivity (LLC) */ 2282 augment "/nw:networks/nw:network/nw:node/tet:te/" 2283 + "tet:tunnel-termination-point/" 2284 + "tet:local-link-connectivities/" 2285 + "tet:local-link-connectivity/" 2286 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2287 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2288 when "../../../../../../../../../../../../../" 2289 + "nw:network-types/tet:te-topology/" 2290 + "otntopo:otn-topology" { 2291 description "Augment OTN TE label"; 2292 } 2293 description "OTN label."; 2294 case otn { 2295 uses otn-types:otn-path-label; 2296 } 2297 } 2299 /* Augment label hop of route-exclude 2300 of local-link-connectivity (LLC) */ 2301 augment "/nw:networks/nw:network/nw:node/tet:te/" 2302 + "tet:tunnel-termination-point/" 2303 + "tet:local-link-connectivities/" 2304 + "tet:local-link-connectivity/" 2305 + "tet:optimizations/tet:algorithm/tet:metric/" 2306 + "tet:optimization-metric/" 2307 + "tet:explicit-route-exclude-objects/" 2308 + "tet:route-object-exclude-object/tet:type/" 2309 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2310 when "../../../../../../../../../../../../../../../../" 2311 + "nw:network-types/tet:te-topology/" 2312 + "otntopo:otn-topology" { 2313 description "Augment OTN TE label"; 2314 } 2315 description "OTN label."; 2316 case otn { 2317 uses otn-types:otn-path-label; 2318 } 2319 } 2321 /* Augment label hop of route-include 2322 of local-link-connectivity (LLC) */ 2323 augment "/nw:networks/nw:network/nw:node/tet:te/" 2324 + "tet:tunnel-termination-point/" 2325 + "tet:local-link-connectivities/" 2326 + "tet:local-link-connectivity/" 2327 + "tet:optimizations/tet:algorithm/tet:metric/" 2328 + "tet:optimization-metric/" 2329 + "tet:explicit-route-include-objects/" 2330 + "tet:route-object-include-object/tet:type/" 2331 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2332 when "../../../../../../../../../../../../../../../../" 2333 + "nw:network-types/tet:te-topology/" 2334 + "otntopo:otn-topology" { 2335 description "Augment OTN TE label"; 2336 } 2337 description "OTN label."; 2338 case otn { 2339 uses otn-types:otn-path-label; 2340 } 2341 } 2343 /* Augment label hop of path-route of local-link-connectivity (LLC) */ 2344 augment "/nw:networks/nw:network/nw:node/tet:te/" 2345 + "tet:tunnel-termination-point/" 2346 + "tet:local-link-connectivities/" 2347 + "tet:local-link-connectivity/" 2348 + "tet:path-properties/tet:path-route-objects/" 2349 + "tet:path-route-object/tet:type/" 2350 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2351 when "../../../../../../../../../../../../../" 2352 + "nw:network-types/tet:te-topology/" 2353 + "otntopo:otn-topology" { 2354 description "Augment OTN TE label"; 2355 } 2356 description "OTN label."; 2357 case otn { 2358 uses otn-types:otn-path-label; 2359 } 2360 } 2362 /* Augment label hop of underlay primary path of TE link */ 2363 augment "/nw:networks/nw:network/nt:link/tet:te/" 2364 + "tet:te-link-attributes/" 2365 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2366 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2367 when "../../../../../../../../../../../" 2368 + "nw:network-types/tet:te-topology/" 2369 + "otntopo:otn-topology" { 2370 description "Augment OTN TE label"; 2371 } 2372 description "OTN label."; 2373 case otn { 2374 uses otn-types:otn-path-label; 2375 } 2376 } 2378 /* Augment label hop of underlay backup path of TE link */ 2379 augment "/nw:networks/nw:network/nt:link/tet:te/" 2380 + "tet:te-link-attributes/" 2381 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2382 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2383 when "../../../../../../../../../../../" 2384 + "nw:network-types/tet:te-topology/" 2385 + "otntopo:otn-topology" { 2386 description "Augment OTN TE label"; 2387 } 2388 description "OTN label."; 2389 case otn { 2390 uses otn-types:otn-path-label; 2391 } 2392 } 2394 /* Augment label restrictions of TE link */ 2395 augment "/nw:networks/nw:network/nt:link/tet:te/" 2396 + "tet:te-link-attributes/" 2397 + "tet:label-restriction" { 2398 when "../../../../nw:network-types/tet:te-topology/" 2399 + "otntopo:otn-topology" { 2400 description "Augment OTN TE label"; 2401 } 2402 description "OTN label."; 2403 uses otn-types:otn-label-restriction; 2404 } 2405 /* Augment label restrictions start of TE link */ 2406 augment "/nw:networks/nw:network/nt:link/tet:te/" 2407 + "tet:te-link-attributes/" 2408 + "tet:label-restriction/" 2409 + "tet:label-start/tet:te-label/tet:technology" { 2410 when "../../../../../../../nw:network-types/tet:te-topology/" 2411 + "otntopo:otn-topology" { 2412 description "Augment OTN TE label"; 2413 } 2414 description "OTN label."; 2415 case otn { 2416 uses otn-types:otn-link-label; 2417 } 2418 } 2420 /* Augment label restrictions end of TE link */ 2421 augment "/nw:networks/nw:network/nt:link/tet:te/" 2422 + "tet:te-link-attributes/" 2423 + "tet:label-restriction/" 2424 + "tet:label-end/tet:te-label/tet:technology" { 2425 when "../../../../../../../nw:network-types/tet:te-topology/" 2426 + "otntopo:otn-topology" { 2427 description "Augment OTN TE label"; 2428 } 2429 description "OTN label."; 2430 case otn { 2431 uses otn-types:otn-link-label; 2432 } 2433 } 2435 /* Augment label restrictions of TE link information-source */ 2436 augment "/nw:networks/nw:network/nt:link/tet:te/" 2437 + "tet:information-source-entry/" 2438 + "tet:label-restriction" { 2439 when "../../../../nw:network-types/tet:te-topology/" 2440 + "otntopo:otn-topology" { 2441 description "Augment OTN TE label"; 2442 } 2443 description "OTN label."; 2444 uses otn-types:otn-label-restriction; 2445 } 2447 /* Augment label restrictions start of TE link information-source */ 2448 augment "/nw:networks/nw:network/nt:link/tet:te/" 2449 + "tet:information-source-entry/" 2450 + "tet:label-restriction/" 2451 + "tet:label-start/tet:te-label/tet:technology" { 2452 when "../../../../../../../nw:network-types/tet:te-topology/" 2453 + "otntopo:otn-topology" { 2454 description "Augment OTN TE label"; 2455 } 2456 description "OTN label."; 2457 case otn { 2458 uses otn-types:otn-link-label; 2459 } 2460 } 2462 /* Augment label restrictions end of TE link information-source */ 2463 augment "/nw:networks/nw:network/nt:link/tet:te/" 2464 + "tet:information-source-entry/" 2465 + "tet:label-restriction/" 2466 + "tet:label-end/tet:te-label/tet:technology" { 2467 when "../../../../../../../nw:network-types/tet:te-topology/" 2468 + "otntopo:otn-topology" { 2469 description "Augment OTN TE label"; 2470 } 2471 description "OTN label."; 2472 case otn { 2473 uses otn-types:otn-link-label; 2474 } 2475 } 2477 /* Augment label hop of underlay primary path of TE link template */ 2478 augment "/nw:networks/tet:te/tet:templates/" 2479 + "tet:link-template/tet:te-link-attributes/" 2480 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2481 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2482 /* 2483 when "../../../../../../../../../../../../" 2484 + "nw:network-types/tet:te-topology/" 2485 + "otntopo:otn-topology" { 2486 description "Augment OTN TE label"; 2487 } 2488 */ 2489 description "OTN label."; 2490 case otn { 2491 uses otn-types:otn-path-label; 2492 } 2493 } 2495 /* Augment label hop of underlay backup path of TE link template */ 2496 augment "/nw:networks/tet:te/tet:templates/" 2497 + "tet:link-template/tet:te-link-attributes/" 2498 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2499 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2500 /* 2501 when "../../../../../../../../../../../../nw:network-types/tet:te-topology/" 2502 + "otntopo:otn-topology" { 2503 description "Augment OTN TE label"; 2504 } 2505 */ 2506 description "OTN label."; 2507 case otn { 2508 uses otn-types:otn-path-label; 2509 } 2510 } 2512 /* Augment label restrictions of TE link template */ 2513 augment "/nw:networks/tet:te/tet:templates/" 2514 + "tet:link-template/tet:te-link-attributes/" 2515 + "tet:label-restriction" { 2516 /* 2517 when "../../../../../nw:network-types/tet:te-topology/" 2518 + "otntopo:otn-topology" { 2519 description "Augment OTN TE label"; 2520 } 2521 */ 2522 description "OTN label."; 2523 uses otn-types:otn-label-restriction; 2524 } 2526 /* Augment label restrictions start of TE link template */ 2527 augment "/nw:networks/tet:te/tet:templates/" 2528 + "tet:link-template/tet:te-link-attributes/" 2529 + "tet:label-restriction/" 2530 + "tet:label-start/tet:te-label/tet:technology" { 2531 /* 2532 when "../../../../../../../../nw:network-types/tet:te-topology/" 2533 + "otntopo:otn-topology" { 2534 description "Augment OTN TE label"; 2535 } 2536 */ 2537 description "OTN label."; 2538 case otn { 2539 uses otn-types:otn-link-label; 2540 } 2541 } 2543 /* Augment label restrictions end of TE link template */ 2544 augment "/nw:networks/tet:te/tet:templates/" 2545 + "tet:link-template/tet:te-link-attributes/" 2546 + "tet:label-restriction/" 2547 + "tet:label-end/tet:te-label/tet:technology" { 2548 /* 2549 when "../../../../../../../../nw:network-types/tet:te-topology/" 2550 + "otntopo:otn-topology" { 2551 description "Augment OTN TE label"; 2552 } 2553 */ 2554 description "OTN label."; 2555 case otn { 2556 uses otn-types:otn-link-label; 2557 } 2558 } 2559 } 2561 2563 5. IANA Considerations 2565 TBD. 2567 6. Manageability Considerations 2569 TBD. 2571 7. Security Considerations 2573 The data following the model defined in this document is exchanged 2574 via, for example, the interface between an orchestrator and a 2575 transport network controller. The security concerns mentioned in 2576 [I-D.ietf-teas-yang-te-topo] for using ietf-te-topology.yang model 2577 also applies to this document. 2579 The YANG module defined in this document can be accessed via the 2580 RESTCONF protocol defined in [RFC8040], or maybe via the NETCONF 2581 protocol [RFC6241]. 2583 There are a number of data nodes defined in the YANG module which are 2584 writable/creatable/deletable (i.e., config true, which is the 2585 default). These data nodes may be considered sensitive or vulnerable 2586 in some network environments. Write operations (e.g., POST) to these 2587 data nodes without proper protection can have a negative effect on 2588 network operations. 2590 Editors note: to list specific subtrees and data nodes and their 2591 sensitivity/vulnerability. 2593 8. Acknowledgements 2595 We would like to thank Igor Bryskin, Zhe Liu, and Daniele Ceccarelli 2596 for their comments and discussions. 2598 9. Contributors 2600 Baoquan Rao 2601 Huawei Technologies 2602 Email: raobaoquan@huawei.com 2604 Xian Zhang 2605 Huawei Technologies 2606 Email: zhang.xian@huawei.com 2608 Huub van Helvoort 2609 Hai Gaoming BV 2610 the Netherlands 2611 Email: huubatwork@gmail.com 2613 Victor Lopez 2614 Telefonica 2615 Email: victor.lopezalvarez@telefonica.com 2617 Yunbo Li 2618 China Mobile 2619 Email: liyunbo@chinamobile.com 2621 Dieter Beller 2622 Nokia 2623 Email: dieter.beller@nokia.com 2625 Yanlei Zheng 2626 China Unicom 2627 Email: zhengyl@dimpt.com 2629 10. References 2631 10.1. Normative References 2633 [I-D.ietf-ccamp-otn-tunnel-model] 2634 Zheng, H., Fan, Z., Sharma, A., Rao, R., 2635 Belotti, S., Lopezalvarez, V., Li, Y., and Y. Xu, "OTN 2636 Tunnel YANG Model", draft-ietf-ccamp-otn-tunnel-model-01 2637 (work in progress), October 2017. 2639 [I-D.ietf-teas-yang-te-topo] 2640 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 2641 O. Dios, "YANG Data Model for Traffic Engineering (TE) 2642 Topologies", draft-ietf-teas-yang-te-topo-16 (work in 2643 progress), June 2018. 2645 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 2646 and A. Bierman, Ed., "Network Configuration Protocol 2647 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 2648 . 2650 [RFC7138] Ceccarelli, D., Ed., Zhang, F., Belotti, S., Rao, R., and 2651 J. Drake, "Traffic Engineering Extensions to OSPF for 2652 GMPLS Control of Evolving G.709 Optical Transport 2653 Networks", RFC 7138, DOI 10.17487/RFC7138, March 2014, 2654 . 2656 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 2657 RFC 7950, DOI 10.17487/RFC7950, August 2016, 2658 . 2660 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 2661 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 2662 . 2664 10.2. Informative References 2666 [I-D.ietf-ccamp-flexigrid-yang] 2667 Madrid, U., Perdices, D., Lopezalvarez, V., Dios, O., 2668 King, D., Lee, Y., and G. Galimberti, "YANG data model for 2669 Flexi-Grid Optical Networks", draft-ietf-ccamp-flexigrid- 2670 yang-00 (work in progress), February 2018. 2672 [I-D.ietf-ccamp-wson-yang] 2673 Lee, Y., Dhody, D., Zhang, X., Guo, A., Lopezalvarez, V., 2674 King, D., Yoon, B., and R. Vilata, "A Yang Data Model for 2675 WSON Optical Networks", draft-ietf-ccamp-wson-yang-10 2676 (work in progress), February 2018. 2678 [I-D.ietf-netmod-yang-tree-diagrams] 2679 Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- 2680 ietf-netmod-yang-tree-diagrams-06 (work in progress), 2681 February 2018. 2683 [I-D.ietf-teas-actn-yang] 2684 Lee, Y., Zheng, H., Ceccarelli, D., 2685 Yoon, B., and S. Belotti, "Applicability of YANG models 2686 for Abstraction and Control of Traffic Engineered 2687 Networks", draft-ietf-teas-actn-yang-01 (work in 2688 progress), February 2018. 2690 [RFC7062] Zhang, F., Ed., Li, D., Li, H., Belotti, S., and D. 2691 Ceccarelli, "Framework for GMPLS and PCE Control of G.709 2692 Optical Transport Networks", RFC 7062, 2693 DOI 10.17487/RFC7062, November 2013, 2694 . 2696 Authors' Addresses 2698 Haomian Zheng 2699 Huawei Technologies 2700 F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District 2701 Shenzhen, Guangdong 518129 2702 P.R.China 2704 Email: zhenghaomian@huawei.com 2706 Aihua Guo 2707 Huawei Technologies 2708 12007 Sunrise Valley Drive, Suite 325 2709 Reston, VA 20171 2710 U.S.A 2712 Email: aihuaguo@huawei.com 2714 Italo Busi 2715 Huawei Technologies 2716 HUAWEI TECHNOLOGIES ITALIA Srl Centro Direzionale Milano 2 2717 Milan, Milan 20090 2718 Italy 2720 Email: Italo.Busi@huawei.com 2722 Anurag Sharma 2723 Google 2724 1600 Amphitheatre Parkway 2725 Mountain View, CA 94043 2727 Email: ansha@google.com 2728 Xufeng Liu 2729 Jabil 2731 Email: Xufeng_Liu@jabil.com 2733 Sergio Belotti 2734 Nokia 2736 Email: sergio.belotti@nokia.com 2738 Yunbin Xu 2739 CAICT 2741 Email: xuyunbin@ritt.cn 2743 Lei Wang 2744 China Mobile 2746 Email: wangleiyj@chinamobile.com 2748 Oscar Gonzalez de Dios 2749 Telefonica 2751 Email: oscar.gonzalezdedios@telefonica.com