idnits 2.17.1 draft-ietf-ccamp-otn-topo-yang-04.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 42 instances of too long lines in the document, the longest one being 22 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 191: '... 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 237 has weird spacing: '...du-type ide...' == Line 244 has weird spacing: '...du-type ide...' == Line 251 has weird spacing: '...du-type ide...' == Line 259 has weird spacing: '...du-type ide...' == Line 266 has weird spacing: '...du-type ide...' == (11 more instances...) -- The document date (July 31, 2018) is 2094 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) == Unused Reference: 'RFC8345' is defined on line 2707, but no explicit reference was found in the text == Outdated reference: A later version (-20) exists of draft-ietf-ccamp-otn-tunnel-model-03 == Outdated reference: A later version (-22) exists of draft-ietf-teas-yang-te-topo-18 ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341) == 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: 4 errors (**), 0 flaws (~~), 13 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: February 1, 2019 Huawei Technologies 6 A. Sharma 7 Google 8 X. Liu 9 Volta Networks 10 S. Belotti 11 Nokia 12 Y. Xu 13 CAICT 14 L. Wang 15 China Mobile 16 O. Gonzalez de Dios 17 Telefonica 18 July 31, 2018 20 A YANG Data Model for Optical Transport Network Topology 21 draft-ietf-ccamp-otn-topo-yang-04 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 February 1, 2019. 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 . . . . . . . . . . . . . . . . . . . . . . . . 21 81 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54 82 6. Security Considerations . . . . . . . . . . . . . . . . . . . 54 83 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 55 84 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 55 85 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 56 86 9.1. Normative References . . . . . . . . . . . . . . . . . . 56 87 9.2. Informative References . . . . . . . . . . . . . . . . . 57 88 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 58 90 1. Introduction 92 A transport network is a server-layer network designed to provide 93 connectivity services for a client-layer network to carry the client 94 traffic transparently across the server-layer network resources. A 95 transport network can be constructed of equipments utilizing any of a 96 number of different transport technologies such as the Optical 97 Transport Networks (OTN) or packet transport as provided by the MPLS- 98 Transport Profile (MPLS-TP). 100 This document defines a data model of an OTN network topology, using 101 YANG [RFC7950]. The model can be used by an application exposing to 102 a transport controller via a REST interface. Furthermore, it can be 103 used by an application for the following purposes (but not limited 104 to): 106 o To obtain a whole view of the network topology information of its 107 interest; 109 o To receive notifications with regard to the information change of 110 the OTN topology; 112 o To enforce the establishment and update of a network topology with 113 the characteristic specified in the data model, e.g., by a client 114 controller; 116 The YANG model defined in this document is independent of control 117 plane protocols and captures topology related information pertaining 118 to an Optical Transport Networks (OTN)-electrical layer, as the scope 119 specified by [RFC7062] and [RFC7138]. Furthermore, it is not a 120 stand-alone model, but augmenting from the TE topology YANG model 121 defined in [I-D.ietf-teas-yang-te-topo]. Following TE topology YANG 122 model, the YANG model defined in this document is interface 123 independent. The applicability of models to interfaces is described 124 in [I-D.ietf-teas-actn-yang]. 126 Optical network technologies, including fixed Dense Wavelength 127 Switched Optical Network (WSON) and flexible optical networks 128 (a.k.a., flexi-grid networks), are covered in 129 [I-D.ietf-ccamp-wson-yang] and [I-D.ietf-ccamp-flexigrid-yang], 130 respectively. 132 2. Terminology and Notations 134 A simplified graphical representation of the data model is used in 135 this document. The meaning of the symbols in the YANG data tree 136 presented later in this document is defined in 137 [I-D.ietf-netmod-yang-tree-diagrams]. They are provided below for 138 reference. 140 o Brackets "[" and "]" enclose list keys. 142 o Abbreviations before data node names: "rw" means configuration 143 (read-write) and "ro" state data (read-only). 145 o Symbols after data node names: "?" means an optional node, "!" 146 means a presence container, and "*" denotes a list and leaf-list. 148 o Parentheses enclose choice and case nodes, and case nodes are also 149 marked with a colon (":"). 151 o Ellipsis ("...") stands for contents of subtrees that are not 152 shown. 154 o Some of the key terms used in this document are listed as follow. 156 o TS: Tributary Slot. 158 o TSG: Tributary Slot Granularity. 160 o TPN: Tributary Port Number. 162 3. YANG Data Model for OTN Topology 164 3.1. OTN Topology Data Model Overview 166 This document aims to describe the data model for OTN topology. As a 167 classic Traffic-engineering (TE) technology, OTN provide TDM 168 switching in transport network. Therefore the YANG module presented 169 in this document augments from a more generic Traffic Engineered (TE) 170 network topology data model, i.e., the ietf-te-topology.yang, as 171 specified in [I-D.ietf-teas-yang-te-topo]. In section 6 of 172 [I-D.ietf-teas-yang-te-topo], the guideline for augmenting TE 173 topology model was provided, and in this draft we respetively augment 174 the OTN attributes, TE bandwidth and TE label. 176 The entities and TE attributes, such as node, termination points and 177 links, are still applicable for describing an OTN topology and the 178 model presented in this document only specifies with technology- 179 specific attributes/information. In OTN attributes augmentation, 180 mainly OTN-specific parameters are included such as Tributary Slot 181 Granularity (TSG), payload type and so on. 183 For different order of ODU in OTN technology, the te-bandwidth is 184 augmented to allow specifying the type of ODU container and the 185 number a link can support per priority level. For example, for a 186 ODU3 link, it may advertise 32*ODU0, 16*ODU1, 4*ODU2 available, 187 assuming only a single priority level is supported. If one of ODU2 188 resource is taken to establish a ODU path, then the availability of 189 this ODU link is updated as 24*ODU0, 12*ODU1, 3*ODU2 available. If 190 there are equipment hardware limitations, then a subset of potential 191 ODU type SHALL be advertised. For instance, an ODU3 link may only 192 support 4*ODU2. 194 The types of OTN label can be divided into the tributary ports and 195 the tributary slots, represented by TPN or TS list respectively. In 196 the TE-label augmentation, two optional label formats are available 197 for label representation. 199 Note the model in this document re-uses some attributes defined in 200 ietf-otn-types.yang, which is specified in 201 [I-D.ietf-ccamp-otn-tunnel-model]. 203 The YANG module ietf-otn-topology defined in this document conforms 204 to the Network Management Datastore Architecture (NMDA) defined in 205 [RFC8342]. 207 3.2. YANG Tree for OTN topology 209 The following OTN specific attributes have been augmented to TE 210 topology models. 212 module: ietf-otn-topology 213 augment /nw:networks/nw:network/nw:network-types/tet:te-topology: 214 +--rw otn-topology! 215 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes: 216 +--rw tsg? identityref 217 +--rw distance? uint32 218 augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te: 219 +--rw supported-payload-types* [index] 220 | +--rw index uint16 221 | +--rw payload-type? string 222 +--rw client-facing? boolean 224 The technology specific TE bandwidth for OTN topology can be specified 225 using the following augment statements: 227 augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te 228 /tet:interface-switching-capability/tet:max-lsp-bandwidth 229 /tet:te-bandwidth/tet:technology: 230 +--:(otn) 231 +--rw odu-type? identityref 232 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 233 /tet:connectivity-matrices/tet:path-constraints 234 /tet:te-bandwidth/tet:technology: 235 +--:(otn) 236 +--rw odulist* [odu-type] 237 +--rw odu-type identityref 238 +--rw number? uint16 239 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 240 /tet:connectivity-matrices/tet:connectivity-matrix 241 /tet:path-constraints/tet:te-bandwidth/tet:technology: 242 +--:(otn) 243 +--rw odulist* [odu-type] 244 +--rw odu-type identityref 245 +--rw number? uint16 246 augment /nw:networks/nw:network/nw:node/tet:te 247 /tet:information-source-entry/tet:connectivity-matrices 248 /tet:path-constraints/tet:te-bandwidth/tet:technology: 249 +--:(otn) 250 +--ro odulist* [odu-type] 251 +--ro odu-type identityref 252 +--ro number? uint16 253 augment /nw:networks/nw:network/nw:node/tet:te 254 /tet:information-source-entry/tet:connectivity-matrices 255 /tet:connectivity-matrix/tet:path-constraints 256 /tet:te-bandwidth/tet:technology: 257 +--:(otn) 258 +--ro odulist* [odu-type] 259 +--ro odu-type identityref 260 +--ro number? uint16 261 augment /nw:networks/nw:network/nw:node/tet:te 262 /tet:tunnel-termination-point/tet:client-layer-adaptation 263 /tet:switching-capability/tet:te-bandwidth/tet:technology: 264 +--:(otn) 265 +--rw odulist* [odu-type] 266 +--rw odu-type identityref 267 +--rw number? uint16 268 augment /nw:networks/nw:network/nw:node/tet:te 269 /tet:tunnel-termination-point/tet:local-link-connectivities 270 /tet:path-constraints/tet:te-bandwidth/tet:technology: 271 +--:(otn) 272 +--rw odulist* [odu-type] 273 +--rw odu-type identityref 274 +--rw number? uint16 275 augment /nw:networks/nw:network/nw:node/tet:te 276 /tet:tunnel-termination-point/tet:local-link-connectivities 277 /tet:local-link-connectivity/tet:path-constraints 278 /tet:te-bandwidth/tet:technology: 279 +--:(otn) 280 +--rw odulist* [odu-type] 281 +--rw odu-type identityref 282 +--rw number? uint16 283 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 284 /tet:interface-switching-capability/tet:max-lsp-bandwidth 285 /tet:te-bandwidth/tet:technology: 286 +--:(otn) 287 +--rw odu-type? identityref 289 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 290 /tet:max-link-bandwidth/tet:te-bandwidth/tet:technology: 291 +--:(otn) 292 +--rw odulist* [odu-type] 293 +--rw odu-type identityref 294 +--rw number? uint16 295 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 296 /tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology: 297 +--:(otn) 298 +--rw odulist* [odu-type] 299 +--rw odu-type identityref 300 +--rw number? uint16 301 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 302 /tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology: 303 +--:(otn) 304 +--rw odulist* [odu-type] 305 +--rw odu-type identityref 306 +--rw number? uint16 307 augment /nw:networks/nw:network/nt:link/tet:te 308 /tet:information-source-entry 309 /tet:interface-switching-capability/tet:max-lsp-bandwidth 310 /tet:te-bandwidth/tet:technology: 311 +--:(otn) 312 +--ro odu-type? identityref 313 augment /nw:networks/nw:network/nt:link/tet:te 314 /tet:information-source-entry/tet:max-link-bandwidth 315 /tet:te-bandwidth/tet:technology: 316 +--:(otn) 317 +--ro odulist* [odu-type] 318 +--ro odu-type identityref 319 +--ro number? uint16 320 augment /nw:networks/nw:network/nt:link/tet:te 321 /tet:information-source-entry 322 /tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology: 323 +--:(otn) 324 +--ro odulist* [odu-type] 325 +--ro odu-type identityref 326 +--ro number? uint16 327 augment /nw:networks/nw:network/nt:link/tet:te 328 /tet:information-source-entry/tet:unreserved-bandwidth 329 /tet:te-bandwidth/tet:technology: 330 +--:(otn) 331 +--ro odulist* [odu-type] 332 +--ro odu-type identityref 333 +--ro number? uint16 334 augment /nw:networks/tet:te/tet:templates/tet:link-template 335 /tet:te-link-attributes/tet:interface-switching-capability 336 /tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology: 338 +--:(otn) 339 +--rw odu-type? identityref 340 augment /nw:networks/tet:te/tet:templates/tet:link-template 341 /tet:te-link-attributes/tet:max-link-bandwidth 342 /tet:te-bandwidth/tet:technology: 343 +--:(otn) 344 +--rw odulist* [odu-type] 345 +--rw odu-type identityref 346 +--rw number? uint16 347 augment /nw:networks/tet:te/tet:templates/tet:link-template 348 /tet:te-link-attributes/tet:max-resv-link-bandwidth 349 /tet:te-bandwidth/tet:technology: 350 +--:(otn) 351 +--rw odulist* [odu-type] 352 +--rw odu-type identityref 353 +--rw number? uint16 354 augment /nw:networks/tet:te/tet:templates/tet:link-template 355 /tet:te-link-attributes/tet:unreserved-bandwidth 356 /tet:te-bandwidth/tet:technology: 357 +--:(otn) 358 +--rw odulist* [odu-type] 359 +--rw odu-type identityref 360 +--rw number? uint16 361 The technology specific TE label for this OTN topology can be specified 362 using the following augment statements: 363 augment /nw:networks/nw:network/nw:node/tet:te 364 /tet:te-node-attributes/tet:connectivity-matrices 365 /tet:label-restrictions/tet:label-restriction: 366 +--rw range-type? identityref 367 +--rw tsg? identityref 368 +--rw priority? uint8 369 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 370 /tet:connectivity-matrices/tet:label-restrictions 371 /tet:label-restriction/tet:label-start/tet:te-label 372 /tet:technology: 373 +--:(otn) 374 +--rw (otn-label-type)? 375 +--:(tributary-port) 376 | +--rw tpn? uint16 377 +--:(tributary-slot) 378 +--rw ts? uint16 379 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 380 /tet:connectivity-matrices/tet:label-restrictions 381 /tet:label-restriction/tet:label-end/tet:te-label 382 /tet:technology: 383 +--:(otn) 384 +--rw (otn-label-type)? 385 +--:(tributary-port) 386 | +--rw tpn? uint16 387 +--:(tributary-slot) 388 +--rw ts? uint16 389 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 390 /tet:connectivity-matrices/tet:underlay/tet:primary-path 391 /tet:path-element/tet:type/tet:label/tet:label-hop 392 /tet:te-label/tet:technology: 393 +--:(otn) 394 +--rw tpn? uint16 395 +--rw tsg? identityref 396 +--rw ts-list? string 397 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 398 /tet:connectivity-matrices/tet:underlay/tet:backup-path 399 /tet:path-element/tet:type/tet:label/tet:label-hop 400 /tet:te-label/tet:technology: 401 +--:(otn) 402 +--rw tpn? uint16 403 +--rw tsg? identityref 404 +--rw ts-list? string 405 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 406 /tet:connectivity-matrices/tet:optimizations/tet:algorithm 407 /tet:metric/tet:optimization-metric 408 /tet:explicit-route-exclude-objects 409 /tet:route-object-exclude-object/tet:type/tet:label 410 /tet:label-hop/tet:te-label/tet:technology: 411 +--:(otn) 412 +--rw tpn? uint16 413 +--rw tsg? identityref 414 +--rw ts-list? string 415 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 416 /tet:connectivity-matrices/tet:optimizations/tet:algorithm 417 /tet:metric/tet:optimization-metric 418 /tet:explicit-route-include-objects 419 /tet:route-object-include-object/tet:type/tet:label 420 /tet:label-hop/tet:te-label/tet:technology: 421 +--:(otn) 422 +--rw tpn? uint16 423 +--rw tsg? identityref 424 +--rw ts-list? string 425 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 426 /tet:connectivity-matrices/tet:path-properties 427 /tet:path-route-objects/tet:path-route-object/tet:type 428 /tet:label/tet:label-hop/tet:te-label/tet:technology: 429 +--:(otn) 430 +--ro tpn? uint16 431 +--ro tsg? identityref 432 +--ro ts-list? string 433 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 434 /tet:connectivity-matrices/tet:connectivity-matrix/tet:from 435 /tet:label-restrictions/tet:label-restriction: 436 +--rw range-type? identityref 437 +--rw tsg? identityref 438 +--rw priority? uint8 439 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 440 /tet:connectivity-matrices/tet:connectivity-matrix/tet:from 441 /tet:label-restrictions/tet:label-restriction/tet:label-start 442 /tet:te-label/tet:technology: 443 +--:(otn) 444 +--rw (otn-label-type)? 445 +--:(tributary-port) 446 | +--rw tpn? uint16 447 +--:(tributary-slot) 448 +--rw ts? uint16 449 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 450 /tet:connectivity-matrices/tet:connectivity-matrix/tet:from 451 /tet:label-restrictions/tet:label-restriction/tet:label-end 452 /tet:te-label/tet:technology: 453 +--:(otn) 454 +--rw (otn-label-type)? 455 +--:(tributary-port) 456 | +--rw tpn? uint16 457 +--:(tributary-slot) 458 +--rw ts? uint16 459 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 460 /tet:connectivity-matrices/tet:connectivity-matrix/tet:to 461 /tet:label-restrictions/tet:label-restriction: 462 +--rw range-type? identityref 463 +--rw tsg? identityref 464 +--rw priority? uint8 465 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 466 /tet:connectivity-matrices/tet:connectivity-matrix/tet:to 467 /tet:label-restrictions/tet:label-restriction/tet:label-start 468 /tet:te-label/tet:technology: 469 +--:(otn) 470 +--rw (otn-label-type)? 471 +--:(tributary-port) 472 | +--rw tpn? uint16 473 +--:(tributary-slot) 474 +--rw ts? uint16 475 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 476 /tet:connectivity-matrices/tet:connectivity-matrix/tet:to 477 /tet:label-restrictions/tet:label-restriction/tet:label-end 478 /tet:te-label/tet:technology: 479 +--:(otn) 480 +--rw (otn-label-type)? 481 +--:(tributary-port) 482 | +--rw tpn? uint16 483 +--:(tributary-slot) 484 +--rw ts? uint16 485 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 486 /tet:connectivity-matrices/tet:connectivity-matrix 487 /tet:underlay/tet:primary-path/tet:path-element/tet:type 488 /tet:label/tet:label-hop/tet:te-label/tet:technology: 489 +--:(otn) 490 +--rw tpn? uint16 491 +--rw tsg? identityref 492 +--rw ts-list? string 493 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 494 /tet:connectivity-matrices/tet:connectivity-matrix 495 /tet:underlay/tet:backup-path/tet:path-element/tet:type 496 /tet:label/tet:label-hop/tet:te-label/tet:technology: 497 +--:(otn) 498 +--rw tpn? uint16 499 +--rw tsg? identityref 500 +--rw ts-list? string 501 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 502 /tet:connectivity-matrices/tet:connectivity-matrix 503 /tet:optimizations/tet:algorithm/tet:metric 504 /tet:optimization-metric/tet:explicit-route-exclude-objects 505 /tet:route-object-exclude-object/tet:type/tet:label 506 /tet:label-hop/tet:te-label/tet:technology: 507 +--:(otn) 508 +--rw tpn? uint16 509 +--rw tsg? identityref 510 +--rw ts-list? string 511 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 512 /tet:connectivity-matrices/tet:connectivity-matrix 513 /tet:optimizations/tet:algorithm/tet:metric 514 /tet:optimization-metric/tet:explicit-route-include-objects 515 /tet:route-object-include-object/tet:type/tet:label 516 /tet:label-hop/tet:te-label/tet:technology: 517 +--:(otn) 518 +--rw tpn? uint16 519 +--rw tsg? identityref 520 +--rw ts-list? string 521 augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes 522 /tet:connectivity-matrices/tet:connectivity-matrix 523 /tet:path-properties/tet:path-route-objects 524 /tet:path-route-object/tet:type/tet:label/tet:label-hop 525 /tet:te-label/tet:technology: 526 +--:(otn) 527 +--ro tpn? uint16 528 +--ro tsg? identityref 529 +--ro ts-list? string 531 augment /nw:networks/nw:network/nw:node/tet:te 532 /tet:information-source-entry/tet:connectivity-matrices 533 /tet:label-restrictions/tet:label-restriction: 534 +--ro range-type? identityref 535 +--ro tsg? identityref 536 +--ro priority? uint8 537 augment /nw:networks/nw:network/nw:node/tet:te 538 /tet:information-source-entry/tet:connectivity-matrices 539 /tet:label-restrictions/tet:label-restriction 540 /tet:label-start/tet:te-label/tet:technology: 541 +--:(otn) 542 +--ro (otn-label-type)? 543 +--:(tributary-port) 544 | +--ro tpn? uint16 545 +--:(tributary-slot) 546 +--ro ts? uint16 547 augment /nw:networks/nw:network/nw:node/tet:te 548 /tet:information-source-entry/tet:connectivity-matrices 549 /tet:label-restrictions/tet:label-restriction 550 /tet:label-end/tet:te-label/tet:technology: 551 +--:(otn) 552 +--ro (otn-label-type)? 553 +--:(tributary-port) 554 | +--ro tpn? uint16 555 +--:(tributary-slot) 556 +--ro ts? uint16 557 augment /nw:networks/nw:network/nw:node/tet:te 558 /tet:information-source-entry/tet:connectivity-matrices 559 /tet:underlay/tet:primary-path/tet:path-element 560 /tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 561 +--:(otn) 562 +--ro tpn? uint16 563 +--ro tsg? identityref 564 +--ro ts-list? string 565 augment /nw:networks/nw:network/nw:node/tet:te 566 /tet:information-source-entry/tet:connectivity-matrices 567 /tet:underlay/tet:backup-path/tet:path-element/tet:type 568 /tet:label/tet:label-hop/tet:te-label/tet:technology: 569 +--:(otn) 570 +--ro tpn? uint16 571 +--ro tsg? identityref 572 +--ro ts-list? string 573 augment /nw:networks/nw:network/nw:node/tet:te 574 /tet:information-source-entry/tet:connectivity-matrices 575 /tet:optimizations/tet:algorithm/tet:metric 576 /tet:optimization-metric/tet:explicit-route-exclude-objects 577 /tet:route-object-exclude-object/tet:type/tet:label 578 /tet:label-hop/tet:te-label/tet:technology: 580 +--:(otn) 581 +--ro tpn? uint16 582 +--ro tsg? identityref 583 +--ro ts-list? string 584 augment /nw:networks/nw:network/nw:node/tet:te 585 /tet:information-source-entry/tet:connectivity-matrices 586 /tet:optimizations/tet:algorithm/tet:metric 587 /tet:optimization-metric/tet:explicit-route-include-objects 588 /tet:route-object-include-object/tet:type/tet:label 589 /tet:label-hop/tet:te-label/tet:technology: 590 +--:(otn) 591 +--ro tpn? uint16 592 +--ro tsg? identityref 593 +--ro ts-list? string 594 augment /nw:networks/nw:network/nw:node/tet:te 595 /tet:information-source-entry/tet:connectivity-matrices 596 /tet:path-properties/tet:path-route-objects 597 /tet:path-route-object/tet:type/tet:label/tet:label-hop 598 /tet:te-label/tet:technology: 599 +--:(otn) 600 +--ro tpn? uint16 601 +--ro tsg? identityref 602 +--ro ts-list? string 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-restrictions 606 /tet:label-restriction: 607 +--ro range-type? identityref 608 +--ro tsg? identityref 609 +--ro priority? uint8 610 augment /nw:networks/nw:network/nw:node/tet:te 611 /tet:information-source-entry/tet:connectivity-matrices 612 /tet:connectivity-matrix/tet:from/tet:label-restrictions 613 /tet:label-restriction/tet:label-start/tet:te-label 614 /tet:technology: 615 +--:(otn) 616 +--ro (otn-label-type)? 617 +--:(tributary-port) 618 | +--ro tpn? uint16 619 +--:(tributary-slot) 620 +--ro ts? uint16 621 augment /nw:networks/nw:network/nw:node/tet:te 622 /tet:information-source-entry/tet:connectivity-matrices 623 /tet:connectivity-matrix/tet:from/tet:label-restrictions 624 /tet:label-restriction/tet:label-end/tet:te-label 625 /tet:technology: 626 +--:(otn) 627 +--ro (otn-label-type)? 628 +--:(tributary-port) 629 | +--ro tpn? uint16 630 +--:(tributary-slot) 631 +--ro ts? uint16 632 augment /nw:networks/nw:network/nw:node/tet:te 633 /tet:information-source-entry/tet:connectivity-matrices 634 /tet:connectivity-matrix/tet:to/tet:label-restrictions 635 /tet:label-restriction: 636 +--ro range-type? identityref 637 +--ro tsg? identityref 638 +--ro priority? uint8 639 augment /nw:networks/nw:network/nw:node/tet:te 640 /tet:information-source-entry/tet:connectivity-matrices 641 /tet:connectivity-matrix/tet:to/tet:label-restrictions 642 /tet:label-restriction/tet:label-start/tet:te-label 643 /tet:technology: 644 +--:(otn) 645 +--ro (otn-label-type)? 646 +--:(tributary-port) 647 | +--ro tpn? uint16 648 +--:(tributary-slot) 649 +--ro ts? uint16 650 augment /nw:networks/nw:network/nw:node/tet:te 651 /tet:information-source-entry/tet:connectivity-matrices 652 /tet:connectivity-matrix/tet:to/tet:label-restrictions 653 /tet:label-restriction/tet:label-end/tet:te-label 654 /tet:technology: 655 +--:(otn) 656 +--ro (otn-label-type)? 657 +--:(tributary-port) 658 | +--ro tpn? uint16 659 +--:(tributary-slot) 660 +--ro ts? uint16 661 augment /nw:networks/nw:network/nw:node/tet:te 662 /tet:information-source-entry/tet:connectivity-matrices 663 /tet:connectivity-matrix/tet:underlay/tet:primary-path 664 /tet:path-element/tet:type/tet:label/tet:label-hop 665 /tet:te-label/tet:technology: 666 +--:(otn) 667 +--ro tpn? uint16 668 +--ro tsg? identityref 669 +--ro ts-list? string 670 augment /nw:networks/nw:network/nw:node/tet:te 671 /tet:information-source-entry/tet:connectivity-matrices 672 /tet:connectivity-matrix/tet:underlay/tet:backup-path 673 /tet:path-element/tet:type/tet:label/tet:label-hop 674 /tet:te-label/tet:technology: 675 +--:(otn) 676 +--ro tpn? uint16 677 +--ro tsg? identityref 678 +--ro ts-list? string 679 augment /nw:networks/nw:network/nw:node/tet:te 680 /tet:information-source-entry/tet:connectivity-matrices 681 /tet:connectivity-matrix/tet:optimizations/tet:algorithm 682 /tet:metric/tet:optimization-metric 683 /tet:explicit-route-exclude-objects 684 /tet:route-object-exclude-object/tet:type/tet:label 685 /tet:label-hop/tet:te-label/tet:technology: 686 +--:(otn) 687 +--ro tpn? uint16 688 +--ro tsg? identityref 689 +--ro ts-list? string 690 augment /nw:networks/nw:network/nw:node/tet:te 691 /tet:information-source-entry/tet:connectivity-matrices 692 /tet:connectivity-matrix/tet:optimizations/tet:algorithm 693 /tet:metric/tet:optimization-metric 694 /tet:explicit-route-include-objects 695 /tet:route-object-include-object/tet:type/tet:label 696 /tet:label-hop/tet:te-label/tet:technology: 697 +--:(otn) 698 +--ro tpn? uint16 699 +--ro tsg? identityref 700 +--ro ts-list? string 701 augment /nw:networks/nw:network/nw:node/tet:te 702 /tet:information-source-entry/tet:connectivity-matrices 703 /tet:connectivity-matrix/tet:path-properties 704 /tet:path-route-objects/tet:path-route-object/tet:type 705 /tet:label/tet:label-hop/tet:te-label/tet:technology: 706 +--:(otn) 707 +--ro tpn? uint16 708 +--ro tsg? identityref 709 +--ro ts-list? string 710 augment /nw:networks/nw:network/nw:node/tet:te 711 /tet:tunnel-termination-point/tet:local-link-connectivities 712 /tet:label-restrictions/tet:label-restriction: 713 +--rw range-type? identityref 714 +--rw tsg? identityref 715 +--rw priority? uint8 716 augment /nw:networks/nw:network/nw:node/tet:te 717 /tet:tunnel-termination-point/tet:local-link-connectivities 718 /tet:label-restrictions/tet:label-restriction 719 /tet:label-start/tet:te-label/tet:technology: 720 +--:(otn) 721 +--rw (otn-label-type)? 722 +--:(tributary-port) 723 | +--rw tpn? uint16 724 +--:(tributary-slot) 725 +--rw ts? uint16 726 augment /nw:networks/nw:network/nw:node/tet:te 727 /tet:tunnel-termination-point/tet:local-link-connectivities 728 /tet:label-restrictions/tet:label-restriction/tet:label-end 729 /tet:te-label/tet:technology: 730 +--:(otn) 731 +--rw (otn-label-type)? 732 +--:(tributary-port) 733 | +--rw tpn? uint16 734 +--:(tributary-slot) 735 +--rw ts? uint16 736 augment /nw:networks/nw:network/nw:node/tet:te 737 /tet:tunnel-termination-point/tet:local-link-connectivities 738 /tet:underlay/tet:primary-path/tet:path-element/tet:type 739 /tet:label/tet:label-hop/tet:te-label/tet:technology: 740 +--:(otn) 741 +--rw tpn? uint16 742 +--rw tsg? identityref 743 +--rw ts-list? string 744 augment /nw:networks/nw:network/nw:node/tet:te 745 /tet:tunnel-termination-point/tet:local-link-connectivities 746 /tet:underlay/tet:backup-path/tet:path-element/tet:type 747 /tet:label/tet:label-hop/tet:te-label/tet:technology: 748 +--:(otn) 749 +--rw tpn? uint16 750 +--rw tsg? identityref 751 +--rw ts-list? string 752 augment /nw:networks/nw:network/nw:node/tet:te 753 /tet:tunnel-termination-point/tet:local-link-connectivities 754 /tet:optimizations/tet:algorithm/tet:metric 755 /tet:optimization-metric/tet:explicit-route-exclude-objects 756 /tet:route-object-exclude-object/tet:type/tet:label 757 /tet:label-hop/tet:te-label/tet:technology: 758 +--:(otn) 759 +--rw tpn? uint16 760 +--rw tsg? identityref 761 +--rw ts-list? string 762 augment /nw:networks/nw:network/nw:node/tet:te 763 /tet:tunnel-termination-point/tet:local-link-connectivities 764 /tet:optimizations/tet:algorithm/tet:metric 765 /tet:optimization-metric/tet:explicit-route-include-objects 766 /tet:route-object-include-object/tet:type/tet:label 767 /tet:label-hop/tet:te-label/tet:technology: 768 +--:(otn) 769 +--rw tpn? uint16 770 +--rw tsg? identityref 771 +--rw ts-list? string 773 augment /nw:networks/nw:network/nw:node/tet:te 774 /tet:tunnel-termination-point/tet:local-link-connectivities 775 /tet:path-properties/tet:path-route-objects 776 /tet:path-route-object/tet:type/tet:label/tet:label-hop 777 /tet:te-label/tet:technology: 778 +--:(otn) 779 +--ro tpn? uint16 780 +--ro tsg? identityref 781 +--ro ts-list? string 782 augment /nw:networks/nw:network/nw:node/tet:te 783 /tet:tunnel-termination-point/tet:local-link-connectivities 784 /tet:local-link-connectivity/tet:label-restrictions 785 /tet:label-restriction: 786 +--rw range-type? identityref 787 +--rw tsg? identityref 788 +--rw priority? uint8 789 augment /nw:networks/nw:network/nw:node/tet:te 790 /tet:tunnel-termination-point/tet:local-link-connectivities 791 /tet:local-link-connectivity/tet:label-restrictions 792 /tet:label-restriction/tet:label-start/tet:te-label 793 /tet:technology: 794 +--:(otn) 795 +--rw (otn-label-type)? 796 +--:(tributary-port) 797 | +--rw tpn? uint16 798 +--:(tributary-slot) 799 +--rw ts? uint16 800 augment /nw:networks/nw:network/nw:node/tet:te 801 /tet:tunnel-termination-point/tet:local-link-connectivities 802 /tet:local-link-connectivity/tet:label-restrictions 803 /tet:label-restriction/tet:label-end/tet:te-label 804 /tet:technology: 805 +--:(otn) 806 +--rw (otn-label-type)? 807 +--:(tributary-port) 808 | +--rw tpn? uint16 809 +--:(tributary-slot) 810 +--rw ts? uint16 811 augment /nw:networks/nw:network/nw:node/tet:te 812 /tet:tunnel-termination-point/tet:local-link-connectivities 813 /tet:local-link-connectivity/tet:underlay/tet:primary-path 814 /tet:path-element/tet:type/tet:label/tet:label-hop 815 /tet:te-label/tet:technology: 816 +--:(otn) 817 +--rw tpn? uint16 818 +--rw tsg? identityref 819 +--rw ts-list? string 820 augment /nw:networks/nw:network/nw:node/tet:te 821 /tet:tunnel-termination-point/tet:local-link-connectivities 822 /tet:local-link-connectivity/tet:underlay/tet:backup-path 823 /tet:path-element/tet:type/tet:label/tet:label-hop 824 /tet:te-label/tet:technology: 825 +--:(otn) 826 +--rw tpn? uint16 827 +--rw tsg? identityref 828 +--rw ts-list? string 829 augment /nw:networks/nw:network/nw:node/tet:te 830 /tet:tunnel-termination-point/tet:local-link-connectivities 831 /tet:local-link-connectivity/tet:optimizations/tet:algorithm 832 /tet:metric/tet:optimization-metric 833 /tet:explicit-route-exclude-objects 834 /tet:route-object-exclude-object/tet:type/tet:label 835 /tet:label-hop/tet:te-label/tet:technology: 836 +--:(otn) 837 +--rw tpn? uint16 838 +--rw tsg? identityref 839 +--rw ts-list? string 840 augment /nw:networks/nw:network/nw:node/tet:te 841 /tet:tunnel-termination-point/tet:local-link-connectivities 842 /tet:local-link-connectivity/tet:optimizations/tet:algorithm 843 /tet:metric/tet:optimization-metric 844 /tet:explicit-route-include-objects 845 /tet:route-object-include-object/tet:type/tet:label 846 /tet:label-hop/tet:te-label/tet:technology: 847 +--:(otn) 848 +--rw tpn? uint16 849 +--rw tsg? identityref 850 +--rw ts-list? string 851 augment /nw:networks/nw:network/nw:node/tet:te 852 /tet:tunnel-termination-point/tet:local-link-connectivities 853 /tet:local-link-connectivity/tet:path-properties 854 /tet:path-route-objects/tet:path-route-object/tet:type 855 /tet:label/tet:label-hop/tet:te-label/tet:technology: 856 +--:(otn) 857 +--ro tpn? uint16 858 +--ro tsg? identityref 859 +--ro ts-list? string 860 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 861 /tet:underlay/tet:primary-path/tet:path-element/tet:type 862 /tet:label/tet:label-hop/tet:te-label/tet:technology: 863 +--:(otn) 864 +--rw tpn? uint16 865 +--rw tsg? identityref 866 +--rw ts-list? string 867 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 868 /tet:underlay/tet:backup-path/tet:path-element/tet:type 869 /tet:label/tet:label-hop/tet:te-label/tet:technology: 870 +--:(otn) 871 +--rw tpn? uint16 872 +--rw tsg? identityref 873 +--rw ts-list? string 874 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 875 /tet:label-restrictions/tet:label-restriction: 876 +--rw range-type? identityref 877 +--rw tsg? identityref 878 +--rw priority? uint8 879 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 880 /tet:label-restrictions/tet:label-restriction 881 /tet:label-start/tet:te-label/tet:technology: 882 +--:(otn) 883 +--rw (otn-label-type)? 884 +--:(tributary-port) 885 | +--rw tpn? uint16 886 +--:(tributary-slot) 887 +--rw ts? uint16 888 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 889 /tet:label-restrictions/tet:label-restriction/tet:label-end 890 /tet:te-label/tet:technology: 891 +--:(otn) 892 +--rw (otn-label-type)? 893 +--:(tributary-port) 894 | +--rw tpn? uint16 895 +--:(tributary-slot) 896 +--rw ts? uint16 897 augment /nw:networks/nw:network/nt:link/tet:te 898 /tet:information-source-entry/tet:label-restrictions 899 /tet:label-restriction: 900 +--ro range-type? identityref 901 +--ro tsg? identityref 902 +--ro priority? uint8 903 augment /nw:networks/nw:network/nt:link/tet:te 904 /tet:information-source-entry/tet:label-restrictions 905 /tet:label-restriction/tet:label-start/tet:te-label 906 /tet:technology: 907 +--:(otn) 908 +--ro (otn-label-type)? 909 +--:(tributary-port) 910 | +--ro tpn? uint16 911 +--:(tributary-slot) 912 +--ro ts? uint16 913 augment /nw:networks/nw:network/nt:link/tet:te 914 /tet:information-source-entry/tet:label-restrictions 915 /tet:label-restriction/tet:label-end/tet:te-label 916 /tet:technology: 918 +--:(otn) 919 +--ro (otn-label-type)? 920 +--:(tributary-port) 921 | +--ro tpn? uint16 922 +--:(tributary-slot) 923 +--ro ts? uint16 924 augment /nw:networks/tet:te/tet:templates/tet:link-template 925 /tet:te-link-attributes/tet:underlay/tet:primary-path 926 /tet:path-element/tet:type/tet:label/tet:label-hop 927 /tet:te-label/tet:technology: 928 +--:(otn) 929 +--rw tpn? uint16 930 +--rw tsg? identityref 931 +--rw ts-list? string 932 augment /nw:networks/tet:te/tet:templates/tet:link-template 933 /tet:te-link-attributes/tet:underlay/tet:backup-path 934 /tet:path-element/tet:type/tet:label/tet:label-hop 935 /tet:te-label/tet:technology: 936 +--:(otn) 937 +--rw tpn? uint16 938 +--rw tsg? identityref 939 +--rw ts-list? string 940 augment /nw:networks/tet:te/tet:templates/tet:link-template 941 /tet:te-link-attributes/tet:label-restrictions 942 /tet:label-restriction: 943 +--rw range-type? identityref 944 +--rw tsg? identityref 945 +--rw priority? uint8 946 augment /nw:networks/tet:te/tet:templates/tet:link-template 947 /tet:te-link-attributes/tet:label-restrictions 948 /tet:label-restriction/tet:label-start/tet:te-label 949 /tet:technology: 950 +--:(otn) 951 +--rw (otn-label-type)? 952 +--:(tributary-port) 953 | +--rw tpn? uint16 954 +--:(tributary-slot) 955 +--rw ts? uint16 956 augment /nw:networks/tet:te/tet:templates/tet:link-template 957 /tet:te-link-attributes/tet:label-restrictions 958 /tet:label-restriction/tet:label-end/tet:te-label 959 /tet:technology: 960 +--:(otn) 961 +--rw (otn-label-type)? 962 +--:(tributary-port) 963 | +--rw tpn? uint16 964 +--:(tributary-slot) 965 +--rw ts? uint16 967 4. The YANG Code 969 file "ietf-otn-topology.yang" 971 module ietf-otn-topology { 972 yang-version 1.1; 974 namespace "urn:ietf:params:xml:ns:yang:ietf-otn-topology"; 975 prefix "otntopo"; 977 import ietf-network { 978 prefix "nw"; 979 } 981 import ietf-network-topology { 982 prefix "nt"; 983 } 985 import ietf-te-topology { 986 prefix "tet"; 987 } 989 import ietf-otn-types { 990 prefix "otn-types"; 991 } 993 organization 994 "IETF CCAMP Working Group"; 995 contact 996 "WG Web: 997 WG List: 999 Editor: Haomian Zheng 1000 1002 Editor: Aihua Guo 1003 1005 Editor: Italo Busi 1006 1008 Editor: Anurag Sharma 1009 1011 Editor: Xufeng Liu 1012 1014 Editor: Sergio Belotti 1015 1017 Editor: Yunbin Xu 1018 1020 Editor: Lei Wang 1021 1023 Editor: Oscar Gonzalez de Dios 1024 "; 1026 description 1027 "This module defines a protocol independent Layer 1/ODU topology 1028 data model."; 1030 revision 2018-07-31 { 1031 description 1032 "Revision 0.7"; 1033 reference 1034 "draft-ietf-ccamp-otn-topo-yang-04"; 1035 } 1037 /* 1038 * Groupings 1039 */ 1041 grouping otn-link-attributes { 1042 description "link attributes for OTN"; 1044 leaf tsg { 1045 type identityref { 1046 base otn-types:tributary-slot-granularity; 1047 } 1048 description "Tributary slot granularity."; 1049 reference 1050 "G.709/Y.1331, February 2016: Interfaces for the 1051 Optical Transport Network (OTN)"; 1052 } 1053 leaf distance { 1054 type uint32; 1055 description "distance in the unit of kilometers"; 1056 } 1057 } 1059 grouping otn-tp-attributes { 1060 description "tp attributes for OTN"; 1061 list supported-payload-types { 1062 key "index"; 1063 description 1064 "Supported payload types of a TP. The payload type is defined 1065 as the generalized PIDs in GMPLS."; 1066 leaf index { 1067 type uint16; 1068 description "payload type index"; 1069 } 1070 leaf payload-type { 1071 type string; 1072 description "the payload type supported by this client tp"; 1073 reference 1074 "http://www.iana.org/assignments/gmpls-sig-parameters 1075 /gmpls-sig-parameters.xhtml"; 1076 } 1077 } 1078 leaf client-facing { 1079 type boolean; 1080 default 'false'; 1081 description 1082 "Indicating if it is a client-facing TP."; 1083 } 1084 } 1086 /* 1087 * Data nodes 1088 */ 1090 augment "/nw:networks/nw:network/nw:network-types/" 1091 + "tet:te-topology" { 1092 container otn-topology { 1093 presence "indicates a topology type of Optical Transport 1094 Network (OTN)-electrical layer."; 1095 description "otn topology type"; 1096 } 1097 description "augment network types to include otn newtork"; 1098 } 1100 augment "/nw:networks/nw:network/nt:link/tet:te/" 1101 + "tet:te-link-attributes" { 1102 when "../../../nw:network-types/tet:te-topology/" 1103 + "otntopo:otn-topology" { 1104 description "Augment only for otn network."; 1105 } 1106 description "Augment link configuration"; 1107 uses otn-link-attributes; 1108 } 1109 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 1110 + "tet:te" { 1111 when "../../../nw:network-types/tet:te-topology/" 1112 + "otntopo:otn-topology" { 1113 description "Augment only for otn network"; 1114 } 1115 description "OTN TP attributes config in ODU topology."; 1116 uses otn-tp-attributes; 1117 } 1119 /* 1120 * Augment TE bandwidth 1121 */ 1123 /* Augment maximum LSP bandwidth of link terminationpoint (LTP) */ 1124 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 1125 + "tet:te/" 1126 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 1127 + "tet:te-bandwidth/tet:technology" { 1128 when "../../../../../../../nw:network-types/tet:te-topology/" 1129 + "otntopo:otn-topology" { 1130 description "Augment OTN TE bandwidth"; 1131 } 1132 description "OTN bandwidth."; 1133 case otn { 1134 uses otn-types:otn-path-bandwidth; 1135 } 1136 } 1138 /* Augment bandwidth path constraints of connectivity-matrices */ 1139 augment "/nw:networks/nw:network/nw:node/tet:te/" 1140 + "tet:te-node-attributes/tet:connectivity-matrices/" 1141 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1142 when "../../../../../../../nw:network-types/tet:te-topology/" 1143 + "otntopo:otn-topology" { 1144 description "Augment OTN TE bandwidth"; 1145 } 1146 description "OTN bandwidth."; 1147 case otn { 1148 uses otn-types:otn-link-bandwidth; 1149 } 1150 } 1152 /* Augment bandwidth path constraints of connectivity-matrix */ 1153 augment "/nw:networks/nw:network/nw:node/tet:te/" 1154 + "tet:te-node-attributes/tet:connectivity-matrices/" 1155 + "tet:connectivity-matrix/" 1156 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1158 when "../../../../../../../../nw:network-types/tet:te-topology/" 1159 + "otntopo:otn-topology" { 1160 description "Augment OTN TE bandwidth"; 1161 } 1162 description "OTN bandwidth."; 1163 case otn { 1164 uses otn-types:otn-link-bandwidth; 1165 } 1166 } 1168 /* Augment bandwidth path constraints of connectivity-matrices information-source */ 1169 augment "/nw:networks/nw:network/nw:node/tet:te/" 1170 + "tet:information-source-entry/tet:connectivity-matrices/" 1171 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1172 when "../../../../../../../nw:network-types/tet:te-topology/" 1173 + "otntopo:otn-topology" { 1174 description "Augment OTN TE bandwidth"; 1175 } 1176 description "OTN bandwidth."; 1177 case otn { 1178 uses otn-types:otn-link-bandwidth; 1179 } 1180 } 1182 /* Augment bandwidth path constraints of connectivity-matrix information-source */ 1183 augment "/nw:networks/nw:network/nw:node/tet:te/" 1184 + "tet:information-source-entry/tet:connectivity-matrices/" 1185 + "tet:connectivity-matrix/" 1186 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 1187 when "../../../../../../../../nw:network-types/tet:te-topology/" 1188 + "otntopo:otn-topology" { 1189 description "Augment OTN TE bandwidth"; 1190 } 1191 description "OTN bandwidth."; 1192 case otn { 1193 uses otn-types:otn-link-bandwidth; 1194 } 1195 } 1197 /* Augment client bandwidth of tunnel termination point (TTP) */ 1198 augment "/nw:networks/nw:network/nw:node/tet:te/" 1199 + "tet:tunnel-termination-point/" 1200 + "tet:client-layer-adaptation/tet:switching-capability/" 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 bandwidth path constraints of local-link-connectivities */ 1213 augment "/nw:networks/nw:network/nw:node/tet:te/" 1214 + "tet:tunnel-termination-point/" 1215 + "tet:local-link-connectivities/tet:path-constraints/" 1216 + "tet:te-bandwidth/tet:technology" { 1217 when "../../../../../../../nw:network-types/tet:te-topology/" 1218 + "otntopo:otn-topology" { 1219 description "Augment OTN TE bandwidth"; 1220 } 1221 description "OTN bandwidth."; 1222 case otn { 1223 uses otn-types:otn-link-bandwidth; 1224 } 1225 } 1227 /* Augment bandwidth path constraints of local-link-connectivity (LLC) */ 1228 augment "/nw:networks/nw:network/nw:node/tet:te/" 1229 + "tet:tunnel-termination-point/" 1230 + "tet:local-link-connectivities/" 1231 + "tet:local-link-connectivity/tet:path-constraints/" 1232 + "tet:te-bandwidth/tet:technology" { 1233 when "../../../../../../../../nw:network-types/tet:te-topology/" 1234 + "otntopo:otn-topology" { 1235 description "Augment OTN TE bandwidth"; 1236 } 1237 description "OTN bandwidth."; 1238 case otn { 1239 uses otn-types:otn-link-bandwidth; 1240 } 1241 } 1243 /* Augment maximum LSP bandwidth of TE link */ 1244 augment "/nw:networks/nw:network/nt:link/tet:te/" 1245 + "tet:te-link-attributes/" 1246 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 1247 + "tet:te-bandwidth/tet:technology" { 1248 when "../../../../../../../nw:network-types/tet:te-topology/" 1249 + "otntopo:otn-topology" { 1250 description "OTN TE bandwidth."; 1251 } 1252 description "OTN bandwidth."; 1253 case otn { 1254 uses otn-types:otn-path-bandwidth; 1255 } 1256 } 1258 /* Augment maximum bandwidth of TE link */ 1259 augment "/nw:networks/nw:network/nt:link/tet:te/" 1260 + "tet:te-link-attributes/" 1261 + "tet:max-link-bandwidth/" 1262 + "tet:te-bandwidth/tet:technology" { 1263 when "../../../../../../nw:network-types/tet:te-topology/" 1264 + "otntopo:otn-topology" { 1265 description "OTN TE bandwidth."; 1266 } 1267 description "OTN bandwidth."; 1268 case otn { 1269 uses otn-types:otn-link-bandwidth; 1270 } 1271 } 1273 /* Augment maximum reservable bandwidth of TE link */ 1274 augment "/nw:networks/nw:network/nt:link/tet:te/" 1275 + "tet:te-link-attributes/" 1276 + "tet:max-resv-link-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-link-bandwidth; 1285 } 1286 } 1288 /* Augment unreserved bandwidth of TE Link */ 1289 augment "/nw:networks/nw:network/nt:link/tet:te/" 1290 + "tet:te-link-attributes/" 1291 + "tet:unreserved-bandwidth/" 1292 + "tet:te-bandwidth/tet:technology" { 1293 when "../../../../../../nw:network-types/tet:te-topology/" 1294 + "otntopo:otn-topology" { 1295 description "OTN TE bandwidth."; 1296 } 1297 description "OTN bandwidth."; 1298 case otn { 1299 uses otn-types:otn-link-bandwidth; 1300 } 1301 } 1302 /* Augment maximum LSP bandwidth of TE link information-source */ 1303 augment "/nw:networks/nw:network/nt:link/tet:te/" 1304 + "tet:information-source-entry/" 1305 + "tet:interface-switching-capability/" 1306 + "tet:max-lsp-bandwidth/" 1307 + "tet:te-bandwidth/tet:technology" { 1308 when "../../../../../../../nw:network-types/tet:te-topology/" 1309 + "otntopo:otn-topology" { 1310 description "OTN TE bandwidth."; 1311 } 1312 description "OTN bandwidth."; 1313 case otn { 1314 uses otn-types:otn-path-bandwidth; 1315 } 1316 } 1318 /* Augment maximum bandwidth of TE link information-source */ 1319 augment "/nw:networks/nw:network/nt:link/tet:te/" 1320 + "tet:information-source-entry/" 1321 + "tet:max-link-bandwidth/" 1322 + "tet:te-bandwidth/tet:technology" { 1323 when "../../../../../../nw:network-types/tet:te-topology/" 1324 + "otntopo:otn-topology" { 1325 description "OTN TE bandwidth."; 1326 } 1327 description "OTN bandwidth."; 1328 case otn { 1329 uses otn-types:otn-link-bandwidth; 1330 } 1331 } 1333 /* Augment maximum reservable bandwidth of TE link information-source */ 1334 augment "/nw:networks/nw:network/nt:link/tet:te/" 1335 + "tet:information-source-entry/" 1336 + "tet:max-resv-link-bandwidth/" 1337 + "tet:te-bandwidth/tet:technology" { 1338 when "../../../../../../nw:network-types/tet:te-topology/" 1339 + "otntopo:otn-topology" { 1340 description "OTN TE bandwidth."; 1341 } 1342 description "OTN bandwidth."; 1343 case otn { 1344 uses otn-types:otn-link-bandwidth; 1345 } 1346 } 1348 /* Augment unreserved bandwidth of TE link information-source */ 1349 augment "/nw:networks/nw:network/nt:link/tet:te/" 1350 + "tet:information-source-entry/" 1351 + "tet:unreserved-bandwidth/" 1352 + "tet:te-bandwidth/tet:technology" { 1353 when "../../../../../../nw:network-types/tet:te-topology/" 1354 + "otntopo:otn-topology" { 1355 description "OTN TE bandwidth."; 1356 } 1357 description "OTN bandwidth."; 1358 case otn { 1359 uses otn-types:otn-link-bandwidth; 1360 } 1361 } 1363 /* Augment maximum LSP bandwidth of TE link template */ 1364 augment "/nw:networks/tet:te/tet:templates/" 1365 + "tet:link-template/tet:te-link-attributes/" 1366 + "tet:interface-switching-capability/" 1367 + "tet:max-lsp-bandwidth/" 1368 + "tet:te-bandwidth/tet:technology" { 1369 /* 1370 when "../../../../../../../nw:network-types/tet:te-topology/" 1371 + "otntopo:otn-topology" { 1372 description "OTN TE bandwidth."; 1373 } 1374 */ 1375 description "OTN bandwidth."; 1376 case otn { 1377 uses otn-types:otn-path-bandwidth; 1378 } 1379 } 1381 /* Augment maximum bandwidth of TE link template */ 1382 augment "/nw:networks/tet:te/tet:templates/" 1383 + "tet:link-template/tet:te-link-attributes/" 1384 + "tet:max-link-bandwidth/" 1385 + "tet:te-bandwidth/tet:technology" { 1386 /* 1387 when "../../../../../../nw:network-types/tet:te-topology/" 1388 + "otntopo:otn-topology" { 1389 description "OTN TE bandwidth."; 1390 } 1391 */ 1392 description "OTN bandwidth."; 1393 case otn { 1394 uses otn-types:otn-link-bandwidth; 1395 } 1396 } 1397 /* Augment maximum reservable bandwidth of TE link template */ 1398 augment "/nw:networks/tet:te/tet:templates/" 1399 + "tet:link-template/tet:te-link-attributes/" 1400 + "tet:max-resv-link-bandwidth/" 1401 + "tet:te-bandwidth/tet:technology" { 1402 /* 1403 when "../../../../../../nw:network-types/tet:te-topology/" 1404 + "otntopo:otn-topology" { 1405 description "OTN TE bandwidth."; 1406 } 1407 */ 1408 description "OTN bandwidth."; 1409 case otn { 1410 uses otn-types:otn-link-bandwidth; 1411 } 1412 } 1414 /* Augment unreserved bandwidth of TE link template */ 1415 augment "/nw:networks/tet:te/tet:templates/" 1416 + "tet:link-template/tet:te-link-attributes/" 1417 + "tet:unreserved-bandwidth/" 1418 + "tet:te-bandwidth/tet:technology" { 1419 /* 1420 when "../../../../../../../nw:network-types/tet:te-topology/" 1421 + "otntopo:otn-topology" { 1422 description "OTN TE bandwidth."; 1423 } 1424 */ 1425 description "OTN bandwidth."; 1426 case otn { 1427 uses otn-types:otn-link-bandwidth; 1428 } 1429 } 1431 /* 1432 * Augment TE label. 1433 */ 1435 /* Augment label restrictions of connectivity-matrices */ 1436 augment "/nw:networks/nw:network/nw:node/tet:te/" 1437 + "tet:te-node-attributes/tet:connectivity-matrices/" 1438 + "tet:label-restrictions/tet:label-restriction" { 1439 when "../../../../../nw:network-types/tet:te-topology/" 1440 + "otntopo:otn-topology" { 1441 description "Augment OTN TE label"; 1442 } 1443 description "OTN label restriction."; 1444 uses otn-types:otn-label-restriction; 1446 } 1448 /* Augment label restrictions start of connectivity-matrices */ 1449 augment "/nw:networks/nw:network/nw:node/tet:te/" 1450 + "tet:te-node-attributes/tet:connectivity-matrices/" 1451 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 1452 + "tet:te-label/tet:technology" { 1453 when "../../../../../../../../nw:network-types/tet:te-topology/" 1454 + "otntopo:otn-topology" { 1455 description "Augment OTN TE label"; 1456 } 1457 description "OTN label."; 1458 case otn { 1459 uses otn-types:otn-link-label; 1460 } 1461 } 1463 /* Augment label restrictions end of connectivity-matrices */ 1464 augment "/nw:networks/nw:network/nw:node/tet:te/" 1465 + "tet:te-node-attributes/tet:connectivity-matrices/" 1466 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 1467 + "tet:te-label/tet:technology" { 1468 when "../../../../../../../../nw:network-types/tet:te-topology/" 1469 + "otntopo:otn-topology" { 1470 description "Augment OTN TE label"; 1471 } 1472 description "OTN label."; 1473 case otn { 1474 uses otn-types:otn-link-label; 1475 } 1476 } 1478 /* Augment label hop of underlay primary path of connectivity-matrices */ 1479 augment "/nw:networks/nw:network/nw:node/tet:te/" 1480 + "tet:te-node-attributes/tet:connectivity-matrices/" 1481 + "tet:underlay/tet:primary-path/tet:path-element/" 1482 + "tet:type/tet:label/tet:label-hop/" 1483 + "tet:te-label/tet:technology" { 1484 when "../../../../../../../../../../../../" 1485 + "nw:network-types/tet:te-topology/" 1486 + "otntopo:otn-topology" { 1487 description "Augment OTN TE label"; 1488 } 1489 description "OTN label."; 1490 case otn { 1491 uses otn-types:otn-path-label; 1492 } 1493 } 1494 /* Augment label hop of underlay backup path of connectivity-matrices */ 1495 augment "/nw:networks/nw:network/nw:node/tet:te/" 1496 + "tet:te-node-attributes/tet:connectivity-matrices/" 1497 + "tet:underlay/tet:backup-path/tet:path-element/" 1498 + "tet:type/tet:label/tet:label-hop/" 1499 + "tet:te-label/tet:technology" { 1500 when "../../../../../../../../../../../../" 1501 + "nw:network-types/tet:te-topology/" 1502 + "otntopo:otn-topology" { 1503 description "Augment OTN TE label"; 1504 } 1505 description "OTN label."; 1506 case otn { 1507 uses otn-types:otn-path-label; 1508 } 1509 } 1511 /* Augment label hop of route-exclude of connectivity-matrices */ 1512 augment "/nw:networks/nw:network/nw:node/tet:te/" 1513 + "tet:te-node-attributes/tet:connectivity-matrices/" 1514 + "tet:optimizations/tet:algorithm/tet:metric/" 1515 + "tet:optimization-metric/" 1516 + "tet:explicit-route-exclude-objects/" 1517 + "tet:route-object-exclude-object/" 1518 + "tet:type/tet:label/tet:label-hop/" 1519 + "tet:te-label/tet:technology" { 1520 when "../../../../../../../../../../../../../../" 1521 + "nw:network-types/tet:te-topology/" 1522 + "otntopo:otn-topology" { 1523 description "Augment OTN TE label"; 1524 } 1525 description "OTN label."; 1526 case otn { 1527 uses otn-types:otn-path-label; 1528 } 1529 } 1531 /* Augment label hop of route-include of connectivity-matrices (added) */ 1532 augment "/nw:networks/nw:network/nw:node/tet:te/" 1533 + "tet:te-node-attributes/tet:connectivity-matrices/" 1534 + "tet:optimizations/tet:algorithm/tet:metric/" 1535 + "tet:optimization-metric/" 1536 + "tet:explicit-route-include-objects/" 1537 + "tet:route-object-include-object/" 1538 + "tet:type/tet:label/tet:label-hop/" 1539 + "tet:te-label/tet:technology" { 1540 when "../../../../../../../../../../../../../../" 1541 + "nw:network-types/tet:te-topology/" 1542 + "otntopo:otn-topology" { 1543 description "Augment OTN TE label"; 1544 } 1545 description "OTN label."; 1546 case otn { 1547 uses otn-types:otn-path-label; 1548 } 1549 } 1551 /* Augment label hop of path-route of connectivity-matrices */ 1552 augment "/nw:networks/nw:network/nw:node/tet:te/" 1553 + "tet:te-node-attributes/tet:connectivity-matrices/" 1554 + "tet:path-properties/tet:path-route-objects/" 1555 + "tet:path-route-object/tet:type/tet:label/tet:label-hop/" 1556 + "tet:te-label/tet:technology"{ 1557 when "../../../../../../../../../../../../" 1558 + "nw:network-types/tet:te-topology/" 1559 + "otntopo:otn-topology" { 1560 description "Augment OTN TE label"; 1561 } 1562 description "OTN label."; 1563 case otn { 1564 uses otn-types:otn-path-label; 1565 } 1566 } 1568 /* Augment ingress label restrictions of connectivity-matrix */ 1569 augment "/nw:networks/nw:network/nw:node/tet:te/" 1570 + "tet:te-node-attributes/tet:connectivity-matrices/" 1571 + "tet:connectivity-matrix/tet:from/" 1572 + "tet:label-restrictions/tet:label-restriction" { 1573 when "../../../../../../../nw:network-types/tet:te-topology/" 1574 + "otntopo:otn-topology" { 1575 description "Augment OTN TE label"; 1576 } 1577 description "OTN label."; 1578 uses otn-types:otn-label-restriction; 1579 } 1581 /* Augment ingress label restrictions start of connectivity-matrix */ 1582 augment "/nw:networks/nw:network/nw:node/tet:te/" 1583 + "tet:te-node-attributes/tet:connectivity-matrices/" 1584 + "tet:connectivity-matrix/tet:from/" 1585 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 1586 + "tet:te-label/tet:technology" { 1587 when "../../../../../../../../../../" 1588 + "nw:network-types/tet:te-topology/" 1589 + "otntopo:otn-topology" { 1591 description "Augment OTN TE label"; 1592 } 1593 description "OTN label."; 1594 case otn { 1595 uses otn-types:otn-link-label; 1596 } 1597 } 1599 /* Augment ingress label restrictions end of connectivity-matrix */ 1600 augment "/nw:networks/nw:network/nw:node/tet:te/" 1601 + "tet:te-node-attributes/tet:connectivity-matrices/" 1602 + "tet:connectivity-matrix/tet:from/" 1603 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 1604 + "tet:te-label/tet:technology" { 1605 when "../../../../../../../../../../" 1606 + "nw:network-types/tet:te-topology/" 1607 + "otntopo:otn-topology" { 1608 description "Augment OTN TE label"; 1609 } 1610 description "OTN label."; 1611 case otn { 1612 uses otn-types:otn-link-label; 1613 } 1614 } 1616 /* Augment egress label restrictions of connectivity-matrix */ 1617 augment "/nw:networks/nw:network/nw:node/tet:te/" 1618 + "tet:te-node-attributes/tet:connectivity-matrices/" 1619 + "tet:connectivity-matrix/tet:to/" 1620 + "tet:label-restrictions/tet:label-restriction" { 1621 when "../../../../../../../nw:network-types/tet:te-topology/" 1622 + "otntopo:otn-topology" { 1623 description "Augment OTN TE label"; 1624 } 1625 description "OTN label."; 1626 uses otn-types:otn-label-restriction; 1627 } 1629 /* Augment egress label restrictions start of connectivity-matrix */ 1630 augment "/nw:networks/nw:network/nw:node/tet:te/" 1631 + "tet:te-node-attributes/tet:connectivity-matrices/" 1632 + "tet:connectivity-matrix/tet:to/" 1633 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 1634 + "tet:te-label/tet:technology" { 1635 when "../../../../../../../../../../" 1636 + "nw:network-types/tet:te-topology/" 1637 + "otntopo:otn-topology" { 1638 description "Augment OTN TE label"; 1640 } 1641 description "OTN label."; 1642 case otn { 1643 uses otn-types:otn-link-label; 1644 } 1645 } 1647 /* Augment egress label restrictions end of connectivity-matrix */ 1648 augment "/nw:networks/nw:network/nw:node/tet:te/" 1649 + "tet:te-node-attributes/tet:connectivity-matrices/" 1650 + "tet:connectivity-matrix/tet:to/" 1651 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 1652 + "tet:te-label/tet:technology" { 1653 when "../../../../../../../../../../" 1654 + "nw:network-types/tet:te-topology/" 1655 + "otntopo:otn-topology" { 1656 description "Augment OTN TE label"; 1657 } 1658 description "OTN label."; 1659 case otn { 1660 uses otn-types:otn-link-label; 1661 } 1662 } 1664 /* Augment label hop of underlay primary path of connectivity-matrix */ 1665 augment "/nw:networks/nw:network/nw:node/tet:te/" 1666 + "tet:te-node-attributes/tet:connectivity-matrices/" 1667 + "tet:connectivity-matrix/" 1668 + "tet:underlay/tet:primary-path/tet:path-element/" 1669 + "tet:type/tet:label/tet:label-hop/" 1670 + "tet:te-label/tet:technology" { 1671 when "../../../../../../../../../../../../../" 1672 + "nw:network-types/tet:te-topology/" 1673 + "otntopo:otn-topology" { 1674 description "Augment OTN TE label"; 1675 } 1676 description "OTN label."; 1677 case otn { 1678 uses otn-types:otn-path-label; 1679 } 1680 } 1682 /* Augment label hop of underlay backup path of connectivity-matrix */ 1683 augment "/nw:networks/nw:network/nw:node/tet:te/" 1684 + "tet:te-node-attributes/tet:connectivity-matrices/" 1685 + "tet:connectivity-matrix/" 1686 + "tet:underlay/tet:backup-path/tet:path-element/" 1687 + "tet:type/tet:label/tet:label-hop/" 1688 + "tet:te-label/tet:technology" { 1689 when "../../../../../../../../../../../../../" 1690 + "nw:network-types/tet:te-topology/" 1691 + "otntopo:otn-topology" { 1692 description "Augment OTN TE label"; 1693 } 1694 description "OTN label."; 1695 case otn { 1696 uses otn-types:otn-path-label; 1697 } 1698 } 1700 /* Augment label hop of route-exclude of connectivity-matrix */ 1701 augment "/nw:networks/nw:network/nw:node/tet:te/" 1702 + "tet:te-node-attributes/tet:connectivity-matrices/" 1703 + "tet:connectivity-matrix/tet:optimizations/" 1704 + "tet:algorithm/tet:metric/tet:optimization-metric/" 1705 + "tet:explicit-route-exclude-objects/" 1706 + "tet:route-object-exclude-object/tet:type/" 1707 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1708 when "../../../../../../../../../../../../../../../../" 1709 + "nw:network-types/tet:te-topology/" 1710 + "otntopo:otn-topology" { 1711 description "Augment OTN TE label"; 1712 } 1713 description "OTN label."; 1714 case otn { 1715 uses otn-types:otn-path-label; 1716 } 1717 } 1719 /* Augment label hop of route-include of connectivity-matrix */ 1720 augment "/nw:networks/nw:network/nw:node/tet:te/" 1721 + "tet:te-node-attributes/tet:connectivity-matrices/" 1722 + "tet:connectivity-matrix/tet:optimizations/" 1723 + "tet:algorithm/tet:metric/tet:optimization-metric/" 1724 + "tet:explicit-route-include-objects/" 1725 + "tet:route-object-include-object/tet:type/" 1726 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1727 when "../../../../../../../../../../../../../../../../" 1728 + "nw:network-types/tet:te-topology/" 1729 + "otntopo:otn-topology" { 1730 description "Augment OTN TE label"; 1731 } 1732 description "OTN label."; 1733 case otn { 1734 uses otn-types:otn-path-label; 1735 } 1737 } 1739 /* Augment label hop of path-route of connectivity-matrix */ 1740 augment "/nw:networks/nw:network/nw:node/tet:te/" 1741 + "tet:te-node-attributes/tet:connectivity-matrices/" 1742 + "tet:connectivity-matrix/" 1743 + "tet:path-properties/tet:path-route-objects/" 1744 + "tet:path-route-object/tet:type/" 1745 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1746 when "../../../../../../../../../../../../../" 1747 + "nw:network-types/tet:te-topology/" 1748 + "otntopo:otn-topology" { 1749 description "Augment OTN TE label"; 1750 } 1751 description "OTN label."; 1752 case otn { 1753 uses otn-types:otn-path-label; 1754 } 1755 } 1757 /* Augment label restrictions of connectivity-matrices information-source */ 1758 augment "/nw:networks/nw:network/nw:node/tet:te/" 1759 + "tet:information-source-entry/" 1760 + "tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction" { 1761 when "../../../../../nw:network-types/tet:te-topology/" 1762 + "otntopo:otn-topology" { 1763 description "Augment OTN TE label"; 1764 } 1765 description "OTN label."; 1766 uses otn-types:otn-label-restriction; 1767 } 1769 /* Augment label restrictions start of connectivity-matrices information-source */ 1770 augment "/nw:networks/nw:network/nw:node/tet:te/" 1771 + "tet:information-source-entry/" 1772 + "tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction/" 1773 + "tet:label-start/tet:te-label/tet:technology" { 1774 when "../../../../../../../../" 1775 + "nw:network-types/tet:te-topology/" 1776 + "otntopo:otn-topology" { 1777 description "Augment OTN TE label"; 1778 } 1779 description "OTN label."; 1780 case otn { 1781 uses otn-types:otn-link-label; 1782 } 1783 } 1784 /* Augment label restrictions end of connectivity-matrices information-source */ 1785 augment "/nw:networks/nw:network/nw:node/tet:te/" 1786 + "tet:information-source-entry/" 1787 + "tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction/" 1788 + "tet:label-end/tet:te-label/tet:technology" { 1789 when "../../../../../../../../" 1790 + "nw:network-types/tet:te-topology/" 1791 + "otntopo:otn-topology" { 1792 description "Augment OTN TE label"; 1793 } 1794 description "OTN label."; 1795 case otn { 1796 uses otn-types:otn-link-label; 1797 } 1798 } 1800 /* Augment label hop of underlay primary path of connectivity-matrices information-source */ 1801 augment "/nw:networks/nw:network/nw:node/tet:te/" 1802 + "tet:information-source-entry/tet:connectivity-matrices/" 1803 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 1804 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1805 when "../../../../../../../../../../../../" 1806 + "nw:network-types/tet:te-topology/" 1807 + "otntopo:otn-topology" { 1808 description "Augment OTN TE label"; 1809 } 1810 description "OTN label."; 1811 case otn { 1812 uses otn-types:otn-path-label; 1813 } 1814 } 1816 /* Augment label hop of underlay backup path of connectivity-matrices information-source */ 1817 augment "/nw:networks/nw:network/nw:node/tet:te/" 1818 + "tet:information-source-entry/tet:connectivity-matrices/" 1819 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 1820 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1821 when "../../../../../../../../../../../../" 1822 + "nw:network-types/tet:te-topology/" 1823 + "otntopo:otn-topology" { 1824 description "Augment OTN TE label"; 1825 } 1826 description "OTN label."; 1827 case otn { 1828 uses otn-types:otn-path-label; 1829 } 1830 } 1831 /* Augment label hop of route-exclude of connectivity-matrices information-source */ 1832 augment "/nw:networks/nw:network/nw:node/tet:te/" 1833 + "tet:information-source-entry/tet:connectivity-matrices/" 1834 + "tet:optimizations/tet:algorithm/tet:metric/" 1835 + "tet:optimization-metric/" 1836 + "tet:explicit-route-exclude-objects/" 1837 + "tet:route-object-exclude-object/tet:type/" 1838 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1839 when "../../../../../../../../../../../../../../../" 1840 + "nw:network-types/tet:te-topology/" 1841 + "otntopo:otn-topology" { 1842 description "Augment OTN TE label"; 1843 } 1844 description "OTN label."; 1845 case otn { 1846 uses otn-types:otn-path-label; 1847 } 1848 } 1850 /* Augment label hop of route-include of connectivity-matrices information-source */ 1851 augment "/nw:networks/nw:network/nw:node/tet:te/" 1852 + "tet:information-source-entry/tet:connectivity-matrices/" 1853 + "tet:optimizations/tet:algorithm/tet:metric/" 1854 + "tet:optimization-metric/" 1855 + "tet:explicit-route-include-objects/" 1856 + "tet:route-object-include-object/tet:type/" 1857 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1858 when "../../../../../../../../../../../../../../../" 1859 + "nw:network-types/tet:te-topology/" 1860 + "otntopo:otn-topology" { 1861 description "Augment OTN TE label"; 1862 } 1863 description "OTN label."; 1864 case otn { 1865 uses otn-types:otn-path-label; 1866 } 1867 } 1869 /* Augment label hop of path-route of connectivity-matrices information-source */ 1870 augment "/nw:networks/nw:network/nw:node/tet:te/" 1871 + "tet:information-source-entry/tet:connectivity-matrices/" 1872 + "tet:path-properties/tet:path-route-objects/" 1873 + "tet:path-route-object/tet:type/" 1874 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1875 when "../../../../../../../../../../../../" 1876 + "nw:network-types/tet:te-topology/" 1877 + "otntopo:otn-topology" { 1878 description "Augment OTN TE label"; 1880 } 1881 description "OTN label."; 1882 case otn { 1883 uses otn-types:otn-path-label; 1884 } 1885 } 1887 /* Augment ingress label restrictions of connectivity-matrix information-source */ 1888 augment "/nw:networks/nw:network/nw:node/tet:te/" 1889 + "tet:information-source-entry/tet:connectivity-matrices/" 1890 + "tet:connectivity-matrix/" 1891 + "tet:from/tet:label-restrictions/tet:label-restriction" { 1892 when "../../../../../../../nw:network-types/tet:te-topology/" 1893 + "otntopo:otn-topology" { 1894 description "Augment OTN TE label"; 1895 } 1896 description "OTN label."; 1897 uses otn-types:otn-label-restriction; 1898 } 1900 /* Augment ingress label restrictions start of connectivity-matrix information-source */ 1901 augment "/nw:networks/nw:network/nw:node/tet:te/" 1902 + "tet:information-source-entry/tet:connectivity-matrices/" 1903 + "tet:connectivity-matrix/" 1904 + "tet:from/tet:label-restrictions/tet:label-restriction/" 1905 + "tet:label-start/tet:te-label/tet:technology" { 1906 when "../../../../../../../../../../" 1907 + "nw:network-types/tet:te-topology/" 1908 + "otntopo:otn-topology" { 1909 description "Augment OTN TE label"; 1910 } 1911 description "OTN label."; 1912 case otn { 1913 uses otn-types:otn-link-label; 1914 } 1915 } 1917 /* Augment ingress label restrictions end of connectivity-matrix information-source */ 1918 augment "/nw:networks/nw:network/nw:node/tet:te/" 1919 + "tet:information-source-entry/tet:connectivity-matrices/" 1920 + "tet:connectivity-matrix/" 1921 + "tet:from/tet:label-restrictions/tet:label-restriction/" 1922 + "tet:label-end/tet:te-label/tet:technology" { 1923 when "../../../../../../../../../../" 1924 + "nw:network-types/tet:te-topology/" 1925 + "otntopo:otn-topology" { 1926 description "Augment OTN TE label"; 1927 } 1928 description "OTN label."; 1929 case otn { 1930 uses otn-types:otn-link-label; 1931 } 1932 } 1934 /* Augment egress label restrictions of connectivity-matrix information-source */ 1935 augment "/nw:networks/nw:network/nw:node/tet:te/" 1936 + "tet:information-source-entry/tet:connectivity-matrices/" 1937 + "tet:connectivity-matrix/" 1938 + "tet:to/tet:label-restrictions/tet:label-restriction" { 1939 when "../../../../../../../nw:network-types/tet:te-topology/" 1940 + "otntopo:otn-topology" { 1941 description "Augment OTN TE label"; 1942 } 1943 description "OTN label."; 1944 uses otn-types:otn-label-restriction; 1945 } 1947 /* Augment egress label restrictions start of connectivity-matrix information-source */ 1948 augment "/nw:networks/nw:network/nw:node/tet:te/" 1949 + "tet:information-source-entry/tet:connectivity-matrices/" 1950 + "tet:connectivity-matrix/" 1951 + "tet:to/tet:label-restrictions/tet:label-restriction/" 1952 + "tet:label-start/tet:te-label/tet:technology" { 1953 when "../../../../../../../../../../" 1954 + "nw:network-types/tet:te-topology/" 1955 + "otntopo:otn-topology" { 1956 description "Augment OTN TE label"; 1957 } 1958 description "OTN label."; 1959 case otn { 1960 uses otn-types:otn-link-label; 1961 } 1962 } 1964 /* Augment egress label restrictions end of connectivity-matrix information-source */ 1965 augment "/nw:networks/nw:network/nw:node/tet:te/" 1966 + "tet:information-source-entry/tet:connectivity-matrices/" 1967 + "tet:connectivity-matrix/" 1968 + "tet:to/tet:label-restrictions/tet:label-restriction/" 1969 + "tet:label-end/tet:te-label/tet:technology" { 1970 when "../../../../../../../../../../" 1971 + "nw:network-types/tet:te-topology/" 1972 + "otntopo:otn-topology" { 1973 description "Augment OTN TE label"; 1974 } 1975 description "OTN label."; 1976 case otn { 1977 uses otn-types:otn-link-label; 1978 } 1979 } 1981 /* Augment label hop of underlay primary path of connectivity-matrix information-source */ 1982 augment "/nw:networks/nw:network/nw:node/tet:te/" 1983 + "tet:information-source-entry/tet:connectivity-matrices/" 1984 + "tet:connectivity-matrix/" 1985 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 1986 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 1987 when "../../../../../../../../../../../../../" 1988 + "nw:network-types/tet:te-topology/" 1989 + "otntopo:otn-topology" { 1990 description "Augment OTN TE label"; 1991 } 1992 description "OTN label."; 1993 case otn { 1994 uses otn-types:otn-path-label; 1995 } 1996 } 1998 /* Augment label hop of underlay backup path of connectivity-matrix information-source */ 1999 augment "/nw:networks/nw:network/nw:node/tet:te/" 2000 + "tet:information-source-entry/tet:connectivity-matrices/" 2001 + "tet:connectivity-matrix/" 2002 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2003 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2004 when "../../../../../../../../../../../../../" 2005 + "nw:network-types/tet:te-topology/" 2006 + "otntopo:otn-topology" { 2007 description "Augment OTN TE label"; 2008 } 2009 description "OTN label."; 2010 case otn { 2011 uses otn-types:otn-path-label; 2012 } 2013 } 2015 /* Augment label hop of route-exclude of connectivity-matrix information-source */ 2016 augment "/nw:networks/nw:network/nw:node/tet:te/" 2017 + "tet:information-source-entry/tet:connectivity-matrices/" 2018 + "tet:connectivity-matrix/" 2019 + "tet:optimizations/tet:algorithm/tet:metric/" 2020 + "tet:optimization-metric/" 2021 + "tet:explicit-route-exclude-objects/" 2022 + "tet:route-object-exclude-object/tet:type/" 2023 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2025 when "../../../../../../../../../../../../../../../../" 2026 + "nw:network-types/tet:te-topology/" 2027 + "otntopo:otn-topology" { 2028 description "Augment OTN TE label"; 2029 } 2030 description "OTN label."; 2031 case otn { 2032 uses otn-types:otn-path-label; 2033 } 2034 } 2036 /* Augment label hop of route-include of connectivity-matrix information-source */ 2037 augment "/nw:networks/nw:network/nw:node/tet:te/" 2038 + "tet:information-source-entry/tet:connectivity-matrices/" 2039 + "tet:connectivity-matrix/" 2040 + "tet:optimizations/tet:algorithm/tet:metric/" 2041 + "tet:optimization-metric/" 2042 + "tet:explicit-route-include-objects/" 2043 + "tet:route-object-include-object/tet:type/" 2044 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2045 when "../../../../../../../../../../../../../../../../" 2046 + "nw:network-types/tet:te-topology/" 2047 + "otntopo:otn-topology" { 2048 description "Augment OTN TE label"; 2049 } 2050 description "OTN label."; 2051 case otn { 2052 uses otn-types:otn-path-label; 2053 } 2054 } 2056 /* Augment label hop of path-route of connectivity-matrix information-source */ 2057 augment "/nw:networks/nw:network/nw:node/tet:te/" 2058 + "tet:information-source-entry/tet:connectivity-matrices/" 2059 + "tet:connectivity-matrix/" 2060 + "tet:path-properties/tet:path-route-objects/" 2061 + "tet:path-route-object/tet:type/" 2062 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2063 when "../../../../../../../../../../../../../" 2064 + "nw:network-types/tet:te-topology/" 2065 + "otntopo:otn-topology" { 2066 description "Augment OTN TE label"; 2067 } 2068 description "OTN label."; 2069 case otn { 2070 uses otn-types:otn-path-label; 2071 } 2072 } 2073 /* Augment label restrictions 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-restrictions/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-restrictions/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-restrictions/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 } 2118 /* Augment label hop of underlay primary path 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 of local-link-connectivities */ 2136 augment "/nw:networks/nw:network/nw:node/tet:te/" 2137 + "tet:tunnel-termination-point/" 2138 + "tet:local-link-connectivities/" 2139 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2140 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2141 when "../../../../../../../../../../../../" 2142 + "nw:network-types/tet:te-topology/" 2143 + "otntopo:otn-topology" { 2144 description "Augment OTN TE label"; 2145 } 2146 description "OTN label."; 2147 case otn { 2148 uses otn-types:otn-path-label; 2149 } 2150 } 2152 /* Augment label hop of route-exclude of local-link-connectivities */ 2153 augment "/nw:networks/nw:network/nw:node/tet:te/" 2154 + "tet:tunnel-termination-point/" 2155 + "tet:local-link-connectivities/" 2156 + "tet:optimizations/tet:algorithm/tet:metric/" 2157 + "tet:optimization-metric/" 2158 + "tet:explicit-route-exclude-objects/" 2159 + "tet:route-object-exclude-object/tet:type/" 2160 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2161 when "../../../../../../../../../../../../../../../" 2162 + "nw:network-types/tet:te-topology/" 2163 + "otntopo:otn-topology" { 2164 description "Augment OTN TE label"; 2165 } 2166 description "OTN label."; 2167 case otn { 2168 uses otn-types:otn-path-label; 2170 } 2171 } 2173 /* Augment label hop of route-include of local-link-connectivities */ 2174 augment "/nw:networks/nw:network/nw:node/tet:te/" 2175 + "tet:tunnel-termination-point/" 2176 + "tet:local-link-connectivities/" 2177 + "tet:optimizations/tet:algorithm/tet:metric/" 2178 + "tet:optimization-metric/" 2179 + "tet:explicit-route-include-objects/" 2180 + "tet:route-object-include-object/tet:type/" 2181 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2182 when "../../../../../../../../../../../../../../../" 2183 + "nw:network-types/tet:te-topology/" 2184 + "otntopo:otn-topology" { 2185 description "Augment OTN TE label"; 2186 } 2187 description "OTN label."; 2188 case otn { 2189 uses otn-types:otn-path-label; 2190 } 2191 } 2193 /* Augment label hop of path-route of local-link-connectivities */ 2194 augment "/nw:networks/nw:network/nw:node/tet:te/" 2195 + "tet:tunnel-termination-point/" 2196 + "tet:local-link-connectivities/" 2197 + "tet:path-properties/tet:path-route-objects/" 2198 + "tet:path-route-object/tet:type/" 2199 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2200 when "../../../../../../../../../../../../" 2201 + "nw:network-types/tet:te-topology/" 2202 + "otntopo:otn-topology" { 2203 description "Augment OTN TE label"; 2204 } 2205 description "OTN label."; 2206 case otn { 2207 uses otn-types:otn-path-label; 2208 } 2209 } 2211 /* Augment label restrictions of local-link-connectivity (LLC) */ 2212 augment "/nw:networks/nw:network/nw:node/tet:te/" 2213 + "tet:tunnel-termination-point/" 2214 + "tet:local-link-connectivities/" 2215 + "tet:local-link-connectivity/" 2216 + "tet:label-restrictions/tet:label-restriction" { 2217 when "../../../../../../nw:network-types/tet:te-topology/" 2218 + "otntopo:otn-topology" { 2219 description "Augment OTN TE label"; 2220 } 2221 description "OTN label."; 2222 uses otn-types:otn-label-restriction; 2223 } 2225 /* Augment label restrictions start of local-link-connectivity (LLC) */ 2226 augment "/nw:networks/nw:network/nw:node/tet:te/" 2227 + "tet:tunnel-termination-point/" 2228 + "tet:local-link-connectivities/" 2229 + "tet:local-link-connectivity/" 2230 + "tet:label-restrictions/tet:label-restriction/" 2231 + "tet:label-start/tet:te-label/tet:technology" { 2232 when "../../../../../../../../../" 2233 + "nw:network-types/tet:te-topology/" 2234 + "otntopo:otn-topology" { 2235 description "Augment OTN TE label"; 2236 } 2237 description "OTN label."; 2238 case otn { 2239 uses otn-types:otn-link-label; 2240 } 2241 } 2243 /* Augment label restrictions end of local-link-connectivity (LLC) */ 2244 augment "/nw:networks/nw:network/nw:node/tet:te/" 2245 + "tet:tunnel-termination-point/" 2246 + "tet:local-link-connectivities/" 2247 + "tet:local-link-connectivity/" 2248 + "tet:label-restrictions/tet:label-restriction/" 2249 + "tet:label-end/tet:te-label/tet:technology" { 2250 when "../../../../../../../../../" 2251 + "nw:network-types/tet:te-topology/" 2252 + "otntopo:otn-topology" { 2253 description "Augment OTN TE label"; 2254 } 2255 description "OTN label."; 2256 case otn { 2257 uses otn-types:otn-link-label; 2258 } 2259 } 2261 /* Augment label hop of underlay primary path of local-link-connectivity (LLC) */ 2262 augment "/nw:networks/nw:network/nw:node/tet:te/" 2263 + "tet:tunnel-termination-point/" 2264 + "tet:local-link-connectivities/" 2265 + "tet:local-link-connectivity/" 2266 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2267 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2268 when "../../../../../../../../../../../../../" 2269 + "nw:network-types/tet:te-topology/" 2270 + "otntopo:otn-topology" { 2271 description "Augment OTN TE label"; 2272 } 2273 description "OTN label."; 2274 case otn { 2275 uses otn-types:otn-path-label; 2276 } 2277 } 2279 /* Augment label hop of underlay backup path of local-link-connectivity (LLC) */ 2280 augment "/nw:networks/nw:network/nw:node/tet:te/" 2281 + "tet:tunnel-termination-point/" 2282 + "tet:local-link-connectivities/" 2283 + "tet:local-link-connectivity/" 2284 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2285 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2286 when "../../../../../../../../../../../../../" 2287 + "nw:network-types/tet:te-topology/" 2288 + "otntopo:otn-topology" { 2289 description "Augment OTN TE label"; 2290 } 2291 description "OTN label."; 2292 case otn { 2293 uses otn-types:otn-path-label; 2294 } 2295 } 2297 /* Augment label hop of route-exclude of local-link-connectivity (LLC) */ 2298 augment "/nw:networks/nw:network/nw:node/tet:te/" 2299 + "tet:tunnel-termination-point/" 2300 + "tet:local-link-connectivities/" 2301 + "tet:local-link-connectivity/" 2302 + "tet:optimizations/tet:algorithm/tet:metric/" 2303 + "tet:optimization-metric/" 2304 + "tet:explicit-route-exclude-objects/" 2305 + "tet:route-object-exclude-object/tet:type/" 2306 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2307 when "../../../../../../../../../../../../../../../../" 2308 + "nw:network-types/tet:te-topology/" 2309 + "otntopo:otn-topology" { 2310 description "Augment OTN TE label"; 2311 } 2312 description "OTN label."; 2313 case otn { 2314 uses otn-types:otn-path-label; 2315 } 2316 } 2318 /* Augment label hop of route-include of local-link-connectivity (LLC) */ 2319 augment "/nw:networks/nw:network/nw:node/tet:te/" 2320 + "tet:tunnel-termination-point/" 2321 + "tet:local-link-connectivities/" 2322 + "tet:local-link-connectivity/" 2323 + "tet:optimizations/tet:algorithm/tet:metric/" 2324 + "tet:optimization-metric/" 2325 + "tet:explicit-route-include-objects/" 2326 + "tet:route-object-include-object/tet:type/" 2327 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2328 when "../../../../../../../../../../../../../../../../" 2329 + "nw:network-types/tet:te-topology/" 2330 + "otntopo:otn-topology" { 2331 description "Augment OTN TE label"; 2332 } 2333 description "OTN label."; 2334 case otn { 2335 uses otn-types:otn-path-label; 2336 } 2337 } 2339 /* Augment label hop of path-route of local-link-connectivity (LLC) */ 2340 augment "/nw:networks/nw:network/nw:node/tet:te/" 2341 + "tet:tunnel-termination-point/" 2342 + "tet:local-link-connectivities/" 2343 + "tet:local-link-connectivity/" 2344 + "tet:path-properties/tet:path-route-objects/" 2345 + "tet:path-route-object/tet:type/" 2346 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2347 when "../../../../../../../../../../../../../" 2348 + "nw:network-types/tet:te-topology/" 2349 + "otntopo:otn-topology" { 2350 description "Augment OTN TE label"; 2351 } 2352 description "OTN label."; 2353 case otn { 2354 uses otn-types:otn-path-label; 2355 } 2356 } 2358 /* Augment label hop of underlay primary path of TE link */ 2359 augment "/nw:networks/nw:network/nt:link/tet:te/" 2360 + "tet:te-link-attributes/" 2361 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2362 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2363 when "../../../../../../../../../../../" 2364 + "nw:network-types/tet:te-topology/" 2365 + "otntopo:otn-topology" { 2366 description "Augment OTN TE label"; 2367 } 2368 description "OTN label."; 2369 case otn { 2370 uses otn-types:otn-path-label; 2371 } 2372 } 2374 /* Augment label hop of underlay backup path of TE link */ 2375 augment "/nw:networks/nw:network/nt:link/tet:te/" 2376 + "tet:te-link-attributes/" 2377 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2378 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2379 when "../../../../../../../../../../../" 2380 + "nw:network-types/tet:te-topology/" 2381 + "otntopo:otn-topology" { 2382 description "Augment OTN TE label"; 2383 } 2384 description "OTN label."; 2385 case otn { 2386 uses otn-types:otn-path-label; 2387 } 2388 } 2390 /* Augment label restrictions of TE link */ 2391 augment "/nw:networks/nw:network/nt:link/tet:te/" 2392 + "tet:te-link-attributes/" 2393 + "tet:label-restrictions/tet:label-restriction" { 2394 when "../../../../nw:network-types/tet:te-topology/" 2395 + "otntopo:otn-topology" { 2396 description "Augment OTN TE label"; 2397 } 2398 description "OTN label."; 2399 uses otn-types:otn-label-restriction; 2400 } 2402 /* Augment label restrictions start of TE link */ 2403 augment "/nw:networks/nw:network/nt:link/tet:te/" 2404 + "tet:te-link-attributes/" 2405 + "tet:label-restrictions/tet:label-restriction/" 2406 + "tet:label-start/tet:te-label/tet:technology" { 2407 when "../../../../../../../nw:network-types/tet:te-topology/" 2408 + "otntopo:otn-topology" { 2409 description "Augment OTN TE label"; 2411 } 2412 description "OTN label."; 2413 case otn { 2414 uses otn-types:otn-link-label; 2415 } 2416 } 2418 /* Augment label restrictions end of TE link */ 2419 augment "/nw:networks/nw:network/nt:link/tet:te/" 2420 + "tet:te-link-attributes/" 2421 + "tet:label-restrictions/tet:label-restriction/" 2422 + "tet:label-end/tet:te-label/tet:technology" { 2423 when "../../../../../../../nw:network-types/tet:te-topology/" 2424 + "otntopo:otn-topology" { 2425 description "Augment OTN TE label"; 2426 } 2427 description "OTN label."; 2428 case otn { 2429 uses otn-types:otn-link-label; 2430 } 2431 } 2433 /* Augment label restrictions of TE link information-source */ 2434 augment "/nw:networks/nw:network/nt:link/tet:te/" 2435 + "tet:information-source-entry/" 2436 + "tet:label-restrictions/tet:label-restriction" { 2437 when "../../../../nw:network-types/tet:te-topology/" 2438 + "otntopo:otn-topology" { 2439 description "Augment OTN TE label"; 2440 } 2441 description "OTN label."; 2442 uses otn-types:otn-label-restriction; 2443 } 2445 /* Augment label restrictions start of TE link information-source */ 2446 augment "/nw:networks/nw:network/nt:link/tet:te/" 2447 + "tet:information-source-entry/" 2448 + "tet:label-restrictions/tet:label-restriction/" 2449 + "tet:label-start/tet:te-label/tet:technology" { 2450 when "../../../../../../../nw:network-types/tet:te-topology/" 2451 + "otntopo:otn-topology" { 2452 description "Augment OTN TE label"; 2453 } 2454 description "OTN label."; 2455 case otn { 2456 uses otn-types:otn-link-label; 2457 } 2458 } 2459 /* Augment label restrictions end of TE link information-source */ 2460 augment "/nw:networks/nw:network/nt:link/tet:te/" 2461 + "tet:information-source-entry/" 2462 + "tet:label-restrictions/tet:label-restriction/" 2463 + "tet:label-end/tet:te-label/tet:technology" { 2464 when "../../../../../../../nw:network-types/tet:te-topology/" 2465 + "otntopo:otn-topology" { 2466 description "Augment OTN TE label"; 2467 } 2468 description "OTN label."; 2469 case otn { 2470 uses otn-types:otn-link-label; 2471 } 2472 } 2474 /* Augment label hop of underlay primary path of TE link template */ 2475 augment "/nw:networks/tet:te/tet:templates/" 2476 + "tet:link-template/tet:te-link-attributes/" 2477 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 2478 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2479 /* 2480 when "../../../../../../../../../../../../" 2481 + "nw:network-types/tet:te-topology/" 2482 + "otntopo:otn-topology" { 2483 description "Augment OTN TE label"; 2484 } 2485 */ 2486 description "OTN label."; 2487 case otn { 2488 uses otn-types:otn-path-label; 2489 } 2490 } 2492 /* Augment label hop of underlay backup path of TE link template */ 2493 augment "/nw:networks/tet:te/tet:templates/" 2494 + "tet:link-template/tet:te-link-attributes/" 2495 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 2496 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 2497 /* 2498 when "../../../../../../../../../../../../nw:network-types/tet:te-topology/" 2499 + "otntopo:otn-topology" { 2500 description "Augment OTN TE label"; 2501 } 2502 */ 2503 description "OTN label."; 2504 case otn { 2505 uses otn-types:otn-path-label; 2506 } 2508 } 2510 /* Augment label restrictions of TE link template */ 2511 augment "/nw:networks/tet:te/tet:templates/" 2512 + "tet:link-template/tet:te-link-attributes/" 2513 + "tet:label-restrictions/tet:label-restriction" { 2514 /* 2515 when "../../../../../nw:network-types/tet:te-topology/" 2516 + "otntopo:otn-topology" { 2517 description "Augment OTN TE label"; 2518 } 2519 */ 2520 description "OTN label."; 2521 uses otn-types:otn-label-restriction; 2522 } 2524 /* Augment label restrictions start of TE link template */ 2525 augment "/nw:networks/tet:te/tet:templates/" 2526 + "tet:link-template/tet:te-link-attributes/" 2527 + "tet:label-restrictions/tet:label-restriction/" 2528 + "tet:label-start/tet:te-label/tet:technology" { 2529 /* 2530 when "../../../../../../../../nw:network-types/tet:te-topology/" 2531 + "otntopo:otn-topology" { 2532 description "Augment OTN TE label"; 2533 } 2534 */ 2535 description "OTN label."; 2536 case otn { 2537 uses otn-types:otn-link-label; 2538 } 2539 } 2541 /* Augment label restrictions end of TE link template */ 2542 augment "/nw:networks/tet:te/tet:templates/" 2543 + "tet:link-template/tet:te-link-attributes/" 2544 + "tet:label-restrictions/tet:label-restriction/" 2545 + "tet:label-end/tet:te-label/tet:technology" { 2546 /* 2547 when "../../../../../../../../nw:network-types/tet:te-topology/" 2548 + "otntopo:otn-topology" { 2549 description "Augment OTN TE label"; 2550 } 2551 */ 2552 description "OTN label."; 2553 case otn { 2554 uses otn-types:otn-link-label; 2555 } 2557 } 2558 } 2560 2562 5. IANA Considerations 2564 It is proposed that IANA should assign new URIs from the "IETF XML 2565 Registry" [RFC3688] as follows: URI: 2566 urn:ietf:params:xml:ns:yang:ietf-otn-topology Registrant Contact: The 2567 IESG XML: N/A; the requested URI is an XML namespace. This document 2568 registers a YANG module in the YANG Module Names registry [RFC7950]. 2569 name: ietf-otn-topology namespace: urn:ietf:params:xml:ns:yang:ietf- 2570 otn-topology prefix: otntopo reference: RFC XXXX 2572 6. Security Considerations 2574 The YANG module specified in this document defines a schema for data 2575 that is designed to be accessed via network management protocols such 2576 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 2577 is the secure transport layer, and the mandatory-to-implement secure 2578 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 2579 is HTTPS, and the mandatory-to-implement secure transport is TLS 2580 [RFC5246]. 2582 The NETCONF access control model [RFC6536] provides the means to 2583 restrict access for particular NETCONF or RESTCONF users to a 2584 preconfigured subset of all available NETCONF or RESTCONF protocol 2585 operations and content. 2587 There are a number of data nodes defined in this YANG module that are 2588 writable/creatable/deletable (i.e., config true, which is the 2589 default). These data nodes may be considered sensitive or vulnerable 2590 in some network environments. Write operations (e.g., edit-config) 2591 to these data nodes without proper protection can have a negative 2592 effect on network operations. These are the subtrees and data nodes 2593 and their sensitivity/vulnerability: 2595 /nw:networks/nw:network/nw:network-types/tet:te-topology 2596 /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes 2597 /nw:networks/nw:network/nw:node/nt:termination-point/tet:te 2598 /nw:networks/nw:network/.../tet:te-bandwidth/tet:technology 2599 /nw:networks/nw:network/nw:node/tet:te/.../tet:label-restriction 2600 /nw:networks/nw:network/nw:node/.../tet:te-label/tet:technology 2601 Editors note: we are using simplified description by folding similar 2602 branches to avoid repetation. 2604 Some of the readable data nodes in this YANG module may be considered 2605 sensitive or vulnerable in some network environments. It is thus 2606 important to control read access (e.g., via get, get-config, or 2607 notification) to these data nodes. These are the subtrees and data 2608 nodes and their sensitivity/vulnerability: 2610 Editors note: Currently there is no such data nodes, temporarily kept 2611 for review. 2613 7. Acknowledgements 2615 We would like to thank Igor Bryskin, Zhe Liu, Zheyu Fan and Daniele 2616 Ceccarelli for their comments and discussions. 2618 8. Contributors 2620 Baoquan Rao 2621 Huawei Technologies 2622 Email: raobaoquan@huawei.com 2624 Xian Zhang 2625 Huawei Technologies 2626 Email: zhang.xian@huawei.com 2628 Huub van Helvoort 2629 Hai Gaoming BV 2630 the Netherlands 2631 Email: huubatwork@gmail.com 2633 Victor Lopez 2634 Telefonica 2635 Email: victor.lopezalvarez@telefonica.com 2637 Yunbo Li 2638 China Mobile 2639 Email: liyunbo@chinamobile.com 2641 Dieter Beller 2642 Nokia 2643 Email: dieter.beller@nokia.com 2645 Yanlei Zheng 2646 China Unicom 2647 Email: zhengyl@dimpt.com 2649 9. References 2651 9.1. Normative References 2653 [I-D.ietf-ccamp-otn-tunnel-model] 2654 zhenghaomian@huawei.com, z., Guo, A., Busi, I., Sharma, 2655 A., Rao, R., Belotti, S., Lopezalvarez, V., Li, Y., and Y. 2656 Xu, "OTN Tunnel YANG Model", draft-ietf-ccamp-otn-tunnel- 2657 model-03 (work in progress), July 2018. 2659 [I-D.ietf-teas-yang-te-topo] 2660 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 2661 O. Dios, "YANG Data Model for Traffic Engineering (TE) 2662 Topologies", draft-ietf-teas-yang-te-topo-18 (work in 2663 progress), June 2018. 2665 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 2666 DOI 10.17487/RFC3688, January 2004, 2667 . 2669 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 2670 (TLS) Protocol Version 1.2", RFC 5246, 2671 DOI 10.17487/RFC5246, August 2008, 2672 . 2674 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 2675 and A. Bierman, Ed., "Network Configuration Protocol 2676 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 2677 . 2679 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 2680 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 2681 . 2683 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 2684 Protocol (NETCONF) Access Control Model", RFC 6536, 2685 DOI 10.17487/RFC6536, March 2012, 2686 . 2688 [RFC7138] Ceccarelli, D., Ed., Zhang, F., Belotti, S., Rao, R., and 2689 J. Drake, "Traffic Engineering Extensions to OSPF for 2690 GMPLS Control of Evolving G.709 Optical Transport 2691 Networks", RFC 7138, DOI 10.17487/RFC7138, March 2014, 2692 . 2694 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 2695 RFC 7950, DOI 10.17487/RFC7950, August 2016, 2696 . 2698 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 2699 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 2700 . 2702 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 2703 and R. Wilton, "Network Management Datastore Architecture 2704 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 2705 . 2707 [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., 2708 Ananthakrishnan, H., and X. Liu, "A YANG Data Model for 2709 Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March 2710 2018, . 2712 9.2. Informative References 2714 [I-D.ietf-ccamp-flexigrid-yang] 2715 Madrid, U., Perdices, D., Lopezalvarez, V., Dios, O., 2716 King, D., Lee, Y., and G. Galimberti, "YANG data model for 2717 Flexi-Grid Optical Networks", draft-ietf-ccamp-flexigrid- 2718 yang-00 (work in progress), February 2018. 2720 [I-D.ietf-ccamp-wson-yang] 2721 Lee, Y., Dhody, D., Zhang, X., Guo, A., Lopezalvarez, V., 2722 King, D., Yoon, B., and R. Vilata, "A Yang Data Model for 2723 WSON Optical Networks", draft-ietf-ccamp-wson-yang-10 2724 (work in progress), February 2018. 2726 [I-D.ietf-netmod-yang-tree-diagrams] 2727 Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- 2728 ietf-netmod-yang-tree-diagrams-06 (work in progress), 2729 February 2018. 2731 [I-D.ietf-teas-actn-yang] 2732 Lee, Y., zhenghaomian@huawei.com, z., Ceccarelli, D., 2733 Yoon, B., and S. Belotti, "Applicability of YANG models 2734 for Abstraction and Control of Traffic Engineered 2735 Networks", draft-ietf-teas-actn-yang-01 (work in 2736 progress), February 2018. 2738 [RFC7062] Zhang, F., Ed., Li, D., Li, H., Belotti, S., and D. 2739 Ceccarelli, "Framework for GMPLS and PCE Control of G.709 2740 Optical Transport Networks", RFC 7062, 2741 DOI 10.17487/RFC7062, November 2013, 2742 . 2744 Authors' Addresses 2746 Haomian Zheng 2747 Huawei Technologies 2748 F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District 2749 Shenzhen, Guangdong 518129 2750 P.R.China 2752 Email: zhenghaomian@huawei.com 2754 Aihua Guo 2755 Huawei Technologies 2756 12007 Sunrise Valley Drive, Suite 325 2757 Reston, VA 20171 2758 U.S.A 2760 Email: aihuaguo@huawei.com 2762 Italo Busi 2763 Huawei Technologies 2764 HUAWEI TECHNOLOGIES ITALIA Srl Centro Direzionale Milano 2 2765 Milan, Milan 20090 2766 Italy 2768 Email: Italo.Busi@huawei.com 2770 Anurag Sharma 2771 Google 2772 1600 Amphitheatre Parkway 2773 Mountain View, CA 94043 2775 Email: ansha@google.com 2777 Xufeng Liu 2778 Volta Networks 2780 Email: xufeng.liu.ietf@gmail.com 2782 Sergio Belotti 2783 Nokia 2785 Email: sergio.belotti@nokia.com 2786 Yunbin Xu 2787 CAICT 2789 Email: xuyunbin@ritt.cn 2791 Lei Wang 2792 China Mobile 2794 Email: wangleiyj@chinamobile.com 2796 Oscar Gonzalez de Dios 2797 Telefonica 2799 Email: oscar.gonzalezdedios@telefonica.com