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