idnits 2.17.1 draft-ietf-teas-yang-te-topo-14.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 64 instances of weird spacing in the document. Is it really formatted ragged-right, rather than justified? Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 1053 has weird spacing: '...l-tp-id bin...' == Line 1081 has weird spacing: '...logy-id te-...' == Line 1167 has weird spacing: '...-tp-ref bin...' == Line 2878 has weird spacing: '...tes for te-li...' == Line 3945 has weird spacing: '...ment-id uin...' == (59 more instances...) -- The document date (February 20, 2018) is 2257 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC5212' is mentioned on line 313, but not defined == Missing Reference: 'R1' is mentioned on line 717, but not defined == Missing Reference: 'R2' is mentioned on line 723, but not defined == Missing Reference: 'R3' is mentioned on line 717, but not defined == Missing Reference: 'R4' is mentioned on line 723, but not defined == Missing Reference: 'R5' is mentioned on line 636, but not defined == Missing Reference: 'R6' is mentioned on line 640, but not defined == Missing Reference: 'R7' is mentioned on line 640, but not defined == Missing Reference: 'R8' is mentioned on line 640, but not defined == Missing Reference: 'R9' is mentioned on line 640, but not defined == Missing Reference: 'A' is mentioned on line 717, but not defined == Missing Reference: 'E' is mentioned on line 717, but not defined == Missing Reference: 'B' is mentioned on line 723, but not defined == Missing Reference: 'F' is mentioned on line 723, but not defined == Outdated reference: A later version (-26) exists of draft-ietf-netconf-subscribed-notifications-05 == Outdated reference: A later version (-18) exists of draft-ietf-ccamp-otn-topo-yang-01 Summary: 1 error (**), 0 flaws (~~), 23 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 TEAS Working Group Xufeng Liu 2 Internet Draft Jabil 3 Intended status: Standards Track Igor Bryskin 4 Huawei Technologies 5 Vishnu Pavan Beeram 6 Juniper Networks 7 Tarek Saad 8 Cisco Systems Inc 9 Himanshu Shah 10 Ciena 11 Oscar Gonzalez De Dios 12 Telefonica 14 Expires: August 20, 2018 February 20, 2018 16 YANG Data Model for Traffic Engineering (TE) Topologies 17 draft-ietf-teas-yang-te-topo-14 19 Status of this Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF), its areas, and its working groups. Note that 26 other groups may also distribute working documents as Internet- 27 Drafts. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt 37 The list of Internet-Draft Shadow Directories can be accessed at 38 http://www.ietf.org/shadow.html 40 This Internet-Draft will expire on August 20, 2018. 42 Copyright Notice 44 Copyright (c) 2018 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (http://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Abstract 59 This document defines a YANG data model for representing, retrieving 60 and manipulating Traffic Engineering (TE) Topologies. The model 61 serves as a base model that other technology specific TE Topology 62 models can augment. 64 Conventions used in this document 66 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 67 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 68 document are to be interpreted as described in RFC-2119 [RFC2119]. 70 Table of Contents 72 1. Introduction...................................................3 73 1.1. Terminology...............................................4 74 1.2. Tree Structure............................................4 75 1.3. Prefixes in Data Node Names...............................4 76 2. Characterizing TE Topologies...................................5 77 3. Modeling Abstractions and Transformations......................6 78 3.1. TE Topology...............................................6 79 3.2. TE Node...................................................6 80 3.3. TE Link...................................................7 81 3.4. Transitional TE Link for Multi-Layer Topologies...........7 82 3.5. TE Link Termination Point (LTP)...........................9 83 3.6. TE Tunnel Termination Point (TTP).........................9 84 3.7. TE Node Connectivity Matrix..............................10 85 3.8. TTP Local Link Connectivity List (LLCL)..................10 86 3.9. TE Path..................................................10 87 3.10. TE Inter-Layer Lock.....................................10 88 3.11. Underlay TE topology....................................12 89 3.12. Overlay TE topology.....................................12 90 3.13. Abstract TE topology....................................12 91 4. Model Applicability...........................................13 92 4.1. Native TE Topologies.....................................13 93 4.2. Customized TE Topologies.................................15 94 4.3. Merging TE Topologies Provided by Multiple Providers.....18 95 4.4. Dealing with Multiple Abstract TE Topologies Provided by the 96 Same Provider.................................................21 97 5. Modeling Considerations.......................................24 98 5.1. Network topology building blocks.........................24 99 5.2. Technology agnostic TE Topology model....................24 100 5.3. Model Structure..........................................25 101 5.4. Topology Identifiers.....................................26 102 5.5. Generic TE Link Attributes...............................26 103 5.6. Generic TE Node Attributes...............................27 104 5.7. TED Information Sources..................................28 105 5.8. Overlay/Underlay Relationship............................29 106 5.9. Templates................................................30 107 5.10. Scheduling Parameters...................................31 108 5.11. Notifications...........................................31 109 6. Guidance for Writing Technology Specific TE Topology Augmentations 110 .................................................................32 111 7. TE Topology Yang Module.......................................43 112 8. Security Considerations.......................................91 113 9. IANA Considerations...........................................91 114 10. References...................................................92 115 10.1. Normative References....................................92 116 10.2. Informative References..................................92 117 11. Acknowledgments..............................................93 118 Appendix A. Complete Model Tree Structure........................94 119 Appendix B. Companion YANG Model for Non-NMDA Compliant 120 Implementations.................................................136 121 Appendix C. Example: YANG Model for Technology Specific Augmentations 122 ................................................................144 123 Contributors....................................................182 124 Authors' Addresses..............................................182 126 1. Introduction 128 The Traffic Engineering Database (TED) is an essential component of 129 Traffic Engineered (TE) systems that are based on MPLS-TE [RFC2702] 130 and GMPLS [RFC3945]. The TED is a collection of all TE information 131 about all TE nodes and TE links in the network. The TE Topology is a 132 schematic arrangement of TE nodes and TE links present in a given 133 TED. There could be one or more TE Topologies present in a given 134 Traffic Engineered system. The TE Topology is the topology on which 135 path computational algorithms are run to compute Traffic Engineered 136 Paths (TE Paths). 138 This document defines a YANG [RFC7950] data model for representing 139 and manipulating TE Topologies. This model contains technology 140 agnostic TE Topology building blocks that can be augmented and used 141 by other technology-specific TE Topology models. 143 1.1. Terminology 145 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 146 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 147 document are to be interpreted as described in [RFC2119]. 149 The reader is assumed to be familiar with general body of work 150 captured in currently available TE related RFCs. RFC7926 serves as a 151 good starting point for those who may be less familiar with Traffic 152 Engineering related RFCs. 154 Some of the key terms used in this document are: 156 TED: The Traffic Engineering Database is a collection of all TE 157 information about all TE nodes and TE links in a given network. 159 TE-Topology: The TE Topology is a schematic arrangement of TE nodes 160 and TE links in a given TED. It forms the basis for a graph suitable 161 for TE path computations. 163 Native TE Topology: Native TE Topology is a topology that is native 164 to a given provider network. Native TE topology could be discovered 165 via various routing protocols and/or subscribe/publish techniques. 166 This is the topology on which path computational algorithms are run 167 to compute TE Paths. 169 Customized TE Topology: Customized TE Topology is a custom topology 170 that is produced by a provider for a given Client. This topology 171 typically augments the Client's Native TE Topology. Path 172 computational algorithms aren't typically run on the Customized TE 173 Topology; they are run on the Client's augmented Native TE Topology. 175 1.2. Tree Structure 177 A simplified graphical representation of the data model is presented 178 in Appendix A. of this document. The tree format defined in [YANG- 179 TREE] is used for the YANG data model tree representation. 181 1.3. Prefixes in Data Node Names 183 In this document, names of data nodes and other data model objects 184 are prefixed using the standard prefix associated with the 185 corresponding YANG imported modules, as shown in Table 1. 187 +--------+-----------------+-----------+ 188 | Prefix | YANG module | Reference | 189 +--------+-----------------+-----------+ 190 | yang | ietf-yang-types | [RFC6991] | 191 | inet | ietf-inet-types | [RFC6991] | 192 +--------+-----------------+-----------+ 194 Table 1: Prefixes and corresponding YANG modules 196 2. Characterizing TE Topologies 198 The data model proposed by this document takes the following 199 characteristics of TE Topologies into account: 201 - TE Topology is an abstract control-plane representation of the 202 data-plane topology. Hence attributes specific to the data-plane 203 must make their way into the corresponding TE Topology modeling. 204 The TE Topology comprises of dynamic auto-discovered data (data 205 that may change frequently - example: unreserved bandwidth 206 available on data-plane links) as well as fairly static data (data 207 that rarely changes- examples: layer network identification, 208 switching and adaptation capabilities and limitations, fate 209 sharing, administrative colors) associated with data-plane nodes 210 and links. It is possible for a single TE Topology to encompass TE 211 information at multiple switching layers. 213 - TE Topologies are protocol independent. Information about 214 topological elements may be learnt via link-state protocols, but 215 the topology can exist without being dependent on any particular 216 protocol. 218 - TE Topology may not be congruent to the routing topology (topology 219 constructed based on routing adjacencies) in a given TE System. 220 There isn't always a one-to-one association between a TE-link and 221 a routing adjacency. For example, the presence of a TE link 222 between a pair of nodes doesn't necessarily imply the existence of 223 a routing-adjacency between these nodes. 225 - Each TE Topological element has an information source associated 226 with it. In some scenarios, there could be more than one 227 information source associated with each topological element. 229 - TE Topologies can be hierarchical. Each node and link of a given 230 TE Topology can be associated with respective underlay topology. 231 This means that each node and link of a given TE Topology can be 232 associated with an independent stack of supporting TE Topologies. 234 - TE Topologies can be customized. TE topologies of a given network 235 presented by the network provider to its client could be 236 customized on per-client request basis. This customization could 237 be performed by provider, by client or by provider/client 238 negotiation. The relationship between a customized topology (as 239 presented to the client) and provider's native topology (as known 240 in its entirety to the provider itself) could be captured as 241 hierarchical (overlay-underlay), but otherwise the two topologies 242 are decoupled from each other. 244 3. Modeling Abstractions and Transformations 246 Node-1 Node-3 247 +------------+ +------------+ 248 | TTP-1 | | TTP-1 | 249 |LTP __ | TE-Tunel-1 | __ | 250 |-6 \/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\/ | 251 o * * oLTP-1 Node-2 LTP-6o * * o 252 | * * | +------------+ | * * | 253 | * TTP-2* | | | | * TTP-2* | 254 | * __ * |LTP-2 LTP-6| |LTP-1 LTP-5| * __ * | 255 o* \/ *o-----------o************o-----------o* \/ *o 256 |LTP * * | Link-12 | * | Link-23 | * * | 257 |-5 * * | LTP-5| * |LTP-2 | * * | 258 +--o------o--+ o************o +--o------o--+ 259 LTP-4 LTP-3 | * * * | LTP-4 LTP-3 260 | ** * | 261 +--o------o--+ 262 LTP-4 LTP-3 264 Figure 1: TE Topology Modeling Abstractions 266 3.1. TE Topology 268 TE topology is a traffic engineering representation of one or more 269 layers of network topologies. TE topology is comprised of TE nodes 270 (TE graph vertices) interconnected via TE links (TE graph edges). A 271 TE topology is mapped to a TE graph. 273 3.2. TE Node 275 TE node is an element of a TE topology (presented as a vertex on TE 276 graph). TE node represents one or several nodes (physical switches), 277 or a fraction of a node. TE node belongs to and is fully defined in 278 exactly one TE topology. TE node is assigned with the TE topology 279 scope unique ID. TE node attributes include information related to 280 the data plane aspects of the associated node(s) (e.g. connectivity 281 matrix), as well as configuration data (such as TE node name). A 282 given TE node can be reached on the TE graph over one of TE links 283 terminated by the TE node. 285 Multi-layer TE nodes providing switching functions at multiple 286 network layers are an example where a physical node can be decomposed 287 into multiple logical TE nodes (fractions of a node). Some of these 288 (logical) TE nodes may reside in the client layer TE topology while 289 the remaining TE nodes belong to the server layer TE topology. 291 In Figure 1, Node-1, Node-2, and Node-3 are TE nodes. 293 3.3. TE Link 295 TE link is an element of a TE topology (presented as an edge on TE 296 graph, arrows indicate one or both directions of the TE link). TE 297 link represents one or several (physical) links or a fraction of a 298 link. TE link belongs to and is fully defined in exactly one TE 299 topology. TE link is assigned with the TE topology scope unique ID. 300 TE link attributes include parameters related to the data plane 301 aspects of the associated link(s) (e.g. unreserved bandwidth, 302 resource maps/pools, etc.), as well as the configuration data (such 303 as remote node/link IDs, SRLGs, administrative colors, etc.). TE link 304 is connected to TE node, terminating the TE link via exactly one TE 305 link termination point (LTP). 307 In Figure 1, Link-12 and Link-23 are TE links. 309 3.4. Transitional TE Link for Multi-Layer Topologies 311 Networks are typically composed of multiple network layers where one 312 or multiple signals in the client layer network can be multiplexed 313 and encapsulated into a server layer signal [RFC5212] [G.805]. The 314 server layer signal can be carried in the server layer network across 315 multiple nodes until the server layer signal is terminated and the 316 client layer signals reappear in the node that terminates the server 317 layer signal. Examples of multi-layer networks are: IP over MPLS over 318 Ethernet, low order Optical Data Unit-k (ODUk) signals multiplexed 319 into a high order ODUl (l>k) carried over an Optical Channel (OCh) 320 signal in an optical transport network as defined in [G.872] and 321 [G.709]. 323 TE links as defined in 3.3. can be used to represent links within a 324 network layer. In case of a multi-layer network, TE nodes and TE 325 links only allow representation of each network layer as a separate 326 TE topology Each of these single layer TE topologies would be 327 isolated from their client and their server layer TE topology, if 328 present (the highest and the lowest network layer in the hierarchy 329 only have a single adjacent layer below or above, respectively). 330 Multiplexing of client layer signals and encapsulating them into a 331 server layer signal requires a function that is provided inside a 332 node (typically realized in hardware). This function is also called 333 layer transition. 335 One of the key requirements for path computation is to be able to 336 calculate a path between two endpoints across a multi-layer network 337 based on the TE topology representing this multi-layer network. This 338 means that an additional TE construct is needed that represents 339 potential layer transitions in the multi-layer TE-topology that 340 connects the TE-topologies representing each separate network layer. 341 The so-called transitional TE link is such a construct and it 342 represents the layer transition function residing inside a node that 343 is decomposed into multiple logical nodes that are represented as TE 344 nodes (see also the transitional link definition in [G.8080] for the 345 optical transport network). Hence, a transitional TE link connects a 346 client layer node with a server layer node. A TE link as defined in 347 3.3. has LTPs of exactly the same kind on each link end whereas the 348 transitional TE link has client layer LTPs on the client side of the 349 transitional link and in most cases a single server layer LTP on the 350 server side. It should be noted that transitional links are a helper 351 construct in the multi-layer TE topology and they only exist as long 352 as they are not in use (as they represent potential connectivity). 353 When the server layer trail has been established between the server 354 layer LTP of two transitional links in the server layer network, the 355 resulting client layer link in the data plane will be represented as 356 a normal TE link in the client layer topology. The transitional TE 357 links will re-appear when the server layer trail has been torn down. 359 +------------------+ 360 | +------+ | +------+ 361 -----|Client|------+ | Client -----|Client| 362 | |Layer |---+ | | Layer |Layer | 363 -----|Switch|-+ | | | Links -----|Node | 364 | +------+ | | | | +------+ 365 | | | | | Client | | | 366 | | | ---_| Layer --- --- 367 ***|**********|*| \ /*|***************************\ /*\ /**** 368 | --- | | Server Transitional | | 369 | Layer \ / | | Layer Links | | 370 | Term. | | | | | 371 | | | | | | 372 | +------+ | +------+ 373 =============|Server|===== Server ====|Server|==== 374 | |Layer | | Layer |Layer | 375 =============|Switch|===== Links ====|Node |==== 376 | +------+ | +------+ 377 +------------------+ 379 Physical Node View TE-Topology View 381 Figure 2: Modeling a Multi-Layer Node (Dual-Layer Example) 383 3.5. TE Link Termination Point (LTP) 385 TE link termination point (LTP) is a conceptual point of connection 386 of a TE node to one of the TE links, terminated by the TE node. 387 Cardinality between an LTP and the associated TE link is 1:0..1. 389 In Figure 1, Node-2 has six LTPs: LTP-1 to LTP-6. 391 3.6. TE Tunnel Termination Point (TTP) 393 TE tunnel termination point (TTP) is an element of TE topology 394 representing one or several of potential transport service 395 termination points (i.e. service client adaptation points such as 396 WDM/OCh transponder). TTP is associated with (hosted by) exactly one 397 TE node. TTP is assigned with the TE node scope unique ID. Depending 398 on the TE node's internal constraints, a given TTP hosted by the TE 399 node could be accessed via one, several or all TE links terminated by 400 the TE node. 402 In Figure 1, Node-1 has two TTPs: TTP-1 and TTP-2. 404 3.7. TE Node Connectivity Matrix 406 TE node connectivity matrix is a TE node's attribute describing the 407 TE node's switching limitations in a form of valid switching 408 combinations of the TE node's LTPs (see below). From the point of 409 view of a potential TE path arriving at the TE node at a given 410 inbound LTP, the node's connectivity matrix describes valid 411 (permissible) outbound LTPs for the TE path to leave the TE node 412 from. 414 In Figure 1, the connectivity matrix on Node-2 is: 415 {, , , , 416 } 418 3.8. TTP Local Link Connectivity List (LLCL) 420 TTP Local Link Connectivity List (LLCL) is a List of TE links 421 terminated by the TTP hosting TE node (i.e. list of the TE link 422 LTPs), which the TTP could be connected to. From the point of view of 423 a potential TE path LLCL provides a list of valid TE links the TE 424 path needs to start/stop on for the connection, taking the TE path, 425 to be successfully terminated on the TTP in question. 427 In Figure 1, the LLCL on Node-1 is: 428 {, , , } 430 3.9. TE Path 432 TE path is an ordered list of TE links and/or TE nodes on the TE 433 topology graph, inter-connecting a pair of TTPs to be taken by a 434 potential connection. TE paths, for example, could be a product of 435 successful path computation performed for a given transport service. 437 In Figure 1, the TE Path for TE-Tunnel-1 is: 438 {Node-1:TTP-1, Link-12, Node-2, Link-23, Node-3:TTP1} 440 3.10. TE Inter-Layer Lock 442 TE inter-layer lock is a modeling concept describing client-server 443 layer adaptation relationships and hence important for the multi- 444 layer traffic engineering. It is an association of M client layer 445 LTPs and N server layer TTPs, within which data arriving at any of 446 the client layer LTPs could be adopted onto any of the server layer 447 TTPs. TE inter-layer lock is identified by inter-layer lock ID, which 448 is unique across all TE topologies provided by the same provider. The 449 client layer LIPs and the server layer TTPs associated within a given 450 TE inter-layer lock are annotated with the same inter-layer lock ID 451 attribute. 453 (IL-1) C-LTP-1 +------------+ C-LTP-2 (IL-1) 454 --------O (IL-1) O-------- 455 (IL-1) C-LTP-3 | S-TTP-1 | C-LTP-4 (IL-1) 456 --------O __ 0-------- 457 (IL-1) C-LTP-5 | *\/* | C-LTP-5 (IL-1) 458 --------O * * O-------- 459 | *(IL-1)* | 460 S-LTP-3 | * S-TTP-2* | S-LTP-4 461 --------o* __ *o-------- 462 | *\/* | 463 | * * | 464 +--o------o--+ 465 S-LTP-1 | | S-LTP-2 467 Figure 3: TE Inter-Layer Lock ID Associations 469 On the picture above a TE inter-layer lock with IL_1 ID associates 6 470 client layer LTPs (C-LTP-1 - C-LTP-6) with two server layer TTPs (S- 471 TTP-1 and S-TTP-2). They all have the same attribute - TE inter-layer 472 lock ID: IL-1, which is the only thing that indicates the 473 association. A given LTP may have 0, 1 or more inter-layer lock IDs. 474 In the latter case this means that the data arriving at the LTP may 475 be adopted onto any of TTPs associated with all specified inter-layer 476 locks. For example, C-LTP-1 could have two inter-layer lock IDs - IL- 477 1 and IL-2. This would mean that C-LTP-1 for adaptation purposes 478 could use not just TTPs associated with inter-layer lock IL-1 (i.e. 479 S-TTP-1 and S-TTP-2 on the picture), but any of TTPs associated with 480 inter-layer lock IL-2 as well. Likewise, a given TTP may have one or 481 more inter-layer lock IDs, meaning that it can offer the adaptation 482 service to any of client layer LTPs with inter-layer lock ID matching 483 one of its own. Additionally, each TTP has an attribute - Unreserved 484 Adaptation Bandwidth, which announces its remaining adaptation 485 resources sharable between all potential client LTPs. 487 LTPs and TTPs associated within the same TE inter-layer lock may be 488 hosted by the same (hybrid, multi-layer) TE node or multiple TE nodes 489 located in the same or separate TE topologies. The latter is 490 especially important since TE topologies of different layer networks 491 could be modeled by separate augmentations of the basic (common to 492 all layers) TE topology model. 494 3.11. Underlay TE topology 496 Underlay TE topology is a TE topology that serves as a base for 497 constructing of overlay TE topologies 499 3.12. Overlay TE topology 501 Overlay TE topology is a TE topology constructed based on one or more 502 underlay TE topologies. Each TE node of the overlay TE topology 503 represents an arbitrary segment of an underlay TE topology; each TE 504 link of the overlay TE topology represents an arbitrary TE path in 505 one of the underlay TE topologies. The overlay TE topology and the 506 supporting underlay TE topologies may represent distinct layer 507 networks (e.g. OTN/ODUk and WDM/OCh respectively) or the same layer 508 network. 510 3.13. Abstract TE topology 512 Abstract TE topology is a topology that contains abstract topological 513 elements (nodes, links, tunnel termination points). Abstract TE 514 topology is an overlay TE topology created by a topology provider and 515 customized for a topology provider's client based on one or more of 516 the provider's native TE topologies (underlay TE topologies), the 517 provider's policies and the client's preferences. For example, a 518 first level topology provider (such as Domain Controller) can create 519 an abstract TE topology for its client (e.g. Multi-Domain Service 520 Coordinator) based on the provider's one or more native TE 521 topologies, local policies/profiles and the client's TE topology 522 configuration requests 524 Figure 4 shows an example of abstract TE topology. 526 +---+ +---+ 527 |s31|--------------|S5 | 528 +---+\ / +---+ 529 \ / 530 \ / 531 \+---+/ +---+ 532 /|AN1|\----------------|S8 | 533 / +---+ \ +---+ 534 +---+ / \ +---+ 535 |S9 |-------------|S11| 536 +---+ +---+ 537 Abstract TE Topology 539 +---+ +---+ 540 |S1 |--------------------|S2 | 541 +---+ +---+ 542 / \ 543 / \ 544 +---+ / +---+ \ +---+ 545 |s3 |--------------------|S4 |---------|S5 | 546 +---+\ +---+ +---+ 547 \ \ \ 548 \ \ \ 549 \+---+ +---+ +---+ 550 /|S6 |\ |S7 |---------|S8 | 551 / +---+ \ +---+\ /+---+ 552 +---+ / \ +---+ +---+ / 553 |S9 |-------------|S10|--------------|S11|/ 554 +---+ +---+ +---+ 555 Native TE Topology 557 Figure 4: Abstract TE Topology 559 4. Model Applicability 561 4.1. Native TE Topologies 563 The model discussed in this draft can be used to represent and 564 retrieve native TE topologies on a given TE system. 566 +---+ +---+ +---+ +---+ +---+ 567 | R1|-------| R2|--------| R3|---------| R4|---------| R5| 568 +---+ +---+ +---+ +---+ +---+ 569 | / \ / \ / 570 | / \ / \ / 571 | / \ / \ / 572 | / \ / \ / 573 | / \ / \ / 574 +---+ +---+ +---+ +---+ 575 | R6|-------------| R7| | R8|---------| R9| 576 +---+ +---+ +---+ +---+ 578 Figure 5a: Example Network Topology 580 Consider the network topology depicted in Figure 5a (R1 .. R9 are 581 nodes representing routers). An implementation MAY choose to 582 construct a native TE Topology using all nodes and links present in 583 the given TED as depicted in Figure 5b. The data model proposed in 584 this document can be used to retrieve/represent this TE topology. 586 --------------- 587 | Native | | [ ] TE Node 588 | TE-Topology | | +++ TE Link 589 --------------- o-------------- 591 [R1] ++++ [R2] ++++ [R3] ++++ [R4] ++++ [R5] 592 + + + + + + 593 + + + + + + 594 + + ++ ++ 595 [R6] +++++++++ [R7] [R8] ++++ [R9] 597 Figure 5b: Native TE Topology as seen on Node R3 599 Consider the case of the topology being split in a way that some 600 nodes participate in OSPF-TE while others participate in ISIS-TE 601 (Figure 6a). An implementation MAY choose to construct separate TE 602 Topologies based on the information source. The native TE Topologies 603 constructed using only nodes and links that were learnt via a 604 specific information source are depicted in Figure 6b. The data model 605 proposed in this document can be used to retrieve/represent these TE 606 topologies. 608 Similarly, the data model can be used to represent/retrieve a TE 609 Topology that is constructed using only nodes and links that belong 610 to a particular technology layer. The data model is flexible enough 611 to retrieve and represent many such native TE Topologies. 613 : 614 TE info distributed via ISIS-TE : TE info distributed via OSPF-TE 615 : 616 +---+ +---+ +---+ +---+ +---+ 617 | R1|-------| R2|--------| R3|---------| R4|---------| R5| 618 +---+ +---+ +---+ +---+ +---+ 619 | / : \ / \ / 620 | / : \ / \ / 621 | / : \ / \ / 622 | / : \ / \ / 623 | / : \ / \ / 624 +---+ +---+ : +---+ +---+ 625 | R6|-------------| R7| : | R8|---------| R9| 626 +---+ +---+ : +---+ +---+ 627 : 629 Figure 6a: Example Network Topology 631 ----------------------- : ----------------------- 632 |Native TE Topology | : |Native TE Topology | 633 |Info-Source: ISIS-TE | : |Info-Source: OSPF-TE | 634 ----------------------- : ----------------------- 635 : 636 [R1] ++++ [R2] ++++ [R3] : [R3'] ++++ [R4] ++++ [R5] 637 + + : + + + + 638 + + : + + + + 639 + + : ++ ++ 640 [R6] +++++++++ [R7] : [R8] ++++ [R9] 642 Figure 6b: Native TE Topologies as seen on Node R3 644 4.2. Customized TE Topologies 646 Customized TE topology is a topology that was modified by the 647 provider to honor a particular client's requirements or preferences. 648 The model discussed in this draft can be used to represent, retrieve 649 and manipulate customized TE Topologies. The model allows the 650 provider to present the network in abstract TE Terms on a per client 651 basis. These customized topologies contain sufficient information for 652 the path computing client to select paths according to its policies. 654 | +---+ /-\ 655 | | | Router ( ) WDM 656 | +---+ Node \-/ node 657 | 658 o---------------------------- 660 +---+ /-\ /-\ /-\ +---+ 661 | R1|-------( A )--------( C )---------( E )---------| R3| 662 +---+ \-/ \-/ \-/ +---+ 663 / \ / \ 664 / \ / \ 665 / \ / \ 666 / \ / \ 667 / \ / \ 668 +---+ /-\ /-\ /-\ +---+ 669 | R2|---------( B )---------( D )---------( F )---------| R4| 670 +---+ \-/ \-/ \-/ +---+ 672 Figure 7: Example packet optical topology 674 Consider the network topology depicted in Figure 7. This is a typical 675 packet optical transport deployment scenario where the WDM layer 676 network domain serves as a Server Network Domain providing transport 677 connectivity to the packet layer network Domain (Client Network 678 Domain). Nodes R1, R2, R3 and R4 are IP routers that are connected to 679 an Optical WDM transport network. A, B, C, D, E and F are WDM nodes 680 that constitute the Server Network Domain. 682 | ***** B-F WDM Path 683 | @@@@@ B-E WDM Path 684 | $$$$$ A-E WDM Path 685 o-------------------- 687 +---+ /-\ $$$$$$$$ /-\ $$$$$$$$$ /-\ +---+ 688 | R1|-------( A )--------( C )---------( E )---------| R3| 689 +---+ \-/ @\-/ @@@@@@@@@ \-/ +---+ 690 @/ \ / \ 691 @/ \ / \ 692 @/ \ / \ 693 @/ \ / \ 694 @/ \ / \ 695 +---+ /-\ ********* /-\ ********* /-\ +---+ 696 | R2|---------( B )---------( D )---------( F )---------| R4| 697 +---+ \-/ \-/ \-/ +---+ 699 Figure 8a: Paths within the provider domain 700 ++++++++ [A] ++++++++++++++++++++ [E] +++++++++ 701 +++++ 702 ++++ 703 ++++ 704 ++++ 705 ++++ 706 ++++++++ [B] ++++++++++++++++++++ [F] +++++++++ 708 Figure 8b: Customized TE Topology provided to the Client 710 The goal here is to augment the Client TE Topology with a customized 711 TE Topology provided by the WDM network. Given the availability of 712 the paths A-E, B-F and B-E (Figure 8a), a customized TE Topology as 713 depicted in Figure 8b is provided to the Client. This customized TE 714 Topology is merged with the Client's Native TE Topology and the 715 resulting topology is depicted in Figure 8c. 717 [R1] ++++++++ [A] ++++++++++++++++++++ [E] +++++++++ [R3] 718 +++++ 719 ++++ 720 ++++ 721 ++++ 722 ++++ 723 [R2] ++++++++ [B] ++++++++++++++++++++ [F] +++++++++ [R4] 725 Figure 8c: Customized TE Topology merged with the Client's Native TE 726 Topology 728 The data model proposed in this document can be used to 729 retrieve/represent/manipulate the customized TE Topology depicted in 730 Figure 8b. 732 A customized TE topology is not necessarily an abstract TE topology. 733 he provider may produce, for example, an abstract TE topology of 734 certain type (e.g. single-abstract-node-with-connectivit-matrix 735 topology, a border_nodes_connected_via_mesh_of_abstract_links 736 topology, etc.) and expose it to all/some clients in expectation that 737 the clients will use it without customization. 738 On the other hand, a client may request a customized version of the 739 provider's native TE topology (e.g. by requesting removal of TE links 740 which belong to certain layers, are too slow, not protected and/or 741 have a certain affinity). Note that the resulting TE topology will 742 not be abstract (because it will not contain abstract elements), but 743 customized (modified upon client's instructions). 745 The client ID field in the TE topology identifier (Section 5.4. 746 indicates which client the TE topology is customized for. Although a 747 authorized client MAY receive a TE topology with the client ID field 748 matching some other client, the client can customize only TE 749 topologies with the client ID field either 0 or matching the ID of 750 the client in question. If the client starts reconfiguration of a 751 topology its client ID will be automatically set in the topology ID 752 field for all future configurations and updates wrt. the topology in 753 question. 755 The provider MAY tell the client that a given TE topology cannot be 756 re-negotiated, by setting its own (provider's) ID in the client ID 757 field of the topology ID. 759 4.3. Merging TE Topologies Provided by Multiple Providers 761 A client may receive TE topologies provided by multiple providers, 762 each of which managing a separate domain of multi-domain network. In 763 order to make use of said topologies, the client is expected to merge 764 the provided TE topologies into one or more client's native TE 765 topologies, each of which homogeneously representing the multi-domain 766 network. This makes it possible for the client to select end-to-end 767 TE paths for its services traversing multiple domains. 769 In particular, the process of merging TE topologies includes: 771 - Identifying neighboring domains and locking their topologies 772 horizontally by connecting their inter-domain open-ended TE links; 773 - Renaming TE node, link, and SRLG IDs to ones allocated from a 774 separate name space; this is necessary because all TE topologies 775 are considered to be, generally speaking, independent with a 776 possibility of clashes among TE node, link or SRLG IDs; 777 - Locking, vertically, TE topologies associated with different layer 778 networks, according to provided topology inter-layer locks; this is 779 to facilitate inter-layer path computations across multiple TE 780 topologies provided by the same topology provider. 782 /---\ +---+ +---+ +---+ +---+ /---\ 783 |s3 |------|S13|----|S15|------|S23|----|S25|------|C21| 784 \---/ +---+\ +---+ +---+ /+---+ \---/ 785 \ / 786 \ / 787 \+---+ +---+/ +---+ /---\ 788 |S18|------|S24| |S28|------|C22| 789 +---+ +---+\ /+---+ \---/ 790 \/ 791 /\ 792 /---\ +---+ +---+ +---+/ \+---+ /---\ 793 |C12|------|S19|----|S17|------|S29|----|S27|------|C23| 794 \---/ +---+ +---+ +---+ +---+ \---/ 796 Domain 1 TE Topology Domain 2 TE Topology 798 +---+ +---+ +---+ +---+ 799 -----|S13|----|S15|---- ----|S23|----|S25|---- 800 +---+\ +---+ +---+ /+---+ 801 \ / 802 \ / 803 \+---+ +---+/ +---+ 804 |S18|---- ----|S24| |S28|---- 805 +---+ +---+\ /+---+ 806 \/ 807 /\ 808 +---+ +---+ +---+/ \+---+ 809 -----|S19|----|S17|---- ----|S29|----|S27|---- 810 +---+ +---+ +---+ +---+ 812 Figure 9: Merging Domain TE Topologies 814 Figure 9 illustrates the process of merging, by the client, of TE 815 topologies provided by the client's providers. In the Figure, each of 816 the two providers caters to the client (abstract or native) TE 817 topology, describing the network domain under the respective 818 provider's control. The client, by consulting the attributes of the 819 inter-domain TE links - such as inter-domain plug IDs or remote TE 820 node/link IDs (as defined by the TE Topology model) - is able to 821 determine that: 823 a) the two domains are adjacent and are inter-connected via three 824 inter-domain TE links, and; 826 b) each domain is connected to a separate customer site, connecting 827 the left domain in the Figure to customer devices C-11 and C-12, 828 and the right domain to customer devices C-21, C-22 and C-23. 830 Therefore, the client inter-connects the open-ended TE links, as 831 shown on the upper part of the Figure. 833 As mentioned, one way to inter-connect the open-ended inter-domain TE 834 links of neighboring domains is to mandate the providers to specify 835 remote nodeID/linkID attribute in the provided inter-domain TE links. 836 This, however, may prove to be not flexible. For example, the 837 providers may not know the respective remote nodeIDs/ linkIDs. More 838 importantly, this option does not allow for the client to mix-n-match 839 multiple (more than one) topologies catered by the same providers 840 (see below). Another, more flexible, option to resolve the open-ended 841 inter-domain TE links is by annotating them with the inter-domain 842 plug ID attribute. Inter-domain plug ID is a network-wide unique 843 number that identifies on the network a connectivity supporting a 844 given inter-domain TE link. Instead of specifying remote node ID/link 845 ID, an inter-domain TE link may provide a non-zero inert-domain plug 846 ID. It is expected that two neighboring domain TE topologies 847 (provided by separate providers) will have each at least one open- 848 ended inter-domain TE link with an inter-domain plug ID matching to 849 one provided by its neighbor. For example, the inter-domain TE link 850 originating from node S5 of the Domain 1 TE topology (Figure 1) and 851 the inter-domain TE link coming from node S3 of Domain2 TE topology 852 may specify matching inter-domain plug ID (e.g. 175344) This allows 853 for the client to identify adjacent nodes in the separate neighboring 854 TE topologies and resolve the inter-domain TE links connecting them 855 regardless of their respective nodeIDs/linkIDs (which, as mentioned, 856 could be allocated from independent name spaces). Inter-domain plug 857 IDs may be assigned and managed by a central network authority. 858 Alternatively, inter-domain plug IDs could be dynamically auto- 859 discovered (e.g. via LMP protocol). 861 Furthermore, the client renames the TE nodes, links and SRLGs offered 862 in the abstract TE topologies by assigning to them IDs allocated from 863 a separate name space managed by the client. Such renaming is 864 necessary, because the two abstract TE topologies may have their own 865 name spaces, generally speaking, independent one from another; hence, 866 ID overlaps/clashes are possible. For example, both TE topologies 867 have TE nodes named S7, which, after renaming, appear in the merged 868 TE topology as S17 and S27, respectively. 870 Once the merging process is complete, the client can use the merged 871 TE topology for path computations across both domains, for example, 872 to compute a TE path connecting C-11 to C-23. 874 4.4. Dealing with Multiple Abstract TE Topologies Provided by the Same 875 Provider 877 Domain 1 Abstract TE Topology 1 Domain 2 Abstract TE Topology 1 879 +---+ +---+ +---+ +---+ 880 -----|S13|----|S15|---- ----|S23|----|S25|---- 881 +---+\ +---+ +---+ /+---+ 882 \ / 883 \ / 884 \+---+ +---+/ +---+ 885 |S18|---- ----|S24| |S28|---- 886 +---+ +---+\ /+---+ 887 \/ 888 /\ 889 +---+ +---+ +---+/ \+---+ 890 -----|S19|----|S17|---- ----|S29|----|S27|---- 891 +---+ +---+ +---+ +---+ 893 Domain 1 Abstract TE Topology 1 Domain 2 Abstract TE Topology 1 895 +------------+ +------------+ 896 -----| |---- ----| |---- 897 | | | | 898 | AN1 |---- ----| AN1 |---- 899 | | | | 900 -----| |---- ----| |---- 901 +------------+ +------------+ 903 Figure 10: Merging Domain TE Topologies 905 Based on local configuration, templates and/or policies pushed by the 906 client, a given provider may expose more than one abstract TE 907 topology to the client. For example, one abstract TE topology could 908 be optimized based on a lowest-cost criterion, while another one 909 could be based on best possible delay metrics, while yet another one 910 could be based on maximum bandwidth availability for the client 911 services. Furthermore, the client may request all or some providers 912 to expose additional abstract TE topologies, possibly of a different 913 type and/or optimized differently, as compared to already-provided TE 914 topologies. In any case, the client should be prepared for a provider 915 to offer to the client more than one abstract TE topology. 917 It should be up to the client (based on the client's local 918 configuration and/or policies conveyed to the client by the client's 919 clients) to decide how to mix-and-match multiple abstract TE 920 topologies provided by each or some of the providers, as well as how 921 to merge them into the client's native TE topologies. The client also 922 decides how many such merged TE topologies it needs to produce and 923 maintain. For example, in addition to the merged TE topology depicted 924 in the upper part of Figure 1, the client may merge the abstract TE 925 topologies received from the two providers, as shown in Figure 10, 926 into the client's additional native TE topologies, as shown in Figure 927 11. 929 Note that allowing for the client mix-n-matching of multiple TE 930 topologies assumes that inter-domain plug IDs (rather than remote 931 nodeID/linkID) option is used for identifying neighboring domains and 932 inter-domain TE link resolution. 934 Client's Merged TE Topology 2 936 /---\ +------------+ +------------+ /---\ 937 |s3 |------| |------| |------|C21| 938 \---/ | | | | \---/ 939 | | | | 940 | | | | 941 | | | | /---\ 942 | AN11 |------| AN21 |------|C22| 943 | | | | \---/ 944 | | | | 945 | | | | 946 /---\ | | | | /---\ 947 |C12|------| |------| |------|C23| 948 \---/ +------------+ +------------+ \---/ 950 Client's Merged TE Topology 3 952 /---\ +------------+ +---+ +---+ /---\ 953 |s3 |------| |------|S23|----|S25|------|C21| 954 \---/ | | +---+ /+---+ \---/ 955 | | / 956 | | / 957 | | +---+/ +---+ /---\ 958 | AN11 |------|S24| |S28|------|C22| 959 | | +---+\ /+---+ \---/ 960 | | \/ 961 | | /\ 962 /---\ | | +---+/ \+---+ /---\ 963 |C12|------| |------|S29|----|S27|------|C23| 964 \---/ +------------+ +---+ +---+ \---/ 966 Figure 11: Multiple Native (Merged) Client's TE Topologies 968 It is important to note that each of the three native (merged) TE 969 topologies could be used by the client for computing TE paths for any 970 of the multi-domain services. The choice as to which topology to use 971 for a given service depends on the service parameters/requirements 972 and the topology's style, optimization criteria and the level of 973 details. 975 5. Modeling Considerations 977 5.1. Network topology building blocks 979 The network topology building blocks are discussed in [YANG-NET- 980 TOPO]. The TE Topology model proposed in this document augments and 981 uses the ietf-network-topology module defined in [YANG-NET-TOPO]. 983 +------------------------+ 984 | | 985 | Network Topology Model | 986 | (ietf-network-topology)| 987 +------------------------+ 988 | 989 | 990 | 991 V 992 +------------------------+ 993 | TE Topology | 994 | Model | 995 | | 996 +------------------------+ 998 Figure 12: Augmenting the Network Topology Model 1000 5.2. Technology agnostic TE Topology model 1002 The TE Topology model proposed in this document is meant to be 1003 network technology agnostic. Other technology specific TE Topology 1004 models can augment and use the building blocks provided by the 1005 proposed model. 1007 +-----------------------------+ 1008 | TE Topology Model | 1009 | (Defined in This Document) | 1010 +-----------------------------+ 1011 | 1012 +-------------+-------------+-------------+ 1013 | | | | 1014 V V V V 1015 +------------+ +------------+ 1016 | Technology | | Technology | 1017 | Specific | ...................... | Specific | 1018 | TE Topology| | TE Topology| 1019 | Model 1 | | Model n | 1020 +------------+ +------------+ 1022 Figure 13: Augmenting the Technology agnostic TE Topology model 1024 5.3. Model Structure 1026 The high-level model structure proposed by this document is as shown 1027 below: 1029 module: ietf-te-topology 1030 augment /nw:networks/nw:network/nw:network-types: 1031 +--rw te-topology! 1033 augment /nw:networks: 1034 +--rw te! 1035 +--rw templates 1036 +--rw node-template* [name] {template}? 1037 | ............ 1038 +--rw link-template* [name] {template}? 1039 ............ 1041 augment /nw:networks/nw:network: 1042 +--rw provider-id? te-types:te-global-id 1043 +--rw client-id? te-types:te-global-id 1044 +--rw te-topology-id? te-types:te-topology-id 1045 +--rw te! 1046 | ............ 1048 augment /nw:networks/nw:network/nw:node: 1049 +--rw te-node-id? te-types:te-node-id 1050 +--rw te! 1051 | ............ 1052 +--rw tunnel-termination-point* [tunnel-tp-id] 1053 +--rw tunnel-tp-id binary 1054 | ............ 1055 +--rw supporting-tunnel-termination-point* [node-ref tunnel- 1056 tp-ref] 1057 | ............ 1059 augment /nw:networks/nw:network/nt:link: 1060 +--rw te! 1061 | .......... 1063 augment /nw:networks/nw:network/nw:node/nt:termination-point: 1064 +--rw te-tp-id? te-types:te-tp-id 1065 +--rw te! 1066 | ............ 1068 5.4. Topology Identifiers 1070 The TE-Topology is uniquely identified by a key that has 3 1071 constituents - te-topology-id, provider-id and client-id. The 1072 combination of provider-id and te-topology-id uniquely identifies a 1073 native TE Topology on a given provider. The client-id is used only 1074 when Customized TE Topologies come into play; a value of "0" is used 1075 as the client-id for native TE Topologies. 1077 augment /nw:networks/nw:network: 1078 +--rw te! 1079 +--rw provider-id te-global-id 1080 +--rw client-id te-global-id 1081 +--rw te-topology-id te-topology-id 1083 5.5. Generic TE Link Attributes 1085 The model covers the definitions for generic TE Link attributes - 1086 bandwidth, admin groups, SRLGs, switching capabilities, TE metric 1087 extensions etc. 1089 +--rw te-link-attributes 1090 ..................... 1091 +--rw admin-status? te-admin-status 1092 | ..................... 1093 +--rw link-index? uint64 1094 +--rw administrative-group? te-types:admin-groups 1095 +--rw link-protection-type? enumeration 1096 +--rw max-link-bandwidth? te-bandwidth 1097 +--rw max-resv-link-bandwidth? te-bandwidth 1098 +--rw unreserved-bandwidth* [priority] 1099 | ..................... 1101 +--rw te-default-metric? uint32 1102 | ..................... 1103 +--rw te-srlgs 1104 +--rw te-nsrlgs {nsrlg}? ..................... 1106 5.6. Generic TE Node Attributes 1108 The model covers the definitions for generic TE Node attributes. 1110 The definition of a generic connectivity matrix is shown below: 1112 +--rw te-node-attributes 1113 ........... 1114 +--rw connectivity-matrices 1115 ........... 1116 | +--rw connectivity-matrix* [id] 1117 | | +--rw id uint32 1118 | | +--rw from 1119 | | | +--rw tp-ref? leafref 1120 | | | +--rw label-restriction* [inclusive-exclusive label- 1121 start] 1122 | | +--rw to 1123 | | | +--rw tp-ref? leafref 1124 | | | +--rw label-restriction* [inclusive-exclusive label- 1125 start] 1126 | | +--rw is-allowed? boolean 1127 ........... 1128 | | +--rw underlay! {te-topology-hierarchy}? 1129 ........... 1130 | | +--rw path-constraints 1131 ........... 1132 | | +--rw optimizations 1133 ........... 1134 | | +--ro computed-path-properties 1135 ........... 1137 The definition of a TTP Local Link Connectivity List is shown below: 1139 +--rw tunnel-termination-point* [tunnel-tp-id] 1140 +--rw tunnel-tp-id binary 1141 +--rw admin-status? te-types:te-admin-status 1142 +--rw name? string 1143 +--rw switching-capability? identityref 1144 +--rw encoding? identityref 1145 +--rw inter-layer-lock-id? uint32 1146 +--rw protection-type? Identityref 1147 +--rw client-layer-adaptation 1148 ........... 1149 +--rw local-link-connectivities 1150 ........... 1151 | +--rw local-link-connectivity* [link-tp-ref] 1152 | +--rw link-tp-ref leafref 1153 | +--rw label-restriction* [inclusive-exclusive label-start] 1154 ........... 1155 | +--rw is-allowed? boolean 1156 | +--rw underlay {te-topology-hierarchy}? 1157 ........... 1158 | +--rw path-constraints 1159 ........... 1160 | +--rw optimizations 1161 ........... 1162 | +--ro computed-path-properties 1163 ........... 1164 +--rw supporting-tunnel-termination-point* [node-ref tunnel-tp- 1165 ref] 1166 +--rw node-ref inet:uri 1167 +--rw tunnel-tp-ref binary 1169 The attributes directly under container connectivity-matrices are the 1170 default attributes for all connectivity-matrix entries when the per 1171 entry corresponding attribute is not specified. When a per entry 1172 attribute is specified, it overrides the cooresponding attribute 1173 directly under the container connectivity-matrices. The same rule 1174 applies to the attributes directly under container local-link- 1175 connectivities. 1177 Each TTP (Tunnel Termination Point) MAY be supported by one or more 1178 supporting TTPs. If the TE node hosting the TTP in question refers to 1179 a supporting TE node, then the supporting TTPs are hosted by the 1180 supporting TE node. If the TE node refers to an underlay TE topology, 1181 the supporting TTPs are hosted by one or more specified TE nodes of 1182 the underlay TE topology. 1184 5.7. TED Information Sources 1186 The model allows each TE topological element to have multiple TE 1187 information sources (OSPF-TE, ISIS-TE, BGP-LS, User-Configured, 1188 System-Processed, Other). Each information source is associated with 1189 a credibility preference to indicate precedence. In scenarios where a 1190 customized TE Topology is merged into a Client's native TE Topology, 1191 the merged topological elements would point to the corresponding 1192 customized TE Topology as its information source. 1194 augment /nw:networks/nw:network/nw:node: 1195 +--rw te! 1196 ........... 1197 +--ro information-source? te-info-source 1198 +--ro information-source-state 1199 | +--ro credibility-preference? uint16 1200 | +--ro logical-network-element? string 1201 | +--ro network-instance? string 1202 | +--ro topology 1203 | +--ro node-ref? leafref 1204 | +--ro network-ref? leafref 1205 +--ro information-source-entry* [information-source] 1206 | +--ro information-source te-info-source 1207 ............ 1209 augment /nw:networks/nw:network/nt:link: 1210 +--rw te! 1211 ........... 1212 +--ro information-source? te-info-source 1213 +--ro information-source-state 1214 | +--ro credibility-preference? uint16 1215 | +--ro logical-network-element? string 1216 | +--ro network-instance? string 1217 | +--ro topology 1218 | +--ro link-ref? leafref 1219 | +--ro network-ref? leafref 1220 +--ro information-source-entry* [information-source] 1221 | +--ro information-source te-info-source 1222 ............ 1224 5.8. Overlay/Underlay Relationship 1226 The model captures overlay and underlay relationship for TE 1227 nodes/links. For example - in networks where multiple TE Topologies 1228 are built hierarchically, this model allows the user to start from a 1229 specific topological element in the top most topology and traverse 1230 all the way down to the supporting topological elements in the bottom 1231 most topology. 1233 This relationship is captured via the "underlay-topology" field for 1234 the node and via the "underlay" field for the link. The use of these 1235 fields is optional and this functionality is tagged as a "feature" 1236 ("te-topology-hierarchy"). 1238 augment /nw:networks/nw:network/nw:node: 1239 +--rw te-node-id? te-types:te-node-id 1240 +--rw te! 1241 +--rw te-node-template* leafref {template}? 1242 +--rw te-node-attributes 1243 | +--rw admin-status? te-types:te-admin-status 1244 | | .................... 1245 | +--rw underlay-topology {te-topology-hierarchy}? 1246 | +--rw network-ref? leafref 1248 augment /nw:networks/nw:network/nt:link: 1249 +--rw te! 1250 +--rw te-link-attributes 1251 | .................... 1252 | +--rw underlay {te-topology-hierarchy}? 1253 | | +--rw enabled? boolean 1254 | | +--rw primary-path 1255 | | | +--rw network-ref? leafref 1256 | | | .................... 1257 | | +--rw backup-path* [index] 1258 | | | +--rw index uint32 1259 | | | +--rw network-ref? leafref 1260 | | | .................... 1261 | | +--rw protection-type? identityref 1262 | | +--rw tunnel-termination-points 1263 | | | +--rw source? binary 1264 | | | +--rw destination? binary 1265 | | +--rw tunnels 1266 | | | .................... 1268 5.9. Templates 1270 The data model provides the users with the ability to define 1271 templates and apply them to link and node configurations. The use of 1272 "template" configuration is optional and this functionality is tagged 1273 as a "feature" ("template"). 1275 +--rw topology* [provider-id client-id te-topology-id] 1276 | ........... 1277 | +--rw node* [te-node-id] 1278 | | +--rw te-node-template? leafref {template}? 1279 | | .......... 1280 | +--rw link* [source-te-node-id source-te-link-id dest-te-node-id 1281 dest-te-link-id] 1282 | +--rw te-link-template? leafref {template}? 1283 | .......... 1285 augment /nw:networks: 1286 +--rw te! 1287 +--rw templates 1288 +--rw node-template* [name] {template}? 1289 | +--rw name te-types:te-template- 1290 name 1291 | +--rw priority? uint16 1292 | +--rw reference-change-policy? enumeration 1293 | +--rw te-node-attributes 1294 .......... 1295 +--rw link-template* [name] {template}? 1296 +--rw name te-types:te-template- 1297 name 1298 +--rw priority? uint16 1299 +--rw reference-change-policy? enumeration 1300 +--rw te-link-attributes 1301 .......... 1303 Multiple templates can be specified to a configuration element. When 1304 two or more templates specify values for the same configuration 1305 field, the value from the template with the highest priority is used. 1306 The reference-change-policy specifies the action that needs to be 1307 taken when the template changes on a configuration element that has a 1308 reference to this template. The choices of action include taking no 1309 action, rejecting the change to the template and applying the change 1310 to the corresponding configuration. [Editor's Note: The notion of 1311 "templates" has wider applicability. It is possible for this to be 1312 discussed in a separate document.] 1314 5.10. Scheduling Parameters 1316 The model allows time scheduling parameters to be specified for each 1317 topological element or for the topology as a whole. These parameters 1318 allow the provider to present different topological views to the 1319 client at different time slots. The use of "scheduling parameters" is 1320 optional. 1322 The YANG data model for configuration scheduling is defined in [YANG- 1323 SCHEDULE], which allows specifying configuration schedules without 1324 altering this data model. 1326 5.11. Notifications 1328 Notifications are a key component of any topology data model. 1330 [YANG-PUSH] and [NETCONF-NOTIF] define a subscription and push 1331 mechanism for YANG datastores. This mechanism currently allows the 1332 user to: 1334 - Subscribe notifications on a per client basis 1335 - Specify subtree filters or xpath filters so that only interested 1336 contents will be sent. 1337 - Specify either periodic or on-demand notifications. 1339 6. Guidance for Writing Technology Specific TE Topology Augmentations 1341 The TE topology model defined in this document is technology agnostic 1342 as it defines concepts, abstractions and attributes that are common 1343 across multiple network technologies. It is envisioned that this base 1344 model will be widely used when defining technology specific TE 1345 topology models for various layer networks. [YANG-TOPO-WSON], [YANG- 1346 TOPO-OTN], and [YANG-TOPO-L3TE] are some examples of technology 1347 specific TE Topology models. Writers of such models are encouraged to 1348 augment the basic TE topology model's containers, such as TE 1349 Topology, TE Node, TE Link, Link Termination Point (LTP), Tunnel 1350 Termination Point (TTP), Bandwidth and Label with the layer specific 1351 attributes instead of defining new containers. 1353 Consider the following technology specific example-topology model: 1355 module: example-topology 1356 augment /nw:networks/nw:network/nw:network-types/tet:te-topology: 1357 +--rw example-topology! 1358 augment /nw:networks/nw:network/tet:te: 1359 +--rw attributes 1360 +--rw attribute-1? uint8 1361 augment /nw:networks/nw:network/nw:node/tet:te 1362 /tet:te-node-attributes: 1363 +--rw attributes 1364 +--rw attribute-2? uint8 1365 augment /nw:networks/nw:network/nw:node/tet:te 1366 /tet:te-node-attributes/tet:connectivity-matrices: 1367 +--rw attributes 1368 +--rw attribute-3? uint8 1369 augment /nw:networks/nw:network/nw:node/tet:te 1370 /tet:te-node-attributes/tet:connectivity-matrices 1371 /tet:connectivity-matrix: 1372 +--rw attributes 1373 +--rw attribute-3? uint8 1374 augment /nw:networks/nw:network/nw:node/tet:te 1375 /tet:tunnel-termination-point: 1376 +--rw attributes 1377 +--rw attribute-4? uint8 1379 augment /nw:networks/nw:network/nw:node/nt:termination-point 1380 /tet:te: 1381 +--rw attributes 1382 +--rw attribute-5? uint8 1383 augment /nw:networks/nw:network/nt:link/tet:te 1384 /tet:te-link-attributes: 1385 +--rw attributes 1386 +--rw attribute-6? uint8 1388 The technology specific TE bandwidth for this example topology can be 1389 specified using the following augment statements: 1391 augment /nw:networks/tet:te/tet:templates/tet:link-template 1392 /tet:te-link-attributes/tet:interface-switching-capability 1393 /tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology: 1394 +--:(example) 1395 +--rw example 1396 +--rw bandwidth-1? uint32 1397 augment /nw:networks/tet:te/tet:templates/tet:link-template 1398 /tet:te-link-attributes/tet:max-link-bandwidth/tet:te-bandwidth 1399 /tet:technology: 1400 +--:(example) 1401 +--rw example 1402 +--rw bandwidth-1? uint32 1403 augment /nw:networks/tet:te/tet:templates/tet:link-template 1404 /tet:te-link-attributes/tet:max-resv-link-bandwidth/tet:te-bandwidth 1405 /tet:technology: 1406 +--:(example) 1407 +--rw example 1408 +--rw bandwidth-1? uint32 1409 augment /nw:networks/tet:te/tet:templates/tet:link-template 1410 /tet:te-link-attributes/tet:unreserved-bandwidth/tet:te-bandwidth 1411 /tet:technology: 1412 +--:(example) 1413 +--rw example 1414 +--rw bandwidth-1? uint32 1415 augment /nw:networks/nw:network/nw:node/tet:te 1416 /tet:te-node-attributes/tet:connectivity-matrices 1417 /tet:path-constraints/tet:te-bandwidth/tet:technology: 1418 +--:(example) 1419 +--rw example 1420 +--rw bandwidth-1? uint32 1421 augment /nw:networks/nw:network/nw:node/tet:te 1422 /tet:te-node-attributes/tet:connectivity-matrices 1423 /tet:connectivity-matrix/tet:path-constraints/tet:te-bandwidth 1424 /tet:technology: 1425 +--:(example) 1426 +--rw example 1427 +--rw bandwidth-1? uint32 1428 augment /nw:networks/nw:network/nw:node/tet:te 1429 /tet:information-source-entry/tet:connectivity-matrices 1430 /tet:path-constraints/tet:te-bandwidth/tet:technology: 1431 +--:(example) 1432 +--ro example 1433 +--ro bandwidth-1? uint32 1434 augment /nw:networks/nw:network/nw:node/tet:te 1435 /tet:information-source-entry/tet:connectivity-matrices 1436 /tet:connectivity-matrix/tet:path-constraints/tet:te-bandwidth 1437 /tet:technology: 1438 +--:(example) 1439 +--ro example 1440 +--ro bandwidth-1? uint32 1441 augment /nw:networks/nw:network/nw:node/tet:te 1442 /tet:tunnel-termination-point/tet:client-layer-adaptation 1443 /tet:switching-capability/tet:te-bandwidth/tet:technology: 1444 +--:(example) 1445 +--rw example 1446 +--rw bandwidth-1? uint32 1447 augment /nw:networks/nw:network/nw:node/tet:te 1448 /tet:tunnel-termination-point/tet:local-link-connectivities 1449 /tet:path-constraints/tet:te-bandwidth/tet:technology: 1450 +--:(example) 1451 +--rw example 1452 +--rw bandwidth-1? uint32 1453 augment /nw:networks/nw:network/nw:node/tet:te 1454 /tet:tunnel-termination-point/tet:local-link-connectivities 1455 /tet:local-link-connectivity/tet:path-constraints/tet:te-bandwidth 1456 /tet:technology: 1457 +--:(example) 1458 +--rw example 1459 +--rw bandwidth-1? uint32 1461 augment /nw:networks/nw:network/nt:link/tet:te 1462 /tet:te-link-attributes/tet:interface-switching-capability 1463 /tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology: 1464 +--:(example) 1465 +--rw example 1466 +--rw bandwidth-1? uint32 1467 augment /nw:networks/nw:network/nt:link/tet:te 1468 /tet:te-link-attributes/tet:max-link-bandwidth/tet:te-bandwidth 1469 /tet:technology: 1470 +--:(example) 1471 +--rw example 1472 +--rw bandwidth-1? uint32 1473 augment /nw:networks/nw:network/nt:link/tet:te 1474 /tet:te-link-attributes/tet:max-resv-link-bandwidth/tet:te-bandwidth 1475 /tet:technology: 1476 +--:(example) 1477 +--rw example 1478 +--rw bandwidth-1? uint32 1479 augment /nw:networks/nw:network/nt:link/tet:te 1480 /tet:information-source-entry/tet:interface-switching-capability 1481 /tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology: 1482 +--:(example) 1483 +--ro example 1484 +--ro bandwidth-1? uint32 1485 augment /nw:networks/nw:network/nt:link/tet:te 1486 /tet:information-source-entry/tet:max-link-bandwidth/tet:te-bandwidth 1487 /tet:technology: 1488 +--:(example) 1489 +--ro example 1490 +--ro bandwidth-1? uint32 1491 augment /nw:networks/nw:network/nt:link/tet:te 1492 /tet:information-source-entry/tet:max-resv-link-bandwidth 1493 /tet:te-bandwidth/tet:technology: 1494 +--:(example) 1495 +--ro example 1496 +--ro bandwidth-1? uint32 1497 augment /nw:networks/nw:network/nt:link/tet:te 1498 /tet:information-source-entry/tet:unreserved-bandwidth 1499 /tet:te-bandwidth/tet:technology: 1500 +--:(example) 1501 +--ro example 1502 +--ro bandwidth-1? uint32 1503 augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te 1504 /tet:interface-switching-capability/tet:max-lsp-bandwidth 1505 /tet:te-bandwidth/tet:technology: 1506 +--:(example) 1507 +--rw example 1508 +--rw bandwidth-1? uint32 1510 The technology specific TE label for this example topology can be 1511 specified using the following augment statements: 1513 augment /nw:networks/tet:te/tet:templates/tet:link-template 1514 /tet:te-link-attributes/tet:underlay/tet:primary-path 1515 /tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label 1516 /tet:technology: 1517 +--:(example) 1518 +--rw example 1519 +--rw label-1? uint32 1520 augment /nw:networks/tet:te/tet:templates/tet:link-template 1521 /tet:te-link-attributes/tet:underlay/tet:backup-path/tet:path-element 1522 /tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 1523 +--:(example) 1524 +--rw example 1525 +--rw label-1? uint32 1526 augment /nw:networks/tet:te/tet:templates/tet:link-template 1527 /tet:te-link-attributes/tet:label-restriction/tet:label-start 1528 /tet:te-label/tet:technology: 1529 +--:(example) 1530 +--rw example 1531 +--rw label-1? uint32 1532 augment /nw:networks/tet:te/tet:templates/tet:link-template 1533 /tet:te-link-attributes/tet:label-restriction/tet:label-end 1534 /tet:te-label/tet:technology: 1535 +--:(example) 1536 +--rw example 1537 +--rw label-1? uint32 1538 augment /nw:networks/nw:network/nw:node/tet:te 1539 /tet:te-node-attributes/tet:connectivity-matrices 1540 /tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 1541 +--:(example) 1542 +--rw example 1543 +--rw label-1? uint32 1544 augment /nw:networks/nw:network/nw:node/tet:te 1545 /tet:te-node-attributes/tet:connectivity-matrices 1546 /tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 1547 +--:(example) 1548 +--rw example 1549 +--rw label-1? uint32 1550 augment /nw:networks/nw:network/nw:node/tet:te 1551 /tet:te-node-attributes/tet:connectivity-matrices/tet:underlay 1552 /tet:primary-path/tet:path-element/tet:type/tet:label/tet:label-hop 1553 /tet:te-label/tet:technology: 1554 +--:(example) 1555 +--rw example 1556 +--rw label-1? uint32 1557 augment /nw:networks/nw:network/nw:node/tet:te 1558 /tet:te-node-attributes/tet:connectivity-matrices/tet:underlay 1559 /tet:backup-path/tet:path-element/tet:type/tet:label/tet:label-hop 1560 /tet:te-label/tet:technology: 1561 +--:(example) 1562 +--rw example 1563 +--rw label-1? uint32 1564 augment /nw:networks/nw:network/nw:node/tet:te 1565 /tet:te-node-attributes/tet:connectivity-matrices 1566 /tet:computed-path-properties/tet:path-computed-route-objects 1567 /tet:path-computed-route-object/tet:type/tet:label/tet:label-hop 1568 /tet:te-label/tet:technology: 1569 +--:(example) 1570 +--ro example 1571 +--ro label-1? uint32 1572 augment /nw:networks/nw:network/nw:node/tet:te 1573 /tet:te-node-attributes/tet:connectivity-matrices 1574 /tet:connectivity-matrix/tet:from/tet:label-restriction 1575 /tet:label-start/tet:te-label/tet:technology: 1576 +--:(example) 1577 +--rw example 1578 +--rw label-1? uint32 1579 augment /nw:networks/nw:network/nw:node/tet:te 1580 /tet:te-node-attributes/tet:connectivity-matrices 1581 /tet:connectivity-matrix/tet:from/tet:label-restriction/tet:label-end 1582 /tet:te-label/tet:technology: 1584 +--:(example) 1585 +--rw example 1586 +--rw label-1? uint32 1587 augment /nw:networks/nw:network/nw:node/tet:te 1588 /tet:te-node-attributes/tet:connectivity-matrices 1589 /tet:connectivity-matrix/tet:to/tet:label-restriction/tet:label-start 1590 /tet:te-label/tet:technology: 1591 +--:(example) 1592 +--rw example 1593 +--rw label-1? uint32 1594 augment /nw:networks/nw:network/nw:node/tet:te 1595 /tet:te-node-attributes/tet:connectivity-matrices 1596 /tet:connectivity-matrix/tet:to/tet:label-restriction/tet:label-end 1597 /tet:te-label/tet:technology: 1598 +--:(example) 1599 +--rw example 1600 +--rw label-1? uint32 1601 augment /nw:networks/nw:network/nw:node/tet:te 1602 /tet:te-node-attributes/tet:connectivity-matrices 1603 /tet:connectivity-matrix/tet:underlay/tet:primary-path 1604 /tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label 1605 /tet:technology: 1606 +--:(example) 1607 +--rw example 1608 +--rw label-1? uint32 1609 augment /nw:networks/nw:network/nw:node/tet:te 1610 /tet:te-node-attributes/tet:connectivity-matrices 1611 /tet:connectivity-matrix/tet:underlay/tet:backup-path 1612 /tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label 1613 /tet:technology: 1614 +--:(example) 1615 +--rw example 1616 +--rw label-1? uint32 1617 augment /nw:networks/nw:network/nw:node/tet:te 1618 /tet:te-node-attributes/tet:connectivity-matrices 1619 /tet:connectivity-matrix/tet:computed-path-properties 1620 /tet:path-computed-route-objects/tet:path-computed-route-object 1621 /tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 1622 +--:(example) 1623 +--ro example 1624 +--ro label-1? uint32 1626 augment /nw:networks/nw:network/nw:node/tet:te 1627 /tet:information-source-entry/tet:connectivity-matrices 1628 /tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 1629 +--:(example) 1630 +--ro example 1631 +--ro label-1? uint32 1632 augment /nw:networks/nw:network/nw:node/tet:te 1633 /tet:information-source-entry/tet:connectivity-matrices 1634 /tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 1635 +--:(example) 1636 +--ro example 1637 +--ro label-1? uint32 1638 augment /nw:networks/nw:network/nw:node/tet:te 1639 /tet:information-source-entry/tet:connectivity-matrices/tet:underlay 1640 /tet:primary-path/tet:path-element/tet:type/tet:label/tet:label-hop 1641 /tet:te-label/tet:technology: 1642 +--:(example) 1643 +--ro example 1644 +--ro label-1? uint32 1645 augment /nw:networks/nw:network/nw:node/tet:te 1646 /tet:information-source-entry/tet:connectivity-matrices/tet:underlay 1647 /tet:backup-path/tet:path-element/tet:type/tet:label/tet:label-hop 1648 /tet:te-label/tet:technology: 1649 +--:(example) 1650 +--ro example 1651 +--ro label-1? uint32 1652 augment /nw:networks/nw:network/nw:node/tet:te 1653 /tet:information-source-entry/tet:connectivity-matrices 1654 /tet:computed-path-properties/tet:path-computed-route-objects 1655 /tet:path-computed-route-object/tet:type/tet:label/tet:label-hop 1656 /tet:te-label/tet:technology: 1657 +--:(example) 1658 +--ro example 1659 +--ro label-1? uint32 1660 augment /nw:networks/nw:network/nw:node/tet:te 1661 /tet:information-source-entry/tet:connectivity-matrices 1662 /tet:connectivity-matrix/tet:from/tet:label-restriction 1663 /tet:label-start/tet:te-label/tet:technology: 1664 +--:(example) 1665 +--ro example 1666 +--ro label-1? uint32 1668 augment /nw:networks/nw:network/nw:node/tet:te 1669 /tet:information-source-entry/tet:connectivity-matrices 1670 /tet:connectivity-matrix/tet:from/tet:label-restriction/tet:label-end 1671 /tet:te-label/tet:technology: 1672 +--:(example) 1673 +--ro example 1674 +--ro label-1? uint32 1675 augment /nw:networks/nw:network/nw:node/tet:te 1676 /tet:information-source-entry/tet:connectivity-matrices 1677 /tet:connectivity-matrix/tet:to/tet:label-restriction/tet:label-start 1678 /tet:te-label/tet:technology: 1679 +--:(example) 1680 +--ro example 1681 +--ro label-1? uint32 1682 augment /nw:networks/nw:network/nw:node/tet:te 1683 /tet:information-source-entry/tet:connectivity-matrices 1684 /tet:connectivity-matrix/tet:to/tet:label-restriction/tet:label-end 1685 /tet:te-label/tet:technology: 1686 +--:(example) 1687 +--ro example 1688 +--ro label-1? uint32 1689 augment /nw:networks/nw:network/nw:node/tet:te 1690 /tet:information-source-entry/tet:connectivity-matrices 1691 /tet:connectivity-matrix/tet:underlay/tet:primary-path 1692 /tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label 1693 /tet:technology: 1694 +--:(example) 1695 +--ro example 1696 +--ro label-1? uint32 1697 augment /nw:networks/nw:network/nw:node/tet:te 1698 /tet:information-source-entry/tet:connectivity-matrices 1699 /tet:connectivity-matrix/tet:underlay/tet:backup-path 1700 /tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label 1701 /tet:technology: 1702 +--:(example) 1703 +--ro example 1704 +--ro label-1? uint32 1705 augment /nw:networks/nw:network/nw:node/tet:te 1706 /tet:information-source-entry/tet:connectivity-matrices 1707 /tet:connectivity-matrix/tet:computed-path-properties 1708 /tet:path-computed-route-objects/tet:path-computed-route-object 1709 /tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 1710 +--:(example) 1711 +--ro example 1712 +--ro label-1? uint32 1713 augment /nw:networks/nw:network/nw:node/tet:te 1714 /tet:tunnel-termination-point/tet:local-link-connectivities 1715 /tet:label-restriction/tet:label-start/tet:te-label/tet:technology: 1716 +--:(example) 1717 +--rw example 1718 +--rw label-1? uint32 1719 augment /nw:networks/nw:network/nw:node/tet:te 1720 /tet:tunnel-termination-point/tet:local-link-connectivities 1721 /tet:label-restriction/tet:label-end/tet:te-label/tet:technology: 1722 +--:(example) 1723 +--rw example 1724 +--rw label-1? uint32 1725 augment /nw:networks/nw:network/nw:node/tet:te 1726 /tet:tunnel-termination-point/tet:local-link-connectivities 1727 /tet:underlay/tet:primary-path/tet:path-element/tet:type/tet:label 1728 /tet:label-hop/tet:te-label/tet:technology: 1729 +--:(example) 1730 +--rw example 1731 +--rw label-1? uint32 1732 augment /nw:networks/nw:network/nw:node/tet:te 1733 /tet:tunnel-termination-point/tet:local-link-connectivities 1734 /tet:underlay/tet:backup-path/tet:path-element/tet:type/tet:label 1735 /tet:label-hop/tet:te-label/tet:technology: 1736 +--:(example) 1737 +--rw example 1738 +--rw label-1? uint32 1739 augment /nw:networks/nw:network/nw:node/tet:te 1740 /tet:tunnel-termination-point/tet:local-link-connectivities 1741 /tet:computed-path-properties/tet:path-computed-route-objects 1742 /tet:path-computed-route-object/tet:type/tet:label/tet:label-hop 1743 /tet:te-label/tet:technology: 1744 +--:(example) 1745 +--ro example 1746 +--ro label-1? uint32 1747 augment /nw:networks/nw:network/nw:node/tet:te 1748 /tet:tunnel-termination-point/tet:local-link-connectivities 1749 /tet:local-link-connectivity/tet:label-restriction/tet:label-start 1750 /tet:te-label/tet:technology: 1751 +--:(example) 1752 +--rw example 1753 +--rw label-1? uint32 1754 augment /nw:networks/nw:network/nw:node/tet:te 1755 /tet:tunnel-termination-point/tet:local-link-connectivities 1756 /tet:local-link-connectivity/tet:label-restriction/tet:label-end 1757 /tet:te-label/tet:technology: 1758 +--:(example) 1759 +--rw example 1760 +--rw label-1? uint32 1761 augment /nw:networks/nw:network/nw:node/tet:te 1762 /tet:tunnel-termination-point/tet:local-link-connectivities 1763 /tet:local-link-connectivity/tet:underlay/tet:primary-path 1764 /tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label 1765 /tet:technology: 1766 +--:(example) 1767 +--rw example 1768 +--rw label-1? uint32 1769 augment /nw:networks/nw:network/nw:node/tet:te 1770 /tet:tunnel-termination-point/tet:local-link-connectivities 1771 /tet:local-link-connectivity/tet:underlay/tet:backup-path 1772 /tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label 1773 /tet:technology: 1774 +--:(example) 1775 +--rw example 1776 +--rw label-1? uint32 1777 augment /nw:networks/nw:network/nw:node/tet:te 1778 /tet:tunnel-termination-point/tet:local-link-connectivities 1779 /tet:local-link-connectivity/tet:computed-path-properties 1780 /tet:path-computed-route-objects/tet:path-computed-route-object 1781 /tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 1782 +--:(example) 1783 +--ro example 1784 +--ro label-1? uint32 1785 augment /nw:networks/nw:network/nt:link/tet:te 1786 /tet:te-link-attributes/tet:label-restriction/tet:label-start 1787 /tet:te-label/tet:technology: 1788 +--:(example) 1789 +--rw example 1790 +--rw label-1? uint32 1792 augment /nw:networks/nw:network/nt:link/tet:te 1793 /tet:te-link-attributes/tet:label-restriction/tet:label-end 1794 /tet:te-label/tet:technology: 1795 +--:(example) 1796 +--rw example 1797 +--rw label-1? uint32 1798 augment /nw:networks/nw:network/nt:link/tet:te 1799 /tet:te-link-attributes/tet:underlay/tet:primary-path 1800 /tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label 1801 /tet:technology: 1802 +--:(example) 1803 +--rw example 1804 +--rw label-1? uint32 1805 augment /nw:networks/nw:network/nt:link/tet:te 1806 /tet:te-link-attributes/tet:underlay/tet:backup-path/tet:path-element 1807 /tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology: 1808 +--:(example) 1809 +--rw example 1810 +--rw label-1? uint32 1811 augment /nw:networks/nw:network/nt:link/tet:te 1812 /tet:information-source-entry/tet:label-restriction/tet:label-start 1813 /tet:te-label/tet:technology: 1814 +--:(example) 1815 +--ro example 1816 +--ro label-1? uint32 1817 augment /nw:networks/nw:network/nt:link/tet:te 1818 /tet:information-source-entry/tet:label-restriction/tet:label-end 1819 /tet:te-label/tet:technology: 1820 +--:(example) 1821 +--ro example 1822 +--ro label-1? uint32 1824 The YANG module to implement the above example topology can be seen 1825 in Appendix C. 1827 7. TE Topology Yang Module 1829 file "ietf-te-topology@2018-02-08.yang" 1830 module ietf-te-topology { 1831 yang-version 1.1; 1832 namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology"; 1834 prefix "tet"; 1836 import ietf-yang-types { 1837 prefix "yang"; 1838 } 1840 import ietf-inet-types { 1841 prefix "inet"; 1842 } 1844 import ietf-te-types { 1845 prefix "te-types"; 1846 } 1848 import ietf-network { 1849 prefix "nw"; 1850 } 1852 import ietf-network-topology { 1853 prefix "nt"; 1854 } 1856 organization 1857 "IETF Traffic Engineering Architecture and Signaling (TEAS) 1858 Working Group"; 1860 contact 1861 "WG Web: 1862 WG List: 1864 Editor: Xufeng Liu 1865 1867 Editor: Igor Bryskin 1868 1870 Editor: Vishnu Pavan Beeram 1871 1873 Editor: Tarek Saad 1874 1876 Editor: Himanshu Shah 1877 1879 Editor: Oscar Gonzalez De Dios 1880 "; 1882 description 1883 "TE topology model for representing and manipulating technology 1884 agnostic TE Topologies. 1886 Copyright (c) 2018 IETF Trust and the persons identified as 1887 authors of the code. All rights reserved. 1889 Redistribution and use in source and binary forms, with or 1890 without modification, is permitted pursuant to, and subject to 1891 the license terms contained in, the Simplified BSD License set 1892 forth in Section 4.c of the IETF Trust's Legal Provisions 1893 Relating to IETF Documents 1894 (http://trustee.ietf.org/license-info). 1896 This version of this YANG module is part of RFC XXXX; see the 1897 RFC itself for full legal notices."; 1899 revision "2018-02-08" { 1900 description "Initial revision"; 1901 reference "RFC XXXX: YANG Data Model for TE Topologies"; 1902 // RFC Ed.: replace XXXX with actual RFC number and remove 1903 // this note 1904 } 1906 /* 1907 * Features 1908 */ 1909 feature nsrlg { 1910 description 1911 "This feature indicates that the system supports NSRLG 1912 (Not Sharing Risk Link Group)."; 1913 } 1914 feature te-topology-hierarchy { 1915 description 1916 "This feature indicates that the system allows underlay 1917 and/or overlay TE topology hierarchy."; 1918 } 1920 feature template { 1921 description 1922 "This feature indicates that the system supports 1923 template configuration."; 1924 } 1926 /* 1927 * Typedefs 1928 */ 1929 typedef geographic-coordinate-degree { 1930 type decimal64 { 1931 fraction-digits 8; 1932 } 1933 description 1934 "Decimal degree (DD) used to express latitude and longitude 1935 geographic coordinates."; 1936 } // geographic-coordinate-degree 1938 typedef te-info-source { 1939 type enumeration { 1940 enum "unknown" { 1941 description "The source is unknown."; 1942 } 1943 enum "locally-configured" { 1944 description "Configured entity."; 1945 } 1946 enum "ospfv2" { 1947 description "OSPFv2."; 1948 } 1949 enum "ospfv3" { 1950 description "OSPFv3."; 1951 } 1952 enum "isis" { 1953 description "ISIS."; 1955 } 1956 enum "bgp-ls" { 1957 description "BGP-LS."; 1958 reference 1959 "RFC7752: North-Bound Distribution of Link-State and 1960 Traffic Engineering (TE) Information Using BGP"; 1961 } 1962 enum "system-processed" { 1963 description "System processed entity."; 1964 } 1965 enum "other" { 1966 description "Other source."; 1967 } 1968 } 1969 description 1970 "Describining the type of source that has provided the 1971 related information, and the source credibility."; 1972 } // te-info-source 1974 /* 1975 * Groupings 1976 */ 1977 grouping connectivity-label-restriction-list { 1978 description 1979 "List of abel restrictions specifying what labels may or may 1980 not be used on a link connectivity."; 1981 list label-restriction { 1982 key "index"; 1983 description 1984 "List of abel restrictions specifying what labels may or may 1985 not be used on a link connectivity."; 1986 reference 1987 "RFC7579: General Network Element Constraint Encoding 1988 for GMPLS-Controlled Networks"; 1989 leaf index { 1990 type uint32; 1991 description 1992 "Then index of the label restriction list entry."; 1993 } 1994 leaf inclusive-exclusive { 1995 type enumeration { 1996 enum inclusive { 1997 description "The label or label range is inclusive."; 1998 } 1999 enum exclusive { 2000 description "The label or label range is exclusive."; 2001 } 2002 } 2003 default inclusive; 2004 description 2005 "Whether the list item is inclusive or exclusive."; 2006 } 2007 container label-start { 2008 description 2009 "This is the starting lable if a lable range is specified. 2010 This is the lable value if a single lable is specified, 2011 in which case, attribute 'label-end' is not set."; 2012 uses te-types:te-label; 2013 } 2014 container label-end { 2015 description 2016 "The ending lable if a lable range is specified; 2017 This attribute is not set, If a single lable is 2018 specified."; 2019 uses te-types:te-label; 2020 } 2021 leaf range-bitmap { 2022 type binary; 2023 description 2024 "When there are gaps between label-start and label-end, 2025 this attribute is used to specified the possitions 2026 of the used labels."; 2027 } 2028 } 2029 } // connectivity-label-restriction-list 2031 grouping connectivity-matrix-entry-path-attributes { 2032 description 2033 "Attributes of connectivity matrix entry."; 2034 leaf is-allowed { 2035 type boolean; 2036 description 2037 "true - switching is allowed, 2038 false - switching is disallowed."; 2039 } 2040 container underlay { 2041 if-feature te-topology-hierarchy; 2042 description "Attributes of the te-link underlay."; 2043 reference 2044 "RFC4206: Label Switched Paths (LSP) Hierarchy with 2045 Generalized Multi-Protocol Label Switching (GMPLS) 2046 Traffic Engineering (TE)"; 2048 uses te-link-underlay-attributes; 2049 } // underlay 2051 uses te-types:generic-path-constraints; 2052 uses te-types:generic-path-optimization; 2053 uses te-types:generic-path-properties; 2054 } // connectivity-matrix-entry-path-attributes 2056 grouping geolocation-container { 2057 description 2058 "A container containing a GPS location."; 2059 container geolocation{ 2060 config false; 2061 description 2062 "A container containing a GPS location."; 2063 leaf altitude { 2064 type int64; 2065 units millimeter; 2066 description 2067 "Distance above the sea level."; 2068 } 2069 leaf latitude { 2070 type geographic-coordinate-degree { 2071 range "-90..90"; 2072 } 2073 description 2074 "Relative position north or south on the Earth's surface."; 2075 } 2076 leaf longitude { 2077 type geographic-coordinate-degree { 2078 range "-180..180"; 2079 } 2080 description 2081 "Angular distance east or west on the Earth's surface."; 2082 } 2083 } // gps-location 2084 } // geolocation-container 2086 grouping information-source-state-attributes { 2087 description 2088 "The attributes identifying source that has provided the 2089 related information, and the source credibility."; 2090 leaf credibility-preference { 2091 type uint16; 2092 description 2093 "The preference value to calculate the traffic 2094 engineering database credibility value used for 2095 tie-break selection between different 2096 information-source values. 2097 Higher value is more preferable."; 2098 } 2099 leaf logical-network-element { 2100 type string; 2101 description 2102 "When applicable, this is the name of a logical network 2103 element from which the information is learned."; 2104 } // logical-network-element 2105 leaf network-instance { 2106 type string; 2107 description 2108 "When applicable, this is the name of a network-instance 2109 from which the information is learned."; 2110 } // network-instance 2111 } // information-source-state-attributes 2113 grouping information-source-per-link-attributes { 2114 description 2115 "Per node container of the attributes identifying source that 2116 has provided the related information, and the source 2117 credibility."; 2118 leaf information-source { 2119 type te-info-source; 2120 config false; 2121 description 2122 "Indicates the source of the information."; 2123 } 2124 container information-source-state { 2125 config false; 2126 description 2127 "The container contains state attributes related to 2128 the information source."; 2129 uses information-source-state-attributes; 2130 container topology { 2131 description 2132 "When the information is processed by the system, 2133 the attributes in this container indicate which topology 2134 is used to process to generate the result information."; 2135 uses nt:link-ref; 2136 } // topology 2137 } // information-source-state 2138 } // information-source-per-link-attributes 2140 grouping information-source-per-node-attributes { 2141 description 2142 "Per node container of the attributes identifying source that 2143 has provided the related information, and the source 2144 credibility."; 2145 leaf information-source { 2146 type te-info-source; 2147 config false; 2148 description 2149 "Indicates the source of the information."; 2150 } 2151 container information-source-state { 2152 config false; 2153 description 2154 "The container contains state attributes related to 2155 the information source."; 2156 uses information-source-state-attributes; 2157 container topology { 2158 description 2159 "When the information is processed by the system, 2160 the attributes in this container indicate which topology 2161 is used to process to generate the result information."; 2162 uses nw:node-ref; 2163 } // topology 2164 } // information-source-state 2165 } // information-source-per-node-attributes 2167 grouping interface-switching-capability-list { 2168 description 2169 "List of Interface Switching Capabilities Descriptors (ISCD)"; 2170 list interface-switching-capability { 2171 key "switching-capability encoding"; 2172 description 2173 "List of Interface Switching Capabilities Descriptors (ISCD) 2174 for this link."; 2175 reference 2176 "RFC3471: Generalized Multi-Protocol Label Switching (GMPLS) 2177 Signaling Functional Description. 2178 RFC4203: OSPF Extensions in Support of Generalized 2179 Multi-Protocol Label Switching (GMPLS)."; 2180 leaf switching-capability { 2181 type identityref { 2182 base te-types:switching-capabilities; 2183 } 2184 description 2185 "Switching Capability for this interface."; 2186 } 2187 leaf encoding { 2188 type identityref { 2189 base te-types:lsp-encoding-types; 2190 } 2191 description 2192 "Encoding supported by this interface."; 2193 } 2194 uses te-link-iscd-attributes; 2195 } // interface-switching-capability 2196 } // interface-switching-capability-list 2198 grouping statistics-per-link { 2199 description 2200 "Statistics attributes per TE link."; 2202 leaf discontinuity-time { 2203 type yang:date-and-time; 2204 mandatory true; 2205 description 2206 "The time on the most recent occasion at which any one or 2207 more of this interface's counters suffered a 2208 discontinuity. If no such discontinuities have occurred 2209 since the last re-initialization of the local management 2210 subsystem, then this node contains the time the local 2211 management subsystem re-initialized itself."; 2212 } 2213 /* Administrative attributes */ 2214 leaf disables { 2215 type yang:counter32; 2216 description 2217 "Number of times that link was disabled."; 2218 } 2219 leaf enables { 2220 type yang:counter32; 2221 description 2222 "Number of times that link was enabled."; 2223 } 2224 leaf maintenance-clears { 2225 type yang:counter32; 2226 description 2227 "Number of times that link was put out of maintenance."; 2228 } 2229 leaf maintenance-sets { 2230 type yang:counter32; 2231 description 2232 "Number of times that link was put in maintenance."; 2233 } 2234 leaf modifies { 2235 type yang:counter32; 2236 description 2237 "Number of times that link was modified."; 2238 } 2239 /* Operational attributes */ 2240 leaf downs { 2241 type yang:counter32; 2242 description 2243 "Number of times that link was set to operational down."; 2244 } 2245 leaf ups { 2246 type yang:counter32; 2247 description 2248 "Number of times that link was set to operational up."; 2249 } 2250 /* Recovery attributes */ 2251 leaf fault-clears { 2252 type yang:counter32; 2253 description 2254 "Number of times that link experienced fault clear event."; 2255 } 2256 leaf fault-detects { 2257 type yang:counter32; 2258 description 2259 "Number of times that link experienced fault detection."; 2260 } 2261 leaf protection-switches { 2262 type yang:counter32; 2263 description 2264 "Number of times that link experienced protection 2265 switchover."; 2266 } 2267 leaf protection-reverts { 2268 type yang:counter32; 2269 description 2270 "Number of times that link experienced protection 2271 reversion."; 2272 } 2273 leaf restoration-failures { 2274 type yang:counter32; 2275 description 2276 "Number of times that link experienced restoration 2277 failure."; 2278 } 2279 leaf restoration-starts { 2280 type yang:counter32; 2281 description 2282 "Number of times that link experienced restoration 2283 start."; 2285 } 2286 leaf restoration-successes { 2287 type yang:counter32; 2288 description 2289 "Number of times that link experienced restoration 2290 success."; 2291 } 2292 leaf restoration-reversion-failures { 2293 type yang:counter32; 2294 description 2295 "Number of times that link experienced restoration reversion 2296 failure."; 2297 } 2298 leaf restoration-reversion-starts { 2299 type yang:counter32; 2300 description 2301 "Number of times that link experienced restoration reversion 2302 start."; 2303 } 2304 leaf restoration-reversion-successes { 2305 type yang:counter32; 2306 description 2307 "Number of times that link experienced restoration reversion 2308 success."; 2309 } 2310 } // statistics-per-link 2312 grouping statistics-per-node { 2313 description 2314 "Statistics attributes per TE node."; 2315 leaf discontinuity-time { 2316 type yang:date-and-time; 2317 mandatory true; 2318 description 2319 "The time on the most recent occasion at which any one or 2320 more of this interface's counters suffered a 2321 discontinuity. If no such discontinuities have occurred 2322 since the last re-initialization of the local management 2323 subsystem, then this node contains the time the local 2324 management subsystem re-initialized itself."; 2325 } 2326 container node { 2327 description 2328 "Containing TE node level statistics attributes."; 2329 leaf disables { 2330 type yang:counter32; 2331 description 2332 "Number of times that node was disabled."; 2333 } 2334 leaf enables { 2335 type yang:counter32; 2336 description 2337 "Number of times that node was enabled."; 2338 } 2339 leaf maintenance-sets { 2340 type yang:counter32; 2341 description 2342 "Number of times that node was put in maintenance."; 2343 } 2344 leaf maintenance-clears { 2345 type yang:counter32; 2346 description 2347 "Number of times that node was put out of maintenance."; 2348 } 2349 leaf modifies { 2350 type yang:counter32; 2351 description 2352 "Number of times that node was modified."; 2353 } 2354 } // node 2355 container connectivity-matrix-entry { 2356 description 2357 "Containing connectivity matrix entry level statistics 2358 attributes."; 2359 leaf creates { 2360 type yang:counter32; 2361 description 2362 "Number of times that a connectivity matrix entry was 2363 created."; 2364 reference 2365 "RFC6241. Section 7.2 for 'create' operation. "; 2366 } 2367 leaf deletes { 2368 type yang:counter32; 2369 description 2370 "Number of times that a connectivity matrix entry was 2371 deleted."; 2372 reference 2373 "RFC6241. Section 7.2 for 'delete' operation. "; 2374 } 2375 leaf disables { 2376 type yang:counter32; 2377 description 2378 "Number of times that a connectivity matrix entry was 2379 disabled."; 2380 } 2381 leaf enables { 2382 type yang:counter32; 2383 description 2384 "Number of times that a connectivity matrix entry was 2385 enabled."; 2386 } 2387 leaf modifies { 2388 type yang:counter32; 2389 description 2390 "Number of times that a connectivity matrix entry was 2391 modified."; 2392 } 2393 } // connectivity-matrix-entry 2394 } // statistics-per-node 2396 grouping statistics-per-ttp { 2397 description 2398 "Statistics attributes per TE TTP (Tunnel Termination Point)."; 2399 leaf discontinuity-time { 2400 type yang:date-and-time; 2401 mandatory true; 2402 description 2403 "The time on the most recent occasion at which any one or 2404 more of this interface's counters suffered a 2405 discontinuity. If no such discontinuities have occurred 2406 since the last re-initialization of the local management 2407 subsystem, then this node contains the time the local 2408 management subsystem re-initialized itself."; 2409 } 2410 container tunnel-termination-point { 2411 description 2412 "Containing TE TTP (Tunnel Termination Point) level 2413 statistics attributes."; 2414 /* Administrative attributes */ 2415 leaf disables { 2416 type yang:counter32; 2417 description 2418 "Number of times that TTP was disabled."; 2419 } 2420 leaf enables { 2421 type yang:counter32; 2422 description 2423 "Number of times that TTP was enabled."; 2424 } 2425 leaf maintenance-clears { 2426 type yang:counter32; 2427 description 2428 "Number of times that TTP was put out of maintenance."; 2429 } 2430 leaf maintenance-sets { 2431 type yang:counter32; 2432 description 2433 "Number of times that TTP was put in maintenance."; 2434 } 2435 leaf modifies { 2436 type yang:counter32; 2437 description 2438 "Number of times that TTP was modified."; 2439 } 2440 /* Operational attributes */ 2441 leaf downs { 2442 type yang:counter32; 2443 description 2444 "Number of times that TTP was set to operational down."; 2445 } 2446 leaf ups { 2447 type yang:counter32; 2448 description 2449 "Number of times that TTP was set to operational up."; 2450 } 2451 leaf in-service-clears { 2452 type yang:counter32; 2453 description 2454 "Number of times that TTP was taken out of service 2455 (TE tunnel was released)."; 2456 } 2457 leaf in-service-sets { 2458 type yang:counter32; 2459 description 2460 "Number of times that TTP was put in service by a TE 2461 tunnel (TE tunnel was set up)."; 2462 } 2463 } // tunnel-termination-point 2465 container local-link-connectivity { 2466 description 2467 "Containing TE LLCL (Local Link Connectivity List) level 2468 statistics attributes."; 2469 leaf creates { 2470 type yang:counter32; 2471 description 2472 "Number of times that an LLCL entry was created."; 2473 reference 2474 "RFC6241. Section 7.2 for 'create' operation. "; 2475 } 2476 leaf deletes { 2477 type yang:counter32; 2478 description 2479 "Number of times that an LLCL entry was deleted."; 2480 reference 2481 "RFC6241. Section 7.2 for 'delete' operation."; 2482 } 2483 leaf disables { 2484 type yang:counter32; 2485 description 2486 "Number of times that an LLCL entry was disabled."; 2487 } 2488 leaf enables { 2489 type yang:counter32; 2490 description 2491 "Number of times that an LLCL entry was enabled."; 2492 } 2493 leaf modifies { 2494 type yang:counter32; 2495 description 2496 "Number of times that an LLCL entry was modified."; 2497 } 2498 } // local-link-connectivity 2499 } // statistics-per-ttp 2501 grouping te-link-augment { 2502 description 2503 "Augmentation for TE link."; 2504 uses te-link-config; 2505 uses te-link-state-derived; 2506 container statistics { 2507 config false; 2508 description 2509 "Statistics data."; 2510 uses statistics-per-link; 2511 } // statistics 2512 } // te-link-augment 2514 grouping te-link-config { 2515 description 2516 "TE link configuration grouping."; 2517 choice bundle-stack-level { 2518 description 2519 "The TE link can be partitioned into bundled 2520 links, or component links."; 2521 case bundle { 2522 container bundled-links { 2523 description 2524 "A set of bundled links."; 2525 reference 2526 "RFC4201: Link Bundling in MPLS Traffic Engineering 2527 (TE)."; 2528 list bundled-link { 2529 key "sequence"; 2530 description 2531 "Specify a bundled interface that is 2532 further partitioned."; 2533 leaf sequence { 2534 type uint32; 2535 description 2536 "Identify the sequence in the bundle."; 2537 } 2538 } // list bundled-link 2539 } 2540 } 2541 case component { 2542 container component-links { 2543 description 2544 "A set of component links"; 2545 list component-link { 2546 key "sequence"; 2547 description 2548 "Specify a component interface that is 2549 sufficient to unambiguously identify the 2550 appropriate resources"; 2552 leaf sequence { 2553 type uint32; 2554 description 2555 "Identify the sequence in the bundle."; 2556 } 2557 leaf src-interface-ref { 2558 type string; 2559 description 2560 "Reference to component link interface on the 2561 source node."; 2562 } 2563 leaf des-interface-ref { 2564 type string; 2565 description 2566 "Reference to component link interface on the 2567 destinatioin node."; 2568 } 2569 } 2570 } 2571 } 2573 } // bundle-stack-level 2575 leaf-list te-link-template { 2576 if-feature template; 2577 type leafref { 2578 path "../../../../te/templates/link-template/name"; 2579 } 2580 description 2581 "The reference to a TE link template."; 2582 } 2583 uses te-link-config-attributes; 2584 } // te-link-config 2586 grouping te-link-config-attributes { 2587 description 2588 "Link configuration attributes in a TE topology."; 2589 container te-link-attributes { 2590 description "Link attributes in a TE topology."; 2591 leaf access-type { 2592 type te-types:te-link-access-type; 2593 description 2594 "Link access type, which can be point-to-point or 2595 multi-access."; 2596 } 2597 container external-domain { 2598 description 2599 "For an inter-domain link, specify the attributes of 2600 the remote end of link, to facilitate the signalling at 2601 local end."; 2602 uses nw:network-ref; 2603 leaf remote-te-node-id { 2604 type te-types:te-node-id; 2605 description 2606 "Remote TE node identifier, used together with 2607 remote-te-link-id to identify the remote link 2608 termination point in a different domain."; 2609 } 2610 leaf remote-te-link-tp-id { 2611 type te-types:te-tp-id; 2612 description 2613 "Remote TE link termination point identifier, used 2614 together with remote-te-node-id to identify the remote 2615 link termination point in a different domain."; 2616 } 2617 } 2618 leaf is-abstract { 2619 type empty; 2620 description "Present if the link is abstract."; 2621 } 2622 leaf name { 2623 type string; 2624 description "Link Name."; 2625 } 2626 container underlay { 2627 if-feature te-topology-hierarchy; 2628 description "Attributes of the te-link underlay."; 2629 reference 2630 "RFC4206: Label Switched Paths (LSP) Hierarchy with 2631 Generalized Multi-Protocol Label Switching (GMPLS) 2632 Traffic Engineering (TE)"; 2634 uses te-link-underlay-attributes; 2635 } // underlay 2636 leaf admin-status { 2637 type te-types:te-admin-status; 2638 description 2639 "The administrative state of the link."; 2640 } 2642 uses te-link-info-attributes; 2643 } // te-link-attributes 2644 } // te-link-config-attributes 2646 grouping te-link-info-attributes { 2647 description 2648 "Advertised TE information attributes."; 2649 leaf link-index { 2650 type uint64; 2651 description 2652 "The link identifier. If OSPF is used, this represents an 2653 ospfLsdbID. If IS-IS is used, this represents an isisLSPID. 2654 If a locally configured link is used, this object represents 2655 a unique value, which is locally defined in a router."; 2656 } 2657 leaf administrative-group { 2658 type te-types:admin-groups; 2659 description 2660 "Administrative group or color of the link. 2661 This attribute covers both administrative group (defined in 2662 RFC3630, RFC5329, and RFC5305), and extended administrative 2663 group (defined in RFC7308)."; 2664 } 2666 uses interface-switching-capability-list; 2667 uses connectivity-label-restriction-list; 2669 leaf link-protection-type { 2670 type enumeration { 2671 enum "unprotected" { 2672 description "Unprotected."; 2673 } 2674 enum "extra-traffic" { 2675 description "Extra traffic."; 2676 } 2677 enum "shared" { 2678 description "Shared."; 2679 } 2680 enum "1-for-1" { 2681 description "One for one protection."; 2682 } 2683 enum "1-plus-1" { 2684 description "One plus one protection."; 2685 } 2686 enum "enhanced" { 2687 description "Enhanced protection."; 2688 } 2689 } 2690 description 2691 "Link Protection Type desired for this link."; 2692 reference 2693 "RFC4202: Routing Extensions in Support of 2694 Generalized Multi-Protocol Label Switching (GMPLS)."; 2695 } 2696 container max-link-bandwidth { 2697 uses te-types:te-bandwidth; 2698 description 2699 "Maximum bandwidth that can be seen on this link in this 2700 direction. Units in bytes per second."; 2701 reference 2702 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 2703 Version 2. 2704 RFC5305: IS-IS Extensions for Traffic Engineering."; 2705 } 2706 container max-resv-link-bandwidth { 2707 uses te-types:te-bandwidth; 2708 description 2709 "Maximum amount of bandwidth that can be reserved in this 2710 direction in this link. Units in bytes per second."; 2711 reference 2712 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 2713 Version 2. 2714 RFC5305: IS-IS Extensions for Traffic Engineering."; 2715 } 2716 list unreserved-bandwidth { 2717 key "priority"; 2718 max-elements "8"; 2719 description 2720 "Unreserved bandwidth for 0-7 priority levels. Units in 2721 bytes per second."; 2722 reference 2723 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 2724 Version 2. 2725 RFC5305: IS-IS Extensions for Traffic Engineering."; 2726 leaf priority { 2727 type uint8 { 2728 range "0..7"; 2729 } 2730 description "Priority."; 2731 } 2732 uses te-types:te-bandwidth; 2733 } 2734 leaf te-default-metric { 2735 type uint32; 2736 description 2737 "Traffic engineering metric."; 2738 reference 2739 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 2740 Version 2. 2741 RFC5305: IS-IS Extensions for Traffic Engineering."; 2742 } 2743 leaf te-delay-metric { 2744 type uint32; 2745 description 2746 "Traffic engineering delay metric."; 2747 reference 2748 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions."; 2749 } 2750 leaf te-igp-metric { 2751 type uint32; 2752 description 2753 "IGP metric used for traffic engineering."; 2754 reference 2755 "RFC3785: Use of Interior Gateway Protocol (IGP) Metric as a 2756 Second MPLS Traffic Engineering (TE) Metric."; 2757 } 2758 container te-srlgs { 2759 description 2760 "Containing a list of SLRGs."; 2761 leaf-list value { 2762 type te-types:srlg; 2763 description "SRLG value."; 2764 reference 2765 "RFC4202: Routing Extensions in Support of 2766 Generalized Multi-Protocol Label Switching (GMPLS)."; 2767 } 2768 } 2769 container te-nsrlgs { 2770 if-feature nsrlg; 2771 description 2772 "Containing a list of NSRLGs (Not Sharing Risk Link 2773 Groups). 2774 When an abstract TE link is configured, this list specifies 2775 the request that underlay TE paths need to be mutually 2776 disjoint with other TE links in the same groups."; 2778 leaf-list id { 2779 type uint32; 2780 description 2781 "NSRLG ID, uniquely configured within a topology."; 2782 reference 2783 "RFC4872: RSVP-TE Extensions in Support of End-to-End 2784 Generalized Multi-Protocol Label Switching (GMPLS) 2785 Recovery"; 2786 } 2787 } 2788 } // te-link-info-attributes 2790 grouping te-link-iscd-attributes { 2791 description 2792 "TE link ISCD (Interface Switching Capability Descriptor) 2793 attributes."; 2794 reference 2795 "Sec 1.4, RFC4203: OSPF Extensions in Support of Generalized 2796 Multi-Protocol Label Switching (GMPLS). Section 1.4."; 2797 list max-lsp-bandwidth { 2798 key "priority"; 2799 max-elements "8"; 2800 description 2801 "Maximum LSP Bandwidth at priorities 0-7."; 2802 leaf priority { 2803 type uint8 { 2804 range "0..7"; 2805 } 2806 description "Priority."; 2807 } 2808 uses te-types:te-bandwidth; 2809 } 2810 } // te-link-iscd-attributes 2812 grouping te-link-state-derived { 2813 description 2814 "Link state attributes in a TE topology."; 2815 leaf oper-status { 2816 type te-types:te-oper-status; 2817 config false; 2818 description 2819 "The current operational state of the link."; 2820 } 2821 leaf is-transitional { 2822 type empty; 2823 config false; 2824 description 2825 "Present if the link is transitional, used as an 2826 alternative approach in lieu of inter-layer-lock-id 2827 for path computation in a TE topology covering multiple 2828 layers or multiple regions."; 2829 reference 2830 "RFC5212: Requirements for GMPLS-Based Multi-Region and 2831 Multi-Layer Networks (MRN/MLN). 2832 RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 2833 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 2834 } 2835 uses information-source-per-link-attributes; 2836 list information-source-entry { 2837 key "information-source"; 2838 config false; 2839 description 2840 "A list of information sources learned, including the one 2841 used."; 2842 uses information-source-per-link-attributes; 2843 uses te-link-info-attributes; 2844 } 2845 container recovery { 2846 config false; 2847 description 2848 "Status of the recovery process."; 2849 leaf restoration-status { 2850 type te-types:te-recovery-status; 2851 description 2852 "Restoration status."; 2853 } 2854 leaf protection-status { 2855 type te-types:te-recovery-status; 2856 description 2857 "Protection status."; 2858 } 2859 } 2860 container underlay { 2861 if-feature te-topology-hierarchy; 2862 config false; 2863 description "State attributes for te-link underlay."; 2864 leaf dynamic { 2865 type boolean; 2866 description 2867 "true if the underlay is dynamically created."; 2868 } 2869 leaf committed { 2870 type boolean; 2871 description 2872 "true if the underlay is committed."; 2873 } 2874 } 2875 } // te-link-state-derived 2877 grouping te-link-underlay-attributes { 2878 description "Attributes for te-link underlay."; 2879 reference 2880 "RFC4206: Label Switched Paths (LSP) Hierarchy with 2881 Generalized Multi-Protocol Label Switching (GMPLS) 2882 Traffic Engineering (TE)"; 2883 leaf enabled { 2884 type boolean; 2885 description 2886 "'true' if the underlay is enabled. 2887 'false' if the underlay is disabled."; 2888 } 2889 container primary-path { 2890 description 2891 "The service path on the underlay topology that 2892 supports this link."; 2893 uses nw:network-ref; 2894 list path-element { 2895 key "path-element-id"; 2896 description 2897 "A list of path elements describing the service path."; 2898 leaf path-element-id { 2899 type uint32; 2900 description "To identify the element in a path."; 2902 } 2903 uses te-path-element; 2904 } 2905 } // primary-path 2906 list backup-path { 2907 key "index"; 2908 description 2909 "A list of backup service paths on the underlay topology that 2910 protect the underlay primary path. If the primary path is 2911 not protected, the list contains zero elements. If the 2912 primary path is protected, the list contains one or more 2913 elements."; 2914 leaf index { 2915 type uint32; 2916 description 2917 "A sequence number to identify a backup path."; 2918 } 2919 uses nw:network-ref; 2920 list path-element { 2921 key "path-element-id"; 2922 description 2923 "A list of path elements describing the backup service 2924 path"; 2925 leaf path-element-id { 2926 type uint32; 2927 description "To identify the element in a path."; 2928 } 2929 uses te-path-element; 2930 } 2931 } // underlay-backup-path 2932 leaf protection-type { 2933 type identityref { 2934 base te-types:lsp-protection-type; 2935 } 2936 description 2937 "Underlay protection type desired for this link."; 2938 } 2939 container tunnel-termination-points { 2940 description 2941 "Underlay TTP(Tunnel Termination Points) desired for this 2942 link."; 2944 leaf source { 2945 type binary; 2946 description 2947 "Source tunnel termination point identifier."; 2948 } 2949 leaf destination { 2950 type binary; 2951 description 2952 "Destination tunnel termination point identifier."; 2953 } 2954 } 2955 container tunnels { 2956 description 2957 "Underlay TE tunnels supporting this TE link."; 2958 leaf sharing { 2959 type boolean; 2960 default true; 2961 description 2962 "'true' if the underlay tunnel can be shared with other 2963 TE links; 2964 'false' if the underlay tunnel is dedicated to this 2965 TE link. 2966 This leaf is the default option for all TE tunnels, 2967 and may be overridden by the per TE tunnel value."; 2968 } 2969 list tunnel { 2970 key "tunnel-name"; 2971 description 2972 "Zero, one or more underlay TE tunnels that support this TE 2973 link."; 2974 leaf tunnel-name { 2975 type string; 2976 description 2977 "A tunnel name uniquely identifies an underlay TE tunnel, 2978 used together with the source-node of this link. 2979 The detailed information of this tunnel can be retrieved 2980 from the ietf-te model."; 2981 reference "RFC3209"; 2982 } 2983 leaf sharing { 2984 type boolean; 2985 description 2986 "'true' if the underlay tunnel can be shared with other 2987 TE links; 2988 'false' if the underlay tunnel is dedicated to this 2989 TE link."; 2990 } 2991 } // tunnel 2992 } // tunnels 2993 } // te-link-underlay-attributes 2995 grouping te-node-augment { 2996 description 2997 "Augmentation for TE node."; 2998 uses te-node-config; 2999 uses te-node-state-derived; 3000 container statistics { 3001 config false; 3002 description 3003 "Statistics data."; 3004 uses statistics-per-node; 3005 } // statistics 3007 list tunnel-termination-point { 3008 key "tunnel-tp-id"; 3009 description 3010 "A termination point can terminate a tunnel."; 3011 leaf tunnel-tp-id { 3012 type binary; 3013 description 3014 "Tunnel termination point identifier."; 3015 } 3017 uses te-node-tunnel-termination-point-config; 3018 leaf oper-status { 3019 type te-types:te-oper-status; 3020 config false; 3021 description 3022 "The current operational state of the tunnel 3023 termination point."; 3024 } 3025 uses geolocation-container; 3026 container statistics { 3027 config false; 3028 description 3029 "Statistics data."; 3030 uses statistics-per-ttp; 3031 } // statistics 3033 // Relations to other tunnel termination points 3034 list supporting-tunnel-termination-point { 3035 key "node-ref tunnel-tp-ref"; 3036 description 3037 "Identifies the tunnel termination points, that this 3038 tunnel termination point is depending on."; 3039 leaf node-ref { 3040 type inet:uri; 3041 description 3042 "This leaf identifies the node in which the supporting 3043 tunnel termination point is present. 3044 This node is either the supporting node or a node in 3045 an underlay topology."; 3046 } 3047 leaf tunnel-tp-ref { 3048 type binary; 3049 description 3050 "Reference to a tunnel terminiation point, which is 3051 either in the supporting node or a node in an 3052 underlay topology."; 3053 } 3054 } // supporting-tunnel-termination-point 3055 } // tunnel-termination-point 3056 } // te-node-augment 3058 grouping te-node-config { 3059 description "TE node configuration grouping."; 3060 leaf-list te-node-template { 3061 if-feature template; 3062 type leafref { 3063 path "../../../../te/templates/node-template/name"; 3064 } 3065 description 3066 "The reference to a TE node template."; 3068 } 3069 uses te-node-config-attributes; 3070 } // te-node-config 3072 grouping te-node-config-attributes { 3073 description "Configuration node attributes in a TE topology."; 3074 container te-node-attributes { 3075 description "Containing node attributes in a TE topology."; 3076 leaf admin-status { 3077 type te-types:te-admin-status; 3078 description 3079 "The administrative state of the link."; 3080 } 3081 uses te-node-connectivity-matrices; 3082 uses te-node-info-attributes; 3083 } // te-node-attributes 3084 } // te-node-config-attributes 3086 grouping te-node-config-attributes-template { 3087 description 3088 "Configuration node attributes for template in a TE topology."; 3089 container te-node-attributes { 3090 description "Containing node attributes in a TE topology."; 3091 leaf admin-status { 3092 type te-types:te-admin-status; 3093 description 3094 "The administrative state of the link."; 3095 } 3096 uses te-node-info-attributes; 3097 } // te-node-attributes 3098 } // te-node-config-attributes-template 3100 grouping te-node-connectivity-matrices { 3101 description "Connectivity matrix on a TE node."; 3102 container connectivity-matrices { 3103 description 3104 "Containing connectivity matrix on a TE node."; 3105 leaf number-of-entries { 3106 type uint16; 3107 description 3108 "The number of connectivity matrix entries. 3110 If this number is speficied in the configuration request, 3111 the number is requested number of entries, which may not 3112 all be listed in the list; 3113 if this number is reported in the state data, 3114 the number is the current number of operational entries."; 3115 } 3116 uses connectivity-label-restriction-list; 3117 uses connectivity-matrix-entry-path-attributes; 3118 list connectivity-matrix { 3119 key "id"; 3120 description 3121 "Represents node's switching limitations, i.e. limitations 3122 in interconnecting network TE links across the node."; 3123 reference 3124 "RFC7579: General Network Element Constraint Encoding 3125 for GMPLS-Controlled Networks."; 3126 leaf id { 3127 type uint32; 3128 description "Identifies the connectivity-matrix entry."; 3129 } 3130 } // connectivity-matrix 3131 } // connectivity-matrices 3132 } // te-node-connectivity-matrices 3134 grouping te-node-connectivity-matrix-attributes { 3135 description 3136 "Termination point references of a connectivity matrix entry."; 3137 container from { 3138 description 3139 "Reference to source link termination point."; 3140 leaf tp-ref { 3141 type leafref { 3142 path "../../../../../../nt:termination-point/nt:tp-id"; 3143 } 3144 description 3145 "Relative reference to a termination point."; 3146 } 3147 uses connectivity-label-restriction-list; 3148 } 3149 container to { 3150 description 3151 "Reference to destination link termination point."; 3152 leaf tp-ref { 3153 type leafref { 3154 path "../../../../../../nt:termination-point/nt:tp-id"; 3155 } 3156 description 3157 "Relative reference to a termination point."; 3158 } 3159 uses connectivity-label-restriction-list; 3160 } 3161 uses connectivity-matrix-entry-path-attributes; 3162 } // te-node-connectivity-matrix-attributes 3164 grouping te-node-info-attributes { 3165 description 3166 "Advertised TE information attributes."; 3167 leaf domain-id { 3168 type uint32; 3169 description 3170 "Identifies the domain that this node belongs. 3171 This attribute is used to support inter-domain links."; 3172 reference 3173 "RFC5152: A Per-Domain Path Computation Method for 3174 Establishing Inter-Domain Traffic Engineering (TE) 3175 Label Switched Paths (LSPs). 3176 RFC5392: OSPF Extensions in Support of Inter-Autonomous 3177 System (AS) MPLS and GMPLS Traffic Engineering. 3178 RFC5316: ISIS Extensions in Support of Inter-Autonomous 3179 System (AS) MPLS and GMPLS Traffic Engineering."; 3180 } 3181 leaf is-abstract { 3182 type empty; 3183 description 3184 "Present if the node is abstract, not present if the node 3185 is actual."; 3186 } 3187 leaf name { 3188 type string; 3189 description "Node name."; 3190 } 3191 leaf-list signaling-address { 3192 type inet:ip-address; 3193 description "Node signaling address."; 3194 } 3195 container underlay-topology { 3196 if-feature te-topology-hierarchy; 3197 description 3198 "When an abstract node encapsulates a topology, 3199 the attributes in this container point to said topology."; 3200 uses nw:network-ref; 3201 } 3202 } // te-node-info-attributes 3204 grouping te-node-state-derived { 3205 description "Node state attributes in a TE topology."; 3206 leaf oper-status { 3207 type te-types:te-oper-status; 3208 config false; 3209 description 3210 "The current operational state of the node."; 3211 } 3212 uses geolocation-container; 3213 leaf is-multi-access-dr { 3214 type empty; 3215 config false; 3216 description 3217 "The presence of this attribute indicates that this TE node 3218 is a pseudonode elected as a designated router."; 3219 reference 3220 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 3221 Version 2. 3222 RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual 3223 Environments."; 3224 } 3225 uses information-source-per-node-attributes; 3226 list information-source-entry { 3227 key "information-source"; 3228 config false; 3229 description 3230 "A list of information sources learned, including the one 3231 used."; 3232 uses information-source-per-node-attributes; 3233 uses te-node-connectivity-matrices; 3234 uses te-node-info-attributes; 3235 } 3236 } // te-node-state-derived 3238 grouping te-node-tunnel-termination-point-config { 3239 description 3240 "Termination capability of a tunnel termination point on a 3241 TE node."; 3242 uses te-node-tunnel-termination-point-config-attributes; 3243 container local-link-connectivities { 3244 description 3245 "Containing local link connectivity list for 3246 a tunnel termination point on a TE node."; 3247 leaf number-of-entries { 3248 type uint16; 3249 description 3250 "The number of local link connectivity list entries. 3251 If this number is speficied in the configuration request, 3252 the number is requested number of entries, which may not 3253 all be listed in the list; 3254 if this number is reported in the state data, 3255 the number is the current number of operational entries."; 3256 } 3257 uses connectivity-label-restriction-list; 3258 uses connectivity-matrix-entry-path-attributes; 3259 } // local-link-connectivities 3260 } // te-node-tunnel-termination-point-config 3262 grouping te-node-tunnel-termination-point-config-attributes { 3263 description 3264 "Configuration attributes of a tunnel termination point on a 3265 TE node."; 3266 leaf admin-status { 3267 type te-types:te-admin-status; 3268 description 3269 "The administrative state of the tunnel termination point."; 3270 } 3271 leaf name { 3272 type string; 3273 description 3274 "A descriptive name for the tunnel termination point."; 3275 } 3276 leaf switching-capability { 3277 type identityref { 3278 base te-types:switching-capabilities; 3279 } 3280 description 3281 "Switching Capability for this interface."; 3282 } 3283 leaf encoding { 3284 type identityref { 3285 base te-types:lsp-encoding-types; 3286 } 3287 description 3288 "Encoding supported by this interface."; 3289 } 3290 leaf-list inter-layer-lock-id { 3291 type uint32; 3292 description 3293 "Inter layer lock ID, used for path computation in a TE 3294 topology covering multiple layers or multiple regions."; 3295 reference 3296 "RFC5212: Requirements for GMPLS-Based Multi-Region and 3297 Multi-Layer Networks (MRN/MLN). 3298 RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 3299 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 3300 } 3301 leaf protection-type { 3302 type identityref { 3303 base te-types:lsp-protection-type; 3304 } 3305 description 3306 "The protection type that this tunnel termination point 3307 is capable of."; 3308 } 3310 container client-layer-adaptation { 3311 description 3312 "Containing capability information to support a client layer 3313 adaption in multi-layer topology."; 3314 list switching-capability { 3315 key "switching-capability encoding"; 3316 description 3317 "List of supported switching capabilities"; 3318 reference 3319 "RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 3320 for Multi-Layer and Multi-Region Networks (MLN/MRN). 3321 RFC4202: Routing Extensions in Support of 3322 Generalized Multi-Protocol Label Switching (GMPLS)."; 3323 leaf switching-capability { 3324 type identityref { 3325 base te-types:switching-capabilities; 3326 } 3327 description 3328 "Switching Capability for the client layer adaption."; 3329 } 3330 leaf encoding { 3331 type identityref { 3332 base te-types:lsp-encoding-types; 3333 } 3334 description 3335 "Encoding supported by the client layer adaption."; 3336 } 3337 uses te-types:te-bandwidth; 3338 } 3339 } 3340 } // te-node-tunnel-termination-point-config-attributes 3342 grouping te-node-tunnel-termination-point-llc-list { 3343 description 3344 "Local link connectivity list of a tunnel termination 3345 point on a TE node."; 3346 list local-link-connectivity { 3347 key "link-tp-ref"; 3348 description 3349 "The termination capabilities between 3350 tunnel-termination-point and link termination-point. 3351 The capability information can be used to compute 3352 the tunnel path. 3353 The Interface Adjustment Capability Descriptors (IACD) 3354 [RFC6001] on each link-tp can be derived from this 3355 local-link-connectivity list."; 3357 reference 3358 "RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 3359 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 3361 leaf link-tp-ref { 3362 type leafref { 3363 path "../../../../../nt:termination-point/nt:tp-id"; 3364 } 3365 description 3366 "Link termination point."; 3367 } 3368 uses connectivity-label-restriction-list; 3369 uses connectivity-matrix-entry-path-attributes; 3370 } // local-link-connectivity 3371 } // te-node-tunnel-termination-point-config 3373 grouping te-path-element { 3374 description 3375 "A group of attributes defining an element in a TE path 3376 such as TE node, TE link, TE atomic resource or label."; 3377 uses te-types:explicit-route-hop; 3378 } // te-path-element 3380 grouping te-termination-point-augment { 3381 description 3382 "Augmentation for TE termination point."; 3383 leaf te-tp-id { 3384 type te-types:te-tp-id; 3385 description 3386 "An identifier to uniquely identify a TE termination 3387 point."; 3388 } 3389 container te { 3390 must "../te-tp-id"; 3391 presence "TE support."; 3392 description 3393 "Indicates TE support."; 3395 uses te-termination-point-config; 3396 leaf oper-status { 3397 type te-types:te-oper-status; 3398 config false; 3399 description 3400 "The current operational state of the link termination 3401 point."; 3402 } 3403 uses geolocation-container; 3404 } // te 3405 } // te-termination-point-augment 3407 grouping te-termination-point-config { 3408 description 3409 "TE termination point configuration grouping."; 3410 leaf admin-status { 3411 type te-types:te-admin-status; 3412 description 3413 "The administrative state of the link termination point."; 3414 } 3415 leaf name { 3416 type string; 3417 description 3418 "A descriptive name for the link termination point."; 3419 } 3420 uses interface-switching-capability-list; 3421 leaf inter-domain-plug-id { 3422 type binary; 3423 description 3424 "A topology-wide unique number that identifies on the 3425 network a connectivity supporting a given inter-domain 3426 TE link. This is more flexible alternative to specifying 3427 remote-te-node-id and remote-te-link-tp-id on a TE link, 3428 when the provider does not know remote-te-node-id and 3429 remote-te-link-tp-id or need to give client the 3430 flexibility to mix-n-match multiple topologies."; 3431 } 3432 leaf-list inter-layer-lock-id { 3433 type uint32; 3434 description 3435 "Inter layer lock ID, used for path computation in a TE 3436 topology covering multiple layers or multiple regions."; 3437 reference 3438 "RFC5212: Requirements for GMPLS-Based Multi-Region and 3439 Multi-Layer Networks (MRN/MLN). 3440 RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 3441 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 3442 } 3443 } // te-termination-point-config 3445 grouping te-topologies-augment { 3446 description 3447 "Augmentation for TE topologies."; 3448 container te { 3449 presence "TE support."; 3450 description 3451 "Indicates TE support."; 3453 container templates { 3454 description 3455 "Configuration parameters for templates used for TE 3456 topology."; 3458 list node-template { 3459 if-feature template; 3460 key "name"; 3461 leaf name { 3462 type te-types:te-template-name; 3463 description 3464 "The name to identify a TE node template."; 3465 } 3466 description 3467 "The list of TE node templates used to define sharable 3468 and reusable TE node attributes."; 3469 uses template-attributes; 3470 uses te-node-config-attributes-template; 3471 } // node-template 3473 list link-template { 3474 if-feature template; 3475 key "name"; 3476 leaf name { 3477 type te-types:te-template-name; 3478 description 3479 "The name to identify a TE link template."; 3481 } 3482 description 3483 "The list of TE link templates used to define sharable 3484 and reusable TE link attributes."; 3485 uses template-attributes; 3486 uses te-link-config-attributes; 3487 } // link-template 3488 } // templates 3489 } // te 3490 } // te-topologies-augment 3492 grouping te-topology-augment { 3493 description 3494 "Augmentation for TE topology."; 3495 leaf provider-id { 3496 type te-types:te-global-id; 3497 description 3498 "An identifier to uniquely identify a provider."; 3499 } 3500 leaf client-id { 3501 type te-types:te-global-id; 3502 description 3503 "An identifier to uniquely identify a client."; 3504 } 3505 leaf te-topology-id { 3506 type te-types:te-topology-id; 3507 description 3508 "It is presumed that a datastore will contain many 3509 topologies. To distinguish between topologies it is 3510 vital to have UNIQUE topology identifiers."; 3511 } 3513 container te { 3514 must "../provider-id and ../client-id and ../te-topology-id"; 3515 presence "TE support."; 3516 description 3517 "Indicates TE support."; 3519 uses te-topology-config; 3520 uses geolocation-container; 3521 } // te 3523 } // te-topology-augment 3525 grouping te-topology-config { 3526 description 3527 "TE topology configuration grouping."; 3528 leaf name { 3529 type string; 3530 description 3531 "Name of the TE topology. This attribute is optional and can 3532 be specified by the operator to describe the TE topology, 3533 which can be useful when network-id is not descriptive 3534 and not modifiable because of being generated by the 3535 system."; 3536 } 3537 leaf preference { 3538 type uint8 { 3539 range "1..255"; 3540 } 3541 description 3542 "Specifies a preference for this topology. A lower number 3543 indicates a higher preference."; 3544 } 3545 leaf optimization-criterion { 3546 type identityref { 3547 base te-types:te-optimization-criterion; 3548 } 3549 description 3550 "Optimization criterion applied to this topology."; 3551 reference 3552 "RFC3272: Overview and Principles of Internet Traffic 3553 Engineering."; 3554 } 3555 list nsrlg { 3556 if-feature nsrlg; 3557 key "id"; 3558 description 3559 "List of NSRLGs (Not Sharing Risk Link Groups)."; 3560 reference 3561 "RFC4872: RSVP-TE Extensions in Support of End-to-End 3562 Generalized Multi-Protocol Label Switching (GMPLS) 3563 Recovery"; 3565 leaf id { 3566 type uint32; 3567 description 3568 "Identify the NSRLG entry."; 3569 } 3570 leaf disjointness { 3571 type te-types:te-path-disjointness; 3572 description 3573 "The type of resource disjointness."; 3574 } 3575 } // nsrlg 3576 } // te-topology-config 3578 grouping template-attributes { 3579 description 3580 "Common attributes for all templates."; 3581 leaf priority { 3582 type uint16; 3583 description 3584 "The preference value to resolve conflicts between different 3585 templates. When two or more templates specify values for 3586 one configuration attribute, the value from the template 3587 with the highest priority is used."; 3588 } 3589 leaf reference-change-policy { 3590 type enumeration { 3591 enum no-action { 3592 description 3593 "When an attribute changes in this template, the 3594 configuration node referring to this template does 3595 not take any action."; 3596 } 3597 enum not-allowed { 3598 description 3599 "When any configuration object has a reference to this 3600 template, changing this template is not allowed."; 3601 } 3602 enum cascade { 3603 description 3604 "When an attribute changes in this template, the 3605 configuration object referring to this template applies 3606 the new attribute value to the corresponding 3607 configuration."; 3608 } 3609 } 3610 description 3611 "This attribute specifies the action taken to a configuration 3612 node that has a reference to this template."; 3613 } 3614 } // template-attributes 3616 /* 3617 * Data nodes 3618 */ 3619 augment "/nw:networks/nw:network/nw:network-types" { 3620 description 3621 "Introduce new network type for TE topology."; 3622 container te-topology { 3623 presence "Indicates TE topology."; 3624 description 3625 "Its presence identifies the TE topology type."; 3626 } 3627 } 3629 augment "/nw:networks" { 3630 description 3631 "Augmentation parameters for TE topologies."; 3632 uses te-topologies-augment; 3633 } 3635 augment "/nw:networks/nw:network" { 3636 when "nw:network-types/tet:te-topology" { 3637 description 3638 "Augmentation parameters apply only for networks with 3639 TE topology type."; 3640 } 3641 description 3642 "Configuration parameters for TE topology."; 3643 uses te-topology-augment; 3644 } 3646 augment "/nw:networks/nw:network/nw:node" { 3647 when "../nw:network-types/tet:te-topology" { 3648 description 3649 "Augmentation parameters apply only for networks with 3650 TE topology type."; 3651 } 3652 description 3653 "Configuration parameters for TE at node level."; 3654 leaf te-node-id { 3655 type te-types:te-node-id; 3656 description 3657 "The identifier of a node in the TE topology. 3658 A node is specific to a topology to which it belongs."; 3659 } 3660 container te { 3661 must "../te-node-id" { 3662 description 3663 "te-node-id is mandatory."; 3664 } 3665 must "count(../nw:supporting-node)<=1" { 3666 description 3667 "For a node in a TE topology, there cannot be more 3668 than 1 supporting node. If multiple nodes are abstracted, 3669 the underlay-topology is used."; 3670 } 3671 presence "TE support."; 3672 description 3673 "Indicates TE support."; 3674 uses te-node-augment; 3675 } // te 3676 } 3678 augment "/nw:networks/nw:network/nt:link" { 3679 when "../nw:network-types/tet:te-topology" { 3680 description 3681 "Augmentation parameters apply only for networks with 3682 TE topology type."; 3683 } 3684 description 3685 "Configuration parameters for TE at link level."; 3686 container te { 3687 must "count(../nt:supporting-link)<=1" { 3688 description 3689 "For a link in a TE topology, there cannot be more 3690 than 1 supporting link. If one or more link paths are 3691 abstracted, the underlay is used."; 3692 } 3693 presence "TE support."; 3694 description 3695 "Indicates TE support."; 3696 uses te-link-augment; 3697 } // te 3698 } 3700 augment "/nw:networks/nw:network/nw:node/" 3701 + "nt:termination-point" { 3702 when "../../nw:network-types/tet:te-topology" { 3703 description 3704 "Augmentation parameters apply only for networks with 3705 TE topology type."; 3706 } 3707 description 3708 "Configuration parameters for TE at termination point level."; 3709 uses te-termination-point-augment; 3710 } 3712 augment 3713 "/nw:networks/nw:network/nt:link/te/bundle-stack-level/" 3714 + "bundle/bundled-links/bundled-link" { 3715 when "../../../../nw:network-types/tet:te-topology" { 3716 description 3717 "Augmentation parameters apply only for networks with 3718 TE topology type."; 3719 } 3720 description 3721 "Augment TE link bundled link."; 3722 leaf src-tp-ref { 3723 type leafref { 3724 path "../../../../../nw:node[nw:node-id = " 3725 + "current()/../../../../nt:source/" 3726 + "nt:source-node]/" 3727 + "nt:termination-point/nt:tp-id"; 3728 require-instance true; 3730 } 3731 description 3732 "Reference to another TE termination point on the 3733 same souruce node."; 3734 } 3735 leaf des-tp-ref { 3736 type leafref { 3737 path "../../../../../nw:node[nw:node-id = " 3738 + "current()/../../../../nt:destination/" 3739 + "nt:dest-node]/" 3740 + "nt:termination-point/nt:tp-id"; 3741 require-instance true; 3742 } 3743 description 3744 "Reference to another TE termination point on the 3745 same destination node."; 3746 } 3747 } 3749 augment 3750 "/nw:networks/nw:network/nw:node/te/" 3751 + "information-source-entry/connectivity-matrices/" 3752 + "connectivity-matrix" { 3753 when "../../../../../nw:network-types/tet:te-topology" { 3754 description 3755 "Augmentation parameters apply only for networks with 3756 TE topology type."; 3757 } 3758 description 3759 "Augment TE node connectivity-matrix."; 3760 uses te-node-connectivity-matrix-attributes; 3761 } 3763 augment 3764 "/nw:networks/nw:network/nw:node/te/te-node-attributes/" 3765 + "connectivity-matrices/connectivity-matrix" { 3766 when "../../../../../nw:network-types/tet:te-topology" { 3767 description 3768 "Augmentation parameters apply only for networks with 3769 TE topology type."; 3770 } 3771 description 3772 "Augment TE node connectivity-matrix."; 3773 uses te-node-connectivity-matrix-attributes; 3774 } 3776 augment 3777 "/nw:networks/nw:network/nw:node/te/" 3778 + "tunnel-termination-point/local-link-connectivities" { 3779 when "../../../../nw:network-types/tet:te-topology" { 3780 description 3781 "Augmentation parameters apply only for networks with 3782 TE topology type."; 3783 } 3784 description 3785 "Augment TE node tunnel termination point LLCs 3786 (Local Link Connectivities)."; 3787 uses te-node-tunnel-termination-point-llc-list; 3788 } 3789 } 3790 3792 8. Security Considerations 3794 The transport protocol used for retrieving/manipulating the TE 3795 topology data MUST support authentication and SHOULD support 3796 encryption. The data-model by itself does not create any security 3797 implications. 3799 9. IANA Considerations 3801 This document registers the following URIs in the IETF XML registry 3802 [RFC3688]. Following the format in [RFC3688], the following 3803 registration is requested to be made. 3805 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology 3806 XML: N/A, the requested URI is an XML namespace. 3808 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-state 3809 XML: N/A, the requested URI is an XML namespace. 3811 This document registers a YANG module in the YANG Module Names 3812 registry [RFC7950]. 3814 name: ietf-te-topology 3815 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology 3816 prefix: tet 3818 name: ietf-te-topology-state 3819 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-state 3820 prefix: tet-s 3822 10. References 3824 10.1. Normative References 3826 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 3827 Requirement Levels", BCP 14, RFC 2119, March 1997. 3829 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 3830 January 2004. 3832 [RFC3945] Mannie, E., "Generalized Multi-Protocol Label Switching 3833 (GMPLS) Architecture", October 2004. 3835 [RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991, 3836 July 2013. 3838 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling 3839 Language", RFC 7950, August 2016. 3841 [YANG-NET-TOPO] Clemm, A., "A Data Model for Network Topologies", 3842 draft-ietf-i2rs-yang-network-topo (Work in Progress), 3843 October 2017. 3845 [YANG-PUSH] Clemm, A., "Subscribing to YANG datastore push updates", 3846 draft-ietf-netconf-yang-push (work in progress), October 3847 2017. 3849 [NETCONF-NOTIF] Voit, E., "Custom Subscription to Event 3850 Notifications", draft-ietf-netconf-subscribed- 3851 notifications-05 (work in progress), October 2017. 3853 [YANG-NMDA] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 3854 and R. Wilton, "Network Management Datastore 3855 Architecture", draft-ietf-netmod-revised-datastores (Work 3856 in Progress), August 2017. 3858 10.2. Informative References 3860 [G.709] ITU-T, "Interfaces for the optical transport network", 3861 ITU-T Recommendation G.709, June 2016. 3863 [G.805] ITU-T, "Generic functional architecture of transport 3864 networks", ITU-T Recommendation G.805, March 2000. 3866 [G.872] ITU-T, "Architecture of optical transport networks", ITU- 3867 T Recommendation G.872, January 2017. 3869 [G.8080] ITU-T, "Architecture for the automatically switched 3870 optical network", ITU-T Recommendation G.8080, February 3871 2012. 3873 [RFC2702] Awduche, D., "Requirements for Traffic Engineering Over 3874 MPLS", RFC 2702, September 1999. 3876 [YANG-TREE] Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- 3877 ietf-netmod-yang-tree-diagrams (work in progress), June 3878 2017. 3880 [YANG-SCHEDULE] Liu, X., "A YANG Data Model for Configuration 3881 Scheduling", draft-liu-netmod-yang-schedule (Work in 3882 Progress), September 2017. 3884 [YANG-TOPO-WSON] Lee, Y., "A Yang Data Model for WSON Optical 3885 Networks", draft-ietf-ccamp-wson-yang, (work in 3886 progress), October 2017. 3888 [YANG-TOPO-OTN] Zheng, H., "A YANG Data Model for Optical Transport 3889 Network Topology", draft-ietf-ccamp-otn-topo-yang-01, 3890 work in progress), September 2017. 3892 [YANG-TOPO-L3TE] Liu, X., "YANG Data Model for Layer 3 TE 3893 Topologies", draft-liu-teas-yang-l3-te-topo, (work in 3894 progress), July 2017. 3896 11. Acknowledgments 3898 The authors would like to thank Lou Berger, Sue Hares, Mazen Khaddam, 3899 Cyril Margaria and Zafar Ali for participating in design discussions 3900 and providing valuable insights. 3902 Appendix A. Complete Model Tree Structure 3904 module: ietf-te-topology 3905 augment /nw:networks/nw:network/nw:network-types: 3906 +--rw te-topology! 3907 augment /nw:networks: 3908 +--rw te! 3909 +--rw templates 3910 +--rw node-template* [name] {template}? 3911 | +--rw name te-types:te-template- 3912 name 3913 | +--rw priority? uint16 3914 | +--rw reference-change-policy? enumeration 3915 | +--rw te-node-attributes 3916 | +--rw admin-status? te-types:te-admin-status 3917 | +--rw domain-id? uint32 3918 | +--rw is-abstract? empty 3919 | +--rw name? string 3920 | +--rw signaling-address* inet:ip-address 3921 | +--rw underlay-topology {te-topology-hierarchy}? 3922 | +--rw network-ref? -> 3923 /nw:networks/network/network-id 3924 +--rw link-template* [name] {template}? 3925 +--rw name te-types:te-template- 3926 name 3927 +--rw priority? uint16 3928 +--rw reference-change-policy? enumeration 3929 +--rw te-link-attributes 3930 +--rw access-type? te-types:te- 3931 link-access-type 3932 +--rw external-domain 3933 | +--rw network-ref? -> 3934 /nw:networks/network/network-id 3935 | +--rw remote-te-node-id? te-types:te-node-id 3936 | +--rw remote-te-link-tp-id? te-types:te-tp-id 3937 +--rw is-abstract? empty 3938 +--rw name? string 3939 +--rw underlay {te-topology-hierarchy}? 3940 | +--rw enabled? boolean 3941 | +--rw primary-path 3942 | | +--rw network-ref? -> 3943 /nw:networks/network/network-id 3944 | | +--rw path-element* [path-element-id] 3945 | | +--rw path-element-id uint32 3946 | | +--rw index? uint32 3947 | | +--rw (type)? 3948 | | +--:(numbered) 3949 | | | +--rw numbered-hop 3950 | | | +--rw address? te-types:te-tp- 3951 id 3952 | | | +--rw hop-type? te-hop-type 3953 | | | +--rw direction? te-link- 3954 direction 3955 | | +--:(as-number) 3956 | | | +--rw as-number-hop 3957 | | | +--rw as-number? binary 3958 | | | +--rw hop-type? te-hop-type 3959 | | +--:(unnumbered) 3960 | | | +--rw unnumbered-hop 3961 | | | +--rw node-id? te-types:te- 3962 node-id 3963 | | | +--rw link-tp-id? te-types:te-tp- 3964 id 3965 | | | +--rw hop-type? te-hop-type 3966 | | | +--rw direction? te-link- 3967 direction 3968 | | +--:(label) 3969 | | +--rw label-hop 3970 | | +--rw te-label 3971 | | +--rw (technology)? 3972 | | | +--:(generic) 3973 | | | +--rw generic? rt- 3974 types:generalized-label 3975 | | +--rw direction? te-label- 3976 direction 3977 | +--rw backup-path* [index] 3978 | | +--rw index uint32 3979 | | +--rw network-ref? -> 3980 /nw:networks/network/network-id 3981 | | +--rw path-element* [path-element-id] 3982 | | +--rw path-element-id uint32 3983 | | +--rw index? uint32 3984 | | +--rw (type)? 3985 | | +--:(numbered) 3986 | | | +--rw numbered-hop 3987 | | | +--rw address? te-types:te-tp- 3988 id 3989 | | | +--rw hop-type? te-hop-type 3990 | | | +--rw direction? te-link- 3991 direction 3992 | | +--:(as-number) 3993 | | | +--rw as-number-hop 3994 | | | +--rw as-number? binary 3995 | | | +--rw hop-type? te-hop-type 3996 | | +--:(unnumbered) 3997 | | | +--rw unnumbered-hop 3998 | | | +--rw node-id? te-types:te- 3999 node-id 4000 | | | +--rw link-tp-id? te-types:te-tp- 4001 id 4002 | | | +--rw hop-type? te-hop-type 4003 | | | +--rw direction? te-link- 4004 direction 4005 | | +--:(label) 4006 | | +--rw label-hop 4007 | | +--rw te-label 4008 | | +--rw (technology)? 4009 | | | +--:(generic) 4010 | | | +--rw generic? rt- 4011 types:generalized-label 4012 | | +--rw direction? te-label- 4013 direction 4014 | +--rw protection-type? identityref 4015 | +--rw tunnel-termination-points 4016 | | +--rw source? binary 4017 | | +--rw destination? binary 4018 | +--rw tunnels 4019 | +--rw sharing? boolean 4020 | +--rw tunnel* [tunnel-name] 4021 | +--rw tunnel-name string 4022 | +--rw sharing? boolean 4023 +--rw admin-status? te-types:te- 4024 admin-status 4025 +--rw link-index? uint64 4026 +--rw administrative-group? te- 4027 types:admin-groups 4028 +--rw interface-switching-capability* [switching- 4029 capability encoding] 4030 | +--rw switching-capability identityref 4031 | +--rw encoding identityref 4032 | +--rw max-lsp-bandwidth* [priority] 4033 | +--rw priority uint8 4034 | +--rw te-bandwidth 4035 | +--rw (technology)? 4036 | +--:(generic) 4037 | +--rw generic? te-bandwidth 4038 +--rw label-restriction* [index] 4039 | +--rw index uint32 4040 | +--rw inclusive-exclusive? enumeration 4041 | +--rw label-start 4042 | | +--rw te-label 4043 | | +--rw (technology)? 4044 | | | +--:(generic) 4045 | | | +--rw generic? rt- 4046 types:generalized-label 4047 | | +--rw direction? te-label-direction 4048 | +--rw label-end 4049 | | +--rw te-label 4050 | | +--rw (technology)? 4051 | | | +--:(generic) 4052 | | | +--rw generic? rt- 4053 types:generalized-label 4054 | | +--rw direction? te-label-direction 4055 | +--rw range-bitmap? binary 4056 +--rw link-protection-type? enumeration 4057 +--rw max-link-bandwidth 4058 | +--rw te-bandwidth 4059 | +--rw (technology)? 4060 | +--:(generic) 4061 | +--rw generic? te-bandwidth 4062 +--rw max-resv-link-bandwidth 4063 | +--rw te-bandwidth 4064 | +--rw (technology)? 4065 | +--:(generic) 4066 | +--rw generic? te-bandwidth 4067 +--rw unreserved-bandwidth* [priority] 4068 | +--rw priority uint8 4069 | +--rw te-bandwidth 4070 | +--rw (technology)? 4071 | +--:(generic) 4072 | +--rw generic? te-bandwidth 4073 +--rw te-default-metric? uint32 4074 +--rw te-delay-metric? uint32 4075 +--rw te-igp-metric? uint32 4076 +--rw te-srlgs 4077 | +--rw value* te-types:srlg 4078 +--rw te-nsrlgs {nsrlg}? 4079 +--rw id* uint32 4080 augment /nw:networks/nw:network: 4081 +--rw provider-id? te-types:te-global-id 4082 +--rw client-id? te-types:te-global-id 4083 +--rw te-topology-id? te-types:te-topology-id 4084 +--rw te! 4085 +--rw name? string 4086 +--rw preference? uint8 4087 +--rw optimization-criterion? identityref 4088 +--rw nsrlg* [id] {nsrlg}? 4089 | +--rw id uint32 4090 | +--rw disjointness? te-types:te-path-disjointness 4091 +--ro geolocation 4092 +--ro altitude? int64 4093 +--ro latitude? geographic-coordinate-degree 4094 +--ro longitude? geographic-coordinate-degree 4095 augment /nw:networks/nw:network/nw:node: 4096 +--rw te-node-id? te-types:te-node-id 4097 +--rw te! 4098 +--rw te-node-template* -> 4099 ../../../../te/templates/node-template/name {template}? 4100 +--rw te-node-attributes 4101 | +--rw admin-status? te-types:te-admin-status 4102 | +--rw connectivity-matrices 4103 | | +--rw number-of-entries? uint16 4104 | | +--rw label-restriction* [index] 4105 | | | +--rw index uint32 4106 | | | +--rw inclusive-exclusive? enumeration 4107 | | | +--rw label-start 4108 | | | | +--rw te-label 4109 | | | | +--rw (technology)? 4110 | | | | | +--:(generic) 4111 | | | | | +--rw generic? rt-types:generalized- 4112 label 4113 | | | | +--rw direction? te-label-direction 4114 | | | +--rw label-end 4115 | | | | +--rw te-label 4116 | | | | +--rw (technology)? 4117 | | | | | +--:(generic) 4118 | | | | | +--rw generic? rt-types:generalized- 4119 label 4120 | | | | +--rw direction? te-label-direction 4121 | | | +--rw range-bitmap? binary 4122 | | +--rw is-allowed? boolean 4123 | | +--rw underlay {te-topology-hierarchy}? 4124 | | | +--rw enabled? boolean 4125 | | | +--rw primary-path 4126 | | | | +--rw network-ref? -> 4127 /nw:networks/network/network-id 4128 | | | | +--rw path-element* [path-element-id] 4129 | | | | +--rw path-element-id uint32 4130 | | | | +--rw index? uint32 4131 | | | | +--rw (type)? 4132 | | | | +--:(numbered) 4133 | | | | | +--rw numbered-hop 4134 | | | | | +--rw address? te-types:te-tp-id 4135 | | | | | +--rw hop-type? te-hop-type 4136 | | | | | +--rw direction? te-link-direction 4137 | | | | +--:(as-number) 4138 | | | | | +--rw as-number-hop 4139 | | | | | +--rw as-number? binary 4140 | | | | | +--rw hop-type? te-hop-type 4141 | | | | +--:(unnumbered) 4142 | | | | | +--rw unnumbered-hop 4143 | | | | | +--rw node-id? te-types:te-node- 4144 id 4145 | | | | | +--rw link-tp-id? te-types:te-tp-id 4146 | | | | | +--rw hop-type? te-hop-type 4147 | | | | | +--rw direction? te-link-direction 4148 | | | | +--:(label) 4149 | | | | +--rw label-hop 4150 | | | | +--rw te-label 4151 | | | | +--rw (technology)? 4152 | | | | | +--:(generic) 4153 | | | | | +--rw generic? rt- 4154 types:generalized-label 4155 | | | | +--rw direction? te-label- 4156 direction 4157 | | | +--rw backup-path* [index] 4158 | | | | +--rw index uint32 4159 | | | | +--rw network-ref? -> 4160 /nw:networks/network/network-id 4161 | | | | +--rw path-element* [path-element-id] 4162 | | | | +--rw path-element-id uint32 4163 | | | | +--rw index? uint32 4164 | | | | +--rw (type)? 4165 | | | | +--:(numbered) 4166 | | | | | +--rw numbered-hop 4167 | | | | | +--rw address? te-types:te-tp-id 4168 | | | | | +--rw hop-type? te-hop-type 4169 | | | | | +--rw direction? te-link-direction 4170 | | | | +--:(as-number) 4171 | | | | | +--rw as-number-hop 4172 | | | | | +--rw as-number? binary 4173 | | | | | +--rw hop-type? te-hop-type 4174 | | | | +--:(unnumbered) 4175 | | | | | +--rw unnumbered-hop 4176 | | | | | +--rw node-id? te-types:te-node- 4177 id 4178 | | | | | +--rw link-tp-id? te-types:te-tp-id 4179 | | | | | +--rw hop-type? te-hop-type 4180 | | | | | +--rw direction? te-link-direction 4181 | | | | +--:(label) 4182 | | | | +--rw label-hop 4183 | | | | +--rw te-label 4184 | | | | +--rw (technology)? 4185 | | | | | +--:(generic) 4186 | | | | | +--rw generic? rt- 4187 types:generalized-label 4188 | | | | +--rw direction? te-label- 4189 direction 4190 | | | +--rw protection-type? identityref 4191 | | | +--rw tunnel-termination-points 4192 | | | | +--rw source? binary 4193 | | | | +--rw destination? binary 4194 | | | +--rw tunnels 4195 | | | +--rw sharing? boolean 4196 | | | +--rw tunnel* [tunnel-name] 4197 | | | +--rw tunnel-name string 4198 | | | +--rw sharing? boolean 4199 | | +--rw path-constraints 4200 | | | +--rw path-metric-bound* [metric-type] 4201 | | | | +--rw metric-type identityref 4202 | | | | +--rw upper-bound? uint64 4203 | | | +--rw topology-id? te-types:te-topology-id 4204 | | | +--rw te-bandwidth 4205 | | | | +--rw (technology)? 4206 | | | | +--:(generic) 4207 | | | | +--rw generic? te-bandwidth 4208 | | | +--rw disjointness? te-types:te-path- 4209 disjointness 4210 | | | +--rw setup-priority? uint8 4211 | | | +--rw hold-priority? uint8 4212 | | | +--rw signaling-type? identityref 4213 | | | +--rw path-affinities 4214 | | | | +--rw constraint* [usage] 4215 | | | | +--rw usage identityref 4216 | | | | +--rw value? admin-groups 4217 | | | +--rw path-srlgs 4218 | | | +--rw usage? identityref 4219 | | | +--rw values* srlg 4220 | | +--rw optimizations 4221 | | | +--rw (algorithm)? 4222 | | | +--:(metric) {path-optimization-metric}? 4223 | | | | +--rw optimization-metric* [metric-type] 4224 | | | | | +--rw metric-type identityref 4225 | | | | | +--rw weight? uint8 4226 | | | | +--rw tiebreakers 4227 | | | | +--rw tiebreaker* [tiebreaker-type] 4228 | | | | +--rw tiebreaker-type identityref 4229 | | | +--:(objective-function) {path-optimization- 4230 objective-function}? 4231 | | | +--rw objective-function 4232 | | | +--rw objective-function-type? identityref 4233 | | +--ro path-properties 4234 | | | +--ro path-metric* [metric-type] 4235 | | | | +--ro metric-type identityref 4236 | | | | +--ro accumulative-value? uint64 4237 | | | +--ro path-affinities 4238 | | | | +--ro constraint* [usage] 4239 | | | | +--ro usage identityref 4240 | | | | +--ro value? admin-groups 4241 | | | +--ro path-srlgs 4242 | | | | +--ro usage? identityref 4243 | | | | +--ro values* srlg 4244 | | | +--ro path-route-objects 4245 | | | +--ro path-route-object* [index] 4246 | | | +--ro index uint32 4247 | | | +--ro (type)? 4248 | | | +--:(numbered) 4249 | | | | +--ro numbered-hop 4250 | | | | +--ro address? te-types:te-tp-id 4251 | | | | +--ro hop-type? te-hop-type 4252 | | | | +--ro direction? te-link-direction 4253 | | | +--:(as-number) 4254 | | | | +--ro as-number-hop 4255 | | | | +--ro as-number? binary 4256 | | | | +--ro hop-type? te-hop-type 4257 | | | +--:(unnumbered) 4258 | | | | +--ro unnumbered-hop 4259 | | | | +--ro node-id? te-types:te-node- 4260 id 4261 | | | | +--ro link-tp-id? te-types:te-tp-id 4262 | | | | +--ro hop-type? te-hop-type 4263 | | | | +--ro direction? te-link-direction 4264 | | | +--:(label) 4265 | | | +--ro label-hop 4266 | | | +--ro te-label 4267 | | | +--ro (technology)? 4268 | | | | +--:(generic) 4269 | | | | +--ro generic? rt- 4270 types:generalized-label 4271 | | | +--ro direction? te-label- 4272 direction 4273 | | +--rw connectivity-matrix* [id] 4274 | | +--rw id uint32 4275 | | +--rw from 4276 | | | +--rw tp-ref? -> 4277 ../../../../../../nt:termination-point/tp-id 4278 | | | +--rw label-restriction* [index] 4279 | | | +--rw index uint32 4280 | | | +--rw inclusive-exclusive? enumeration 4281 | | | +--rw label-start 4282 | | | | +--rw te-label 4283 | | | | +--rw (technology)? 4284 | | | | | +--:(generic) 4285 | | | | | +--rw generic? rt- 4286 types:generalized-label 4287 | | | | +--rw direction? te-label-direction 4288 | | | +--rw label-end 4289 | | | | +--rw te-label 4290 | | | | +--rw (technology)? 4291 | | | | | +--:(generic) 4292 | | | | | +--rw generic? rt- 4293 types:generalized-label 4294 | | | | +--rw direction? te-label-direction 4295 | | | +--rw range-bitmap? binary 4296 | | +--rw to 4297 | | | +--rw tp-ref? -> 4298 ../../../../../../nt:termination-point/tp-id 4299 | | | +--rw label-restriction* [index] 4300 | | | +--rw index uint32 4301 | | | +--rw inclusive-exclusive? enumeration 4302 | | | +--rw label-start 4303 | | | | +--rw te-label 4304 | | | | +--rw (technology)? 4305 | | | | | +--:(generic) 4306 | | | | | +--rw generic? rt- 4307 types:generalized-label 4308 | | | | +--rw direction? te-label-direction 4309 | | | +--rw label-end 4310 | | | | +--rw te-label 4311 | | | | +--rw (technology)? 4312 | | | | | +--:(generic) 4313 | | | | | +--rw generic? rt- 4314 types:generalized-label 4315 | | | | +--rw direction? te-label-direction 4316 | | | +--rw range-bitmap? binary 4317 | | +--rw is-allowed? boolean 4318 | | +--rw underlay {te-topology-hierarchy}? 4319 | | | +--rw enabled? boolean 4320 | | | +--rw primary-path 4321 | | | | +--rw network-ref? -> 4322 /nw:networks/network/network-id 4323 | | | | +--rw path-element* [path-element-id] 4324 | | | | +--rw path-element-id uint32 4325 | | | | +--rw index? uint32 4326 | | | | +--rw (type)? 4327 | | | | +--:(numbered) 4328 | | | | | +--rw numbered-hop 4329 | | | | | +--rw address? te-types:te-tp- 4330 id 4331 | | | | | +--rw hop-type? te-hop-type 4332 | | | | | +--rw direction? te-link- 4333 direction 4334 | | | | +--:(as-number) 4335 | | | | | +--rw as-number-hop 4336 | | | | | +--rw as-number? binary 4337 | | | | | +--rw hop-type? te-hop-type 4338 | | | | +--:(unnumbered) 4339 | | | | | +--rw unnumbered-hop 4340 | | | | | +--rw node-id? te-types:te- 4341 node-id 4342 | | | | | +--rw link-tp-id? te-types:te-tp- 4343 id 4344 | | | | | +--rw hop-type? te-hop-type 4345 | | | | | +--rw direction? te-link- 4346 direction 4347 | | | | +--:(label) 4348 | | | | +--rw label-hop 4349 | | | | +--rw te-label 4350 | | | | +--rw (technology)? 4351 | | | | | +--:(generic) 4352 | | | | | +--rw generic? rt- 4353 types:generalized-label 4354 | | | | +--rw direction? te-label- 4355 direction 4356 | | | +--rw backup-path* [index] 4357 | | | | +--rw index uint32 4358 | | | | +--rw network-ref? -> 4359 /nw:networks/network/network-id 4360 | | | | +--rw path-element* [path-element-id] 4361 | | | | +--rw path-element-id uint32 4362 | | | | +--rw index? uint32 4363 | | | | +--rw (type)? 4364 | | | | +--:(numbered) 4365 | | | | | +--rw numbered-hop 4366 | | | | | +--rw address? te-types:te-tp- 4367 id 4368 | | | | | +--rw hop-type? te-hop-type 4369 | | | | | +--rw direction? te-link- 4370 direction 4371 | | | | +--:(as-number) 4372 | | | | | +--rw as-number-hop 4373 | | | | | +--rw as-number? binary 4374 | | | | | +--rw hop-type? te-hop-type 4375 | | | | +--:(unnumbered) 4376 | | | | | +--rw unnumbered-hop 4377 | | | | | +--rw node-id? te-types:te- 4378 node-id 4379 | | | | | +--rw link-tp-id? te-types:te-tp- 4380 id 4381 | | | | | +--rw hop-type? te-hop-type 4382 | | | | | +--rw direction? te-link- 4383 direction 4384 | | | | +--:(label) 4385 | | | | +--rw label-hop 4386 | | | | +--rw te-label 4387 | | | | +--rw (technology)? 4388 | | | | | +--:(generic) 4389 | | | | | +--rw generic? rt- 4390 types:generalized-label 4391 | | | | +--rw direction? te-label- 4392 direction 4393 | | | +--rw protection-type? identityref 4394 | | | +--rw tunnel-termination-points 4395 | | | | +--rw source? binary 4396 | | | | +--rw destination? binary 4397 | | | +--rw tunnels 4398 | | | +--rw sharing? boolean 4399 | | | +--rw tunnel* [tunnel-name] 4400 | | | +--rw tunnel-name string 4401 | | | +--rw sharing? boolean 4402 | | +--rw path-constraints 4403 | | | +--rw path-metric-bound* [metric-type] 4404 | | | | +--rw metric-type identityref 4405 | | | | +--rw upper-bound? uint64 4406 | | | +--rw topology-id? te-types:te-topology-id 4407 | | | +--rw te-bandwidth 4408 | | | | +--rw (technology)? 4409 | | | | +--:(generic) 4410 | | | | +--rw generic? te-bandwidth 4411 | | | +--rw disjointness? te-types:te-path- 4412 disjointness 4413 | | | +--rw setup-priority? uint8 4414 | | | +--rw hold-priority? uint8 4415 | | | +--rw signaling-type? identityref 4416 | | | +--rw path-affinities 4417 | | | | +--rw constraint* [usage] 4418 | | | | +--rw usage identityref 4419 | | | | +--rw value? admin-groups 4420 | | | +--rw path-srlgs 4421 | | | +--rw usage? identityref 4422 | | | +--rw values* srlg 4423 | | +--rw optimizations 4424 | | | +--rw (algorithm)? 4425 | | | +--:(metric) {path-optimization-metric}? 4426 | | | | +--rw optimization-metric* [metric-type] 4427 | | | | | +--rw metric-type identityref 4428 | | | | | +--rw weight? uint8 4429 | | | | +--rw tiebreakers 4430 | | | | +--rw tiebreaker* [tiebreaker-type] 4431 | | | | +--rw tiebreaker-type identityref 4432 | | | +--:(objective-function) {path-optimization- 4433 objective-function}? 4434 | | | +--rw objective-function 4435 | | | +--rw objective-function-type? 4436 identityref 4437 | | +--ro path-properties 4438 | | +--ro path-metric* [metric-type] 4439 | | | +--ro metric-type identityref 4440 | | | +--ro accumulative-value? uint64 4441 | | +--ro path-affinities 4442 | | | +--ro constraint* [usage] 4443 | | | +--ro usage identityref 4444 | | | +--ro value? admin-groups 4445 | | +--ro path-srlgs 4446 | | | +--ro usage? identityref 4447 | | | +--ro values* srlg 4448 | | +--ro path-route-objects 4449 | | +--ro path-route-object* [index] 4450 | | +--ro index uint32 4451 | | +--ro (type)? 4452 | | +--:(numbered) 4453 | | | +--ro numbered-hop 4454 | | | +--ro address? te-types:te-tp- 4455 id 4456 | | | +--ro hop-type? te-hop-type 4457 | | | +--ro direction? te-link- 4458 direction 4459 | | +--:(as-number) 4460 | | | +--ro as-number-hop 4461 | | | +--ro as-number? binary 4462 | | | +--ro hop-type? te-hop-type 4463 | | +--:(unnumbered) 4464 | | | +--ro unnumbered-hop 4465 | | | +--ro node-id? te-types:te- 4466 node-id 4467 | | | +--ro link-tp-id? te-types:te-tp- 4468 id 4469 | | | +--ro hop-type? te-hop-type 4470 | | | +--ro direction? te-link- 4471 direction 4472 | | +--:(label) 4473 | | +--ro label-hop 4474 | | +--ro te-label 4475 | | +--ro (technology)? 4476 | | | +--:(generic) 4477 | | | +--ro generic? rt- 4478 types:generalized-label 4479 | | +--ro direction? te-label- 4480 direction 4481 | +--rw domain-id? uint32 4482 | +--rw is-abstract? empty 4483 | +--rw name? string 4484 | +--rw signaling-address* inet:ip-address 4485 | +--rw underlay-topology {te-topology-hierarchy}? 4486 | +--rw network-ref? -> /nw:networks/network/network-id 4487 +--ro oper-status? te-types:te-oper-status 4488 +--ro geolocation 4489 | +--ro altitude? int64 4490 | +--ro latitude? geographic-coordinate-degree 4491 | +--ro longitude? geographic-coordinate-degree 4492 +--ro is-multi-access-dr? empty 4493 +--ro information-source? te-info-source 4494 +--ro information-source-state 4495 | +--ro credibility-preference? uint16 4496 | +--ro logical-network-element? string 4497 | +--ro network-instance? string 4498 | +--ro topology 4499 | +--ro node-ref? -> /nw:networks/network[nw:network- 4500 id=current()/../network-ref]/node/node-id 4501 | +--ro network-ref? -> /nw:networks/network/network-id 4502 +--ro information-source-entry* [information-source] 4503 | +--ro information-source te-info-source 4504 | +--ro information-source-state 4505 | | +--ro credibility-preference? uint16 4506 | | +--ro logical-network-element? string 4507 | | +--ro network-instance? string 4508 | | +--ro topology 4509 | | +--ro node-ref? -> 4510 /nw:networks/network[nw:network-id=current()/../network- 4511 ref]/node/node-id 4512 | | +--ro network-ref? -> /nw:networks/network/network- 4513 id 4514 | +--ro connectivity-matrices 4515 | | +--ro number-of-entries? uint16 4516 | | +--ro label-restriction* [index] 4517 | | | +--ro index uint32 4518 | | | +--ro inclusive-exclusive? enumeration 4519 | | | +--ro label-start 4520 | | | | +--ro te-label 4521 | | | | +--ro (technology)? 4522 | | | | | +--:(generic) 4523 | | | | | +--ro generic? rt-types:generalized- 4524 label 4525 | | | | +--ro direction? te-label-direction 4526 | | | +--ro label-end 4527 | | | | +--ro te-label 4528 | | | | +--ro (technology)? 4529 | | | | | +--:(generic) 4530 | | | | | +--ro generic? rt-types:generalized- 4531 label 4532 | | | | +--ro direction? te-label-direction 4533 | | | +--ro range-bitmap? binary 4534 | | +--ro is-allowed? boolean 4535 | | +--ro underlay {te-topology-hierarchy}? 4536 | | | +--ro enabled? boolean 4537 | | | +--ro primary-path 4538 | | | | +--ro network-ref? -> 4539 /nw:networks/network/network-id 4540 | | | | +--ro path-element* [path-element-id] 4541 | | | | +--ro path-element-id uint32 4542 | | | | +--ro index? uint32 4543 | | | | +--ro (type)? 4544 | | | | +--:(numbered) 4545 | | | | | +--ro numbered-hop 4546 | | | | | +--ro address? te-types:te-tp-id 4547 | | | | | +--ro hop-type? te-hop-type 4548 | | | | | +--ro direction? te-link-direction 4549 | | | | +--:(as-number) 4550 | | | | | +--ro as-number-hop 4551 | | | | | +--ro as-number? binary 4552 | | | | | +--ro hop-type? te-hop-type 4553 | | | | +--:(unnumbered) 4554 | | | | | +--ro unnumbered-hop 4555 | | | | | +--ro node-id? te-types:te-node- 4556 id 4557 | | | | | +--ro link-tp-id? te-types:te-tp-id 4558 | | | | | +--ro hop-type? te-hop-type 4559 | | | | | +--ro direction? te-link-direction 4560 | | | | +--:(label) 4561 | | | | +--ro label-hop 4562 | | | | +--ro te-label 4563 | | | | +--ro (technology)? 4564 | | | | | +--:(generic) 4565 | | | | | +--ro generic? rt- 4566 types:generalized-label 4567 | | | | +--ro direction? te-label- 4568 direction 4569 | | | +--ro backup-path* [index] 4570 | | | | +--ro index uint32 4571 | | | | +--ro network-ref? -> 4572 /nw:networks/network/network-id 4573 | | | | +--ro path-element* [path-element-id] 4574 | | | | +--ro path-element-id uint32 4575 | | | | +--ro index? uint32 4576 | | | | +--ro (type)? 4577 | | | | +--:(numbered) 4578 | | | | | +--ro numbered-hop 4579 | | | | | +--ro address? te-types:te-tp-id 4580 | | | | | +--ro hop-type? te-hop-type 4581 | | | | | +--ro direction? te-link-direction 4582 | | | | +--:(as-number) 4583 | | | | | +--ro as-number-hop 4584 | | | | | +--ro as-number? binary 4585 | | | | | +--ro hop-type? te-hop-type 4586 | | | | +--:(unnumbered) 4587 | | | | | +--ro unnumbered-hop 4588 | | | | | +--ro node-id? te-types:te-node- 4589 id 4590 | | | | | +--ro link-tp-id? te-types:te-tp-id 4591 | | | | | +--ro hop-type? te-hop-type 4592 | | | | | +--ro direction? te-link-direction 4593 | | | | +--:(label) 4594 | | | | +--ro label-hop 4595 | | | | +--ro te-label 4596 | | | | +--ro (technology)? 4597 | | | | | +--:(generic) 4598 | | | | | +--ro generic? rt- 4599 types:generalized-label 4600 | | | | +--ro direction? te-label- 4601 direction 4602 | | | +--ro protection-type? identityref 4603 | | | +--ro tunnel-termination-points 4604 | | | | +--ro source? binary 4605 | | | | +--ro destination? binary 4606 | | | +--ro tunnels 4607 | | | +--ro sharing? boolean 4608 | | | +--ro tunnel* [tunnel-name] 4609 | | | +--ro tunnel-name string 4610 | | | +--ro sharing? boolean 4611 | | +--ro path-constraints 4612 | | | +--ro path-metric-bound* [metric-type] 4613 | | | | +--ro metric-type identityref 4614 | | | | +--ro upper-bound? uint64 4615 | | | +--ro topology-id? te-types:te-topology-id 4616 | | | +--ro te-bandwidth 4617 | | | | +--ro (technology)? 4618 | | | | +--:(generic) 4619 | | | | +--ro generic? te-bandwidth 4620 | | | +--ro disjointness? te-types:te-path- 4621 disjointness 4622 | | | +--ro setup-priority? uint8 4623 | | | +--ro hold-priority? uint8 4624 | | | +--ro signaling-type? identityref 4625 | | | +--ro path-affinities 4626 | | | | +--ro constraint* [usage] 4627 | | | | +--ro usage identityref 4628 | | | | +--ro value? admin-groups 4629 | | | +--ro path-srlgs 4630 | | | +--ro usage? identityref 4631 | | | +--ro values* srlg 4632 | | +--ro optimizations 4633 | | | +--ro (algorithm)? 4634 | | | +--:(metric) {path-optimization-metric}? 4635 | | | | +--ro optimization-metric* [metric-type] 4636 | | | | | +--ro metric-type identityref 4637 | | | | | +--ro weight? uint8 4638 | | | | +--ro tiebreakers 4639 | | | | +--ro tiebreaker* [tiebreaker-type] 4640 | | | | +--ro tiebreaker-type identityref 4641 | | | +--:(objective-function) {path-optimization- 4642 objective-function}? 4643 | | | +--ro objective-function 4644 | | | +--ro objective-function-type? identityref 4645 | | +--ro path-properties 4646 | | | +--ro path-metric* [metric-type] 4647 | | | | +--ro metric-type identityref 4648 | | | | +--ro accumulative-value? uint64 4649 | | | +--ro path-affinities 4650 | | | | +--ro constraint* [usage] 4651 | | | | +--ro usage identityref 4652 | | | | +--ro value? admin-groups 4653 | | | +--ro path-srlgs 4654 | | | | +--ro usage? identityref 4655 | | | | +--ro values* srlg 4656 | | | +--ro path-route-objects 4657 | | | +--ro path-route-object* [index] 4658 | | | +--ro index uint32 4659 | | | +--ro (type)? 4660 | | | +--:(numbered) 4661 | | | | +--ro numbered-hop 4662 | | | | +--ro address? te-types:te-tp-id 4663 | | | | +--ro hop-type? te-hop-type 4664 | | | | +--ro direction? te-link-direction 4665 | | | +--:(as-number) 4666 | | | | +--ro as-number-hop 4667 | | | | +--ro as-number? binary 4668 | | | | +--ro hop-type? te-hop-type 4669 | | | +--:(unnumbered) 4670 | | | | +--ro unnumbered-hop 4671 | | | | +--ro node-id? te-types:te-node- 4672 id 4673 | | | | +--ro link-tp-id? te-types:te-tp-id 4674 | | | | +--ro hop-type? te-hop-type 4675 | | | | +--ro direction? te-link-direction 4676 | | | +--:(label) 4677 | | | +--ro label-hop 4678 | | | +--ro te-label 4679 | | | +--ro (technology)? 4680 | | | | +--:(generic) 4681 | | | | +--ro generic? rt- 4682 types:generalized-label 4683 | | | +--ro direction? te-label- 4684 direction 4685 | | +--ro connectivity-matrix* [id] 4686 | | +--ro id uint32 4687 | | +--ro from 4688 | | | +--ro tp-ref? -> 4689 ../../../../../../nt:termination-point/tp-id 4690 | | | +--ro label-restriction* [index] 4691 | | | +--ro index uint32 4692 | | | +--ro inclusive-exclusive? enumeration 4693 | | | +--ro label-start 4694 | | | | +--ro te-label 4695 | | | | +--ro (technology)? 4696 | | | | | +--:(generic) 4697 | | | | | +--ro generic? rt- 4698 types:generalized-label 4699 | | | | +--ro direction? te-label-direction 4700 | | | +--ro label-end 4701 | | | | +--ro te-label 4702 | | | | +--ro (technology)? 4703 | | | | | +--:(generic) 4704 | | | | | +--ro generic? rt- 4705 types:generalized-label 4706 | | | | +--ro direction? te-label-direction 4707 | | | +--ro range-bitmap? binary 4708 | | +--ro to 4709 | | | +--ro tp-ref? -> 4710 ../../../../../../nt:termination-point/tp-id 4711 | | | +--ro label-restriction* [index] 4712 | | | +--ro index uint32 4713 | | | +--ro inclusive-exclusive? enumeration 4714 | | | +--ro label-start 4715 | | | | +--ro te-label 4716 | | | | +--ro (technology)? 4717 | | | | | +--:(generic) 4718 | | | | | +--ro generic? rt- 4719 types:generalized-label 4720 | | | | +--ro direction? te-label-direction 4721 | | | +--ro label-end 4722 | | | | +--ro te-label 4723 | | | | +--ro (technology)? 4724 | | | | | +--:(generic) 4725 | | | | | +--ro generic? rt- 4726 types:generalized-label 4727 | | | | +--ro direction? te-label-direction 4728 | | | +--ro range-bitmap? binary 4729 | | +--ro is-allowed? boolean 4730 | | +--ro underlay {te-topology-hierarchy}? 4731 | | | +--ro enabled? boolean 4732 | | | +--ro primary-path 4733 | | | | +--ro network-ref? -> 4734 /nw:networks/network/network-id 4735 | | | | +--ro path-element* [path-element-id] 4736 | | | | +--ro path-element-id uint32 4737 | | | | +--ro index? uint32 4738 | | | | +--ro (type)? 4739 | | | | +--:(numbered) 4740 | | | | | +--ro numbered-hop 4741 | | | | | +--ro address? te-types:te-tp- 4742 id 4743 | | | | | +--ro hop-type? te-hop-type 4744 | | | | | +--ro direction? te-link- 4745 direction 4746 | | | | +--:(as-number) 4747 | | | | | +--ro as-number-hop 4748 | | | | | +--ro as-number? binary 4749 | | | | | +--ro hop-type? te-hop-type 4750 | | | | +--:(unnumbered) 4751 | | | | | +--ro unnumbered-hop 4752 | | | | | +--ro node-id? te-types:te- 4753 node-id 4754 | | | | | +--ro link-tp-id? te-types:te-tp- 4755 id 4756 | | | | | +--ro hop-type? te-hop-type 4757 | | | | | +--ro direction? te-link- 4758 direction 4759 | | | | +--:(label) 4760 | | | | +--ro label-hop 4761 | | | | +--ro te-label 4762 | | | | +--ro (technology)? 4763 | | | | | +--:(generic) 4764 | | | | | +--ro generic? rt- 4765 types:generalized-label 4766 | | | | +--ro direction? te-label- 4767 direction 4768 | | | +--ro backup-path* [index] 4769 | | | | +--ro index uint32 4770 | | | | +--ro network-ref? -> 4771 /nw:networks/network/network-id 4772 | | | | +--ro path-element* [path-element-id] 4773 | | | | +--ro path-element-id uint32 4774 | | | | +--ro index? uint32 4775 | | | | +--ro (type)? 4776 | | | | +--:(numbered) 4777 | | | | | +--ro numbered-hop 4778 | | | | | +--ro address? te-types:te-tp- 4779 id 4780 | | | | | +--ro hop-type? te-hop-type 4781 | | | | | +--ro direction? te-link- 4782 direction 4783 | | | | +--:(as-number) 4784 | | | | | +--ro as-number-hop 4785 | | | | | +--ro as-number? binary 4786 | | | | | +--ro hop-type? te-hop-type 4787 | | | | +--:(unnumbered) 4788 | | | | | +--ro unnumbered-hop 4789 | | | | | +--ro node-id? te-types:te- 4790 node-id 4791 | | | | | +--ro link-tp-id? te-types:te-tp- 4792 id 4793 | | | | | +--ro hop-type? te-hop-type 4794 | | | | | +--ro direction? te-link- 4795 direction 4796 | | | | +--:(label) 4797 | | | | +--ro label-hop 4798 | | | | +--ro te-label 4799 | | | | +--ro (technology)? 4800 | | | | | +--:(generic) 4801 | | | | | +--ro generic? rt- 4802 types:generalized-label 4803 | | | | +--ro direction? te-label- 4804 direction 4805 | | | +--ro protection-type? identityref 4806 | | | +--ro tunnel-termination-points 4807 | | | | +--ro source? binary 4808 | | | | +--ro destination? binary 4809 | | | +--ro tunnels 4810 | | | +--ro sharing? boolean 4811 | | | +--ro tunnel* [tunnel-name] 4812 | | | +--ro tunnel-name string 4813 | | | +--ro sharing? boolean 4814 | | +--ro path-constraints 4815 | | | +--ro path-metric-bound* [metric-type] 4816 | | | | +--ro metric-type identityref 4817 | | | | +--ro upper-bound? uint64 4818 | | | +--ro topology-id? te-types:te-topology-id 4819 | | | +--ro te-bandwidth 4820 | | | | +--ro (technology)? 4821 | | | | +--:(generic) 4822 | | | | +--ro generic? te-bandwidth 4823 | | | +--ro disjointness? te-types:te-path- 4824 disjointness 4825 | | | +--ro setup-priority? uint8 4826 | | | +--ro hold-priority? uint8 4827 | | | +--ro signaling-type? identityref 4828 | | | +--ro path-affinities 4829 | | | | +--ro constraint* [usage] 4830 | | | | +--ro usage identityref 4831 | | | | +--ro value? admin-groups 4832 | | | +--ro path-srlgs 4833 | | | +--ro usage? identityref 4834 | | | +--ro values* srlg 4835 | | +--ro optimizations 4836 | | | +--ro (algorithm)? 4837 | | | +--:(metric) {path-optimization-metric}? 4838 | | | | +--ro optimization-metric* [metric-type] 4839 | | | | | +--ro metric-type identityref 4840 | | | | | +--ro weight? uint8 4841 | | | | +--ro tiebreakers 4842 | | | | +--ro tiebreaker* [tiebreaker-type] 4843 | | | | +--ro tiebreaker-type identityref 4844 | | | +--:(objective-function) {path-optimization- 4845 objective-function}? 4846 | | | +--ro objective-function 4847 | | | +--ro objective-function-type? 4848 identityref 4849 | | +--ro path-properties 4850 | | +--ro path-metric* [metric-type] 4851 | | | +--ro metric-type identityref 4852 | | | +--ro accumulative-value? uint64 4853 | | +--ro path-affinities 4854 | | | +--ro constraint* [usage] 4855 | | | +--ro usage identityref 4856 | | | +--ro value? admin-groups 4857 | | +--ro path-srlgs 4858 | | | +--ro usage? identityref 4859 | | | +--ro values* srlg 4860 | | +--ro path-route-objects 4861 | | +--ro path-route-object* [index] 4862 | | +--ro index uint32 4863 | | +--ro (type)? 4864 | | +--:(numbered) 4865 | | | +--ro numbered-hop 4866 | | | +--ro address? te-types:te-tp- 4867 id 4868 | | | +--ro hop-type? te-hop-type 4869 | | | +--ro direction? te-link- 4870 direction 4871 | | +--:(as-number) 4872 | | | +--ro as-number-hop 4873 | | | +--ro as-number? binary 4874 | | | +--ro hop-type? te-hop-type 4875 | | +--:(unnumbered) 4876 | | | +--ro unnumbered-hop 4877 | | | +--ro node-id? te-types:te- 4878 node-id 4879 | | | +--ro link-tp-id? te-types:te-tp- 4880 id 4881 | | | +--ro hop-type? te-hop-type 4882 | | | +--ro direction? te-link- 4883 direction 4884 | | +--:(label) 4885 | | +--ro label-hop 4886 | | +--ro te-label 4887 | | +--ro (technology)? 4888 | | | +--:(generic) 4889 | | | +--ro generic? rt- 4890 types:generalized-label 4891 | | +--ro direction? te-label- 4892 direction 4893 | +--ro domain-id? uint32 4894 | +--ro is-abstract? empty 4895 | +--ro name? string 4896 | +--ro signaling-address* inet:ip-address 4897 | +--ro underlay-topology {te-topology-hierarchy}? 4898 | +--ro network-ref? -> /nw:networks/network/network-id 4899 +--ro statistics 4900 | +--ro discontinuity-time yang:date-and-time 4901 | +--ro node 4902 | | +--ro disables? yang:counter32 4903 | | +--ro enables? yang:counter32 4904 | | +--ro maintenance-sets? yang:counter32 4905 | | +--ro maintenance-clears? yang:counter32 4906 | | +--ro modifies? yang:counter32 4907 | +--ro connectivity-matrix-entry 4908 | +--ro creates? yang:counter32 4909 | +--ro deletes? yang:counter32 4910 | +--ro disables? yang:counter32 4911 | +--ro enables? yang:counter32 4912 | +--ro modifies? yang:counter32 4913 +--rw tunnel-termination-point* [tunnel-tp-id] 4914 +--rw tunnel-tp-id binary 4915 +--rw admin-status? te-types:te- 4916 admin-status 4917 +--rw name? string 4918 +--rw switching-capability? identityref 4919 +--rw encoding? identityref 4920 +--rw inter-layer-lock-id* uint32 4921 +--rw protection-type? identityref 4922 +--rw client-layer-adaptation 4923 | +--rw switching-capability* [switching-capability 4924 encoding] 4925 | +--rw switching-capability identityref 4926 | +--rw encoding identityref 4927 | +--rw te-bandwidth 4928 | +--rw (technology)? 4929 | +--:(generic) 4930 | +--rw generic? te-bandwidth 4931 +--rw local-link-connectivities 4932 | +--rw number-of-entries? uint16 4933 | +--rw label-restriction* [index] 4934 | | +--rw index uint32 4935 | | +--rw inclusive-exclusive? enumeration 4936 | | +--rw label-start 4937 | | | +--rw te-label 4938 | | | +--rw (technology)? 4939 | | | | +--:(generic) 4940 | | | | +--rw generic? rt-types:generalized- 4941 label 4942 | | | +--rw direction? te-label-direction 4943 | | +--rw label-end 4944 | | | +--rw te-label 4945 | | | +--rw (technology)? 4946 | | | | +--:(generic) 4947 | | | | +--rw generic? rt-types:generalized- 4948 label 4949 | | | +--rw direction? te-label-direction 4950 | | +--rw range-bitmap? binary 4951 | +--rw is-allowed? boolean 4952 | +--rw underlay {te-topology-hierarchy}? 4953 | | +--rw enabled? boolean 4954 | | +--rw primary-path 4955 | | | +--rw network-ref? -> 4956 /nw:networks/network/network-id 4957 | | | +--rw path-element* [path-element-id] 4958 | | | +--rw path-element-id uint32 4959 | | | +--rw index? uint32 4960 | | | +--rw (type)? 4961 | | | +--:(numbered) 4962 | | | | +--rw numbered-hop 4963 | | | | +--rw address? te-types:te-tp-id 4964 | | | | +--rw hop-type? te-hop-type 4965 | | | | +--rw direction? te-link-direction 4966 | | | +--:(as-number) 4967 | | | | +--rw as-number-hop 4968 | | | | +--rw as-number? binary 4969 | | | | +--rw hop-type? te-hop-type 4970 | | | +--:(unnumbered) 4971 | | | | +--rw unnumbered-hop 4972 | | | | +--rw node-id? te-types:te-node- 4973 id 4974 | | | | +--rw link-tp-id? te-types:te-tp-id 4975 | | | | +--rw hop-type? te-hop-type 4976 | | | | +--rw direction? te-link-direction 4977 | | | +--:(label) 4978 | | | +--rw label-hop 4979 | | | +--rw te-label 4980 | | | +--rw (technology)? 4981 | | | | +--:(generic) 4982 | | | | +--rw generic? rt- 4983 types:generalized-label 4984 | | | +--rw direction? te-label- 4985 direction 4986 | | +--rw backup-path* [index] 4987 | | | +--rw index uint32 4988 | | | +--rw network-ref? -> 4989 /nw:networks/network/network-id 4990 | | | +--rw path-element* [path-element-id] 4991 | | | +--rw path-element-id uint32 4992 | | | +--rw index? uint32 4993 | | | +--rw (type)? 4994 | | | +--:(numbered) 4995 | | | | +--rw numbered-hop 4996 | | | | +--rw address? te-types:te-tp-id 4997 | | | | +--rw hop-type? te-hop-type 4998 | | | | +--rw direction? te-link-direction 4999 | | | +--:(as-number) 5000 | | | | +--rw as-number-hop 5001 | | | | +--rw as-number? binary 5002 | | | | +--rw hop-type? te-hop-type 5003 | | | +--:(unnumbered) 5004 | | | | +--rw unnumbered-hop 5005 | | | | +--rw node-id? te-types:te-node- 5006 id 5007 | | | | +--rw link-tp-id? te-types:te-tp-id 5008 | | | | +--rw hop-type? te-hop-type 5009 | | | | +--rw direction? te-link-direction 5010 | | | +--:(label) 5011 | | | +--rw label-hop 5012 | | | +--rw te-label 5013 | | | +--rw (technology)? 5014 | | | | +--:(generic) 5015 | | | | +--rw generic? rt- 5016 types:generalized-label 5017 | | | +--rw direction? te-label- 5018 direction 5019 | | +--rw protection-type? identityref 5020 | | +--rw tunnel-termination-points 5021 | | | +--rw source? binary 5022 | | | +--rw destination? binary 5023 | | +--rw tunnels 5024 | | +--rw sharing? boolean 5025 | | +--rw tunnel* [tunnel-name] 5026 | | +--rw tunnel-name string 5027 | | +--rw sharing? boolean 5028 | +--rw path-constraints 5029 | | +--rw path-metric-bound* [metric-type] 5030 | | | +--rw metric-type identityref 5031 | | | +--rw upper-bound? uint64 5032 | | +--rw topology-id? te-types:te-topology-id 5033 | | +--rw te-bandwidth 5034 | | | +--rw (technology)? 5035 | | | +--:(generic) 5036 | | | +--rw generic? te-bandwidth 5037 | | +--rw disjointness? te-types:te-path- 5038 disjointness 5039 | | +--rw setup-priority? uint8 5040 | | +--rw hold-priority? uint8 5041 | | +--rw signaling-type? identityref 5042 | | +--rw path-affinities 5043 | | | +--rw constraint* [usage] 5044 | | | +--rw usage identityref 5045 | | | +--rw value? admin-groups 5046 | | +--rw path-srlgs 5047 | | +--rw usage? identityref 5048 | | +--rw values* srlg 5049 | +--rw optimizations 5050 | | +--rw (algorithm)? 5051 | | +--:(metric) {path-optimization-metric}? 5052 | | | +--rw optimization-metric* [metric-type] 5053 | | | | +--rw metric-type identityref 5054 | | | | +--rw weight? uint8 5055 | | | +--rw tiebreakers 5056 | | | +--rw tiebreaker* [tiebreaker-type] 5057 | | | +--rw tiebreaker-type identityref 5058 | | +--:(objective-function) {path-optimization- 5059 objective-function}? 5060 | | +--rw objective-function 5061 | | +--rw objective-function-type? identityref 5062 | +--ro path-properties 5063 | | +--ro path-metric* [metric-type] 5064 | | | +--ro metric-type identityref 5065 | | | +--ro accumulative-value? uint64 5066 | | +--ro path-affinities 5067 | | | +--ro constraint* [usage] 5068 | | | +--ro usage identityref 5069 | | | +--ro value? admin-groups 5070 | | +--ro path-srlgs 5071 | | | +--ro usage? identityref 5072 | | | +--ro values* srlg 5073 | | +--ro path-route-objects 5074 | | +--ro path-route-object* [index] 5075 | | +--ro index uint32 5076 | | +--ro (type)? 5077 | | +--:(numbered) 5078 | | | +--ro numbered-hop 5079 | | | +--ro address? te-types:te-tp-id 5080 | | | +--ro hop-type? te-hop-type 5081 | | | +--ro direction? te-link-direction 5082 | | +--:(as-number) 5083 | | | +--ro as-number-hop 5084 | | | +--ro as-number? binary 5085 | | | +--ro hop-type? te-hop-type 5086 | | +--:(unnumbered) 5087 | | | +--ro unnumbered-hop 5088 | | | +--ro node-id? te-types:te-node- 5089 id 5090 | | | +--ro link-tp-id? te-types:te-tp-id 5091 | | | +--ro hop-type? te-hop-type 5092 | | | +--ro direction? te-link-direction 5093 | | +--:(label) 5094 | | +--ro label-hop 5095 | | +--ro te-label 5096 | | +--ro (technology)? 5097 | | | +--:(generic) 5098 | | | +--ro generic? rt- 5099 types:generalized-label 5100 | | +--ro direction? te-label- 5101 direction 5102 | +--rw local-link-connectivity* [link-tp-ref] 5103 | +--rw link-tp-ref -> 5104 ../../../../../nt:termination-point/tp-id 5105 | +--rw label-restriction* [index] 5106 | | +--rw index uint32 5107 | | +--rw inclusive-exclusive? enumeration 5108 | | +--rw label-start 5109 | | | +--rw te-label 5110 | | | +--rw (technology)? 5111 | | | | +--:(generic) 5112 | | | | +--rw generic? rt- 5113 types:generalized-label 5114 | | | +--rw direction? te-label-direction 5115 | | +--rw label-end 5116 | | | +--rw te-label 5117 | | | +--rw (technology)? 5118 | | | | +--:(generic) 5119 | | | | +--rw generic? rt- 5120 types:generalized-label 5121 | | | +--rw direction? te-label-direction 5122 | | +--rw range-bitmap? binary 5123 | +--rw is-allowed? boolean 5124 | +--rw underlay {te-topology-hierarchy}? 5125 | | +--rw enabled? boolean 5126 | | +--rw primary-path 5127 | | | +--rw network-ref? -> 5128 /nw:networks/network/network-id 5129 | | | +--rw path-element* [path-element-id] 5130 | | | +--rw path-element-id uint32 5131 | | | +--rw index? uint32 5132 | | | +--rw (type)? 5133 | | | +--:(numbered) 5134 | | | | +--rw numbered-hop 5135 | | | | +--rw address? te-types:te-tp- 5136 id 5137 | | | | +--rw hop-type? te-hop-type 5138 | | | | +--rw direction? te-link- 5139 direction 5140 | | | +--:(as-number) 5141 | | | | +--rw as-number-hop 5142 | | | | +--rw as-number? binary 5143 | | | | +--rw hop-type? te-hop-type 5144 | | | +--:(unnumbered) 5145 | | | | +--rw unnumbered-hop 5146 | | | | +--rw node-id? te-types:te- 5147 node-id 5148 | | | | +--rw link-tp-id? te-types:te-tp- 5149 id 5150 | | | | +--rw hop-type? te-hop-type 5151 | | | | +--rw direction? te-link- 5152 direction 5153 | | | +--:(label) 5154 | | | +--rw label-hop 5155 | | | +--rw te-label 5156 | | | +--rw (technology)? 5157 | | | | +--:(generic) 5158 | | | | +--rw generic? rt- 5159 types:generalized-label 5160 | | | +--rw direction? te-label- 5161 direction 5162 | | +--rw backup-path* [index] 5163 | | | +--rw index uint32 5164 | | | +--rw network-ref? -> 5165 /nw:networks/network/network-id 5166 | | | +--rw path-element* [path-element-id] 5167 | | | +--rw path-element-id uint32 5168 | | | +--rw index? uint32 5169 | | | +--rw (type)? 5170 | | | +--:(numbered) 5171 | | | | +--rw numbered-hop 5172 | | | | +--rw address? te-types:te-tp- 5173 id 5174 | | | | +--rw hop-type? te-hop-type 5175 | | | | +--rw direction? te-link- 5176 direction 5177 | | | +--:(as-number) 5178 | | | | +--rw as-number-hop 5179 | | | | +--rw as-number? binary 5180 | | | | +--rw hop-type? te-hop-type 5181 | | | +--:(unnumbered) 5182 | | | | +--rw unnumbered-hop 5183 | | | | +--rw node-id? te-types:te- 5184 node-id 5185 | | | | +--rw link-tp-id? te-types:te-tp- 5186 id 5187 | | | | +--rw hop-type? te-hop-type 5188 | | | | +--rw direction? te-link- 5189 direction 5190 | | | +--:(label) 5191 | | | +--rw label-hop 5192 | | | +--rw te-label 5193 | | | +--rw (technology)? 5194 | | | | +--:(generic) 5195 | | | | +--rw generic? rt- 5196 types:generalized-label 5197 | | | +--rw direction? te-label- 5198 direction 5199 | | +--rw protection-type? identityref 5200 | | +--rw tunnel-termination-points 5201 | | | +--rw source? binary 5202 | | | +--rw destination? binary 5203 | | +--rw tunnels 5204 | | +--rw sharing? boolean 5205 | | +--rw tunnel* [tunnel-name] 5206 | | +--rw tunnel-name string 5207 | | +--rw sharing? boolean 5208 | +--rw path-constraints 5209 | | +--rw path-metric-bound* [metric-type] 5210 | | | +--rw metric-type identityref 5211 | | | +--rw upper-bound? uint64 5212 | | +--rw topology-id? te-types:te-topology-id 5213 | | +--rw te-bandwidth 5214 | | | +--rw (technology)? 5215 | | | +--:(generic) 5216 | | | +--rw generic? te-bandwidth 5217 | | +--rw disjointness? te-types:te-path- 5218 disjointness 5219 | | +--rw setup-priority? uint8 5220 | | +--rw hold-priority? uint8 5221 | | +--rw signaling-type? identityref 5222 | | +--rw path-affinities 5223 | | | +--rw constraint* [usage] 5224 | | | +--rw usage identityref 5225 | | | +--rw value? admin-groups 5226 | | +--rw path-srlgs 5227 | | +--rw usage? identityref 5228 | | +--rw values* srlg 5229 | +--rw optimizations 5230 | | +--rw (algorithm)? 5231 | | +--:(metric) {path-optimization-metric}? 5232 | | | +--rw optimization-metric* [metric-type] 5233 | | | | +--rw metric-type identityref 5234 | | | | +--rw weight? uint8 5235 | | | +--rw tiebreakers 5236 | | | +--rw tiebreaker* [tiebreaker-type] 5237 | | | +--rw tiebreaker-type identityref 5238 | | +--:(objective-function) {path-optimization- 5239 objective-function}? 5240 | | +--rw objective-function 5241 | | +--rw objective-function-type? 5242 identityref 5243 | +--ro path-properties 5244 | +--ro path-metric* [metric-type] 5245 | | +--ro metric-type identityref 5246 | | +--ro accumulative-value? uint64 5247 | +--ro path-affinities 5248 | | +--ro constraint* [usage] 5249 | | +--ro usage identityref 5250 | | +--ro value? admin-groups 5251 | +--ro path-srlgs 5252 | | +--ro usage? identityref 5253 | | +--ro values* srlg 5254 | +--ro path-route-objects 5255 | +--ro path-route-object* [index] 5256 | +--ro index uint32 5257 | +--ro (type)? 5258 | +--:(numbered) 5259 | | +--ro numbered-hop 5260 | | +--ro address? te-types:te-tp- 5261 id 5262 | | +--ro hop-type? te-hop-type 5263 | | +--ro direction? te-link- 5264 direction 5265 | +--:(as-number) 5266 | | +--ro as-number-hop 5267 | | +--ro as-number? binary 5268 | | +--ro hop-type? te-hop-type 5269 | +--:(unnumbered) 5270 | | +--ro unnumbered-hop 5271 | | +--ro node-id? te-types:te- 5272 node-id 5273 | | +--ro link-tp-id? te-types:te-tp- 5274 id 5275 | | +--ro hop-type? te-hop-type 5276 | | +--ro direction? te-link- 5277 direction 5278 | +--:(label) 5279 | +--ro label-hop 5280 | +--ro te-label 5281 | +--ro (technology)? 5282 | | +--:(generic) 5283 | | +--ro generic? rt- 5284 types:generalized-label 5285 | +--ro direction? te-label- 5286 direction 5287 +--ro oper-status? te-types:te- 5288 oper-status 5289 +--ro geolocation 5290 | +--ro altitude? int64 5291 | +--ro latitude? geographic-coordinate-degree 5292 | +--ro longitude? geographic-coordinate-degree 5293 +--ro statistics 5294 | +--ro discontinuity-time yang:date-and-time 5295 | +--ro tunnel-termination-point 5296 | | +--ro disables? yang:counter32 5297 | | +--ro enables? yang:counter32 5298 | | +--ro maintenance-clears? yang:counter32 5299 | | +--ro maintenance-sets? yang:counter32 5300 | | +--ro modifies? yang:counter32 5301 | | +--ro downs? yang:counter32 5302 | | +--ro ups? yang:counter32 5303 | | +--ro in-service-clears? yang:counter32 5304 | | +--ro in-service-sets? yang:counter32 5305 | +--ro local-link-connectivity 5306 | +--ro creates? yang:counter32 5307 | +--ro deletes? yang:counter32 5308 | +--ro disables? yang:counter32 5309 | +--ro enables? yang:counter32 5310 | +--ro modifies? yang:counter32 5311 +--rw supporting-tunnel-termination-point* [node-ref 5312 tunnel-tp-ref] 5313 +--rw node-ref inet:uri 5314 +--rw tunnel-tp-ref binary 5315 augment /nw:networks/nw:network/nt:link: 5316 +--rw te! 5317 +--rw (bundle-stack-level)? 5318 | +--:(bundle) 5319 | | +--rw bundled-links 5320 | | +--rw bundled-link* [sequence] 5321 | | +--rw sequence uint32 5322 | | +--rw src-tp-ref? -> 5323 ../../../../../nw:node[nw:node-id = 5324 current()/../../../../nt:source/source-node]/termination-point/tp-id 5325 | | +--rw des-tp-ref? -> 5326 ../../../../../nw:node[nw:node-id = 5327 current()/../../../../nt:destination/dest-node]/termination-point/tp- 5328 id 5329 | +--:(component) 5330 | +--rw component-links 5331 | +--rw component-link* [sequence] 5332 | +--rw sequence uint32 5333 | +--rw src-interface-ref? string 5334 | +--rw des-interface-ref? string 5335 +--rw te-link-template* -> 5336 ../../../../te/templates/link-template/name {template}? 5337 +--rw te-link-attributes 5338 | +--rw access-type? te-types:te-link- 5339 access-type 5340 | +--rw external-domain 5341 | | +--rw network-ref? -> 5342 /nw:networks/network/network-id 5343 | | +--rw remote-te-node-id? te-types:te-node-id 5344 | | +--rw remote-te-link-tp-id? te-types:te-tp-id 5345 | +--rw is-abstract? empty 5346 | +--rw name? string 5347 | +--rw underlay {te-topology-hierarchy}? 5348 | | +--rw enabled? boolean 5349 | | +--rw primary-path 5350 | | | +--rw network-ref? -> 5351 /nw:networks/network/network-id 5352 | | | +--rw path-element* [path-element-id] 5353 | | | +--rw path-element-id uint32 5354 | | | +--rw index? uint32 5355 | | | +--rw (type)? 5356 | | | +--:(numbered) 5357 | | | | +--rw numbered-hop 5358 | | | | +--rw address? te-types:te-tp-id 5359 | | | | +--rw hop-type? te-hop-type 5360 | | | | +--rw direction? te-link-direction 5361 | | | +--:(as-number) 5362 | | | | +--rw as-number-hop 5363 | | | | +--rw as-number? binary 5364 | | | | +--rw hop-type? te-hop-type 5365 | | | +--:(unnumbered) 5366 | | | | +--rw unnumbered-hop 5367 | | | | +--rw node-id? te-types:te-node-id 5368 | | | | +--rw link-tp-id? te-types:te-tp-id 5369 | | | | +--rw hop-type? te-hop-type 5370 | | | | +--rw direction? te-link-direction 5371 | | | +--:(label) 5372 | | | +--rw label-hop 5373 | | | +--rw te-label 5374 | | | +--rw (technology)? 5375 | | | | +--:(generic) 5376 | | | | +--rw generic? rt- 5377 types:generalized-label 5378 | | | +--rw direction? te-label-direction 5379 | | +--rw backup-path* [index] 5380 | | | +--rw index uint32 5381 | | | +--rw network-ref? -> 5382 /nw:networks/network/network-id 5383 | | | +--rw path-element* [path-element-id] 5384 | | | +--rw path-element-id uint32 5385 | | | +--rw index? uint32 5386 | | | +--rw (type)? 5387 | | | +--:(numbered) 5388 | | | | +--rw numbered-hop 5389 | | | | +--rw address? te-types:te-tp-id 5390 | | | | +--rw hop-type? te-hop-type 5391 | | | | +--rw direction? te-link-direction 5392 | | | +--:(as-number) 5393 | | | | +--rw as-number-hop 5394 | | | | +--rw as-number? binary 5395 | | | | +--rw hop-type? te-hop-type 5396 | | | +--:(unnumbered) 5397 | | | | +--rw unnumbered-hop 5398 | | | | +--rw node-id? te-types:te-node-id 5399 | | | | +--rw link-tp-id? te-types:te-tp-id 5400 | | | | +--rw hop-type? te-hop-type 5401 | | | | +--rw direction? te-link-direction 5402 | | | +--:(label) 5403 | | | +--rw label-hop 5404 | | | +--rw te-label 5405 | | | +--rw (technology)? 5406 | | | | +--:(generic) 5407 | | | | +--rw generic? rt- 5408 types:generalized-label 5409 | | | +--rw direction? te-label-direction 5410 | | +--rw protection-type? identityref 5411 | | +--rw tunnel-termination-points 5412 | | | +--rw source? binary 5413 | | | +--rw destination? binary 5414 | | +--rw tunnels 5415 | | +--rw sharing? boolean 5416 | | +--rw tunnel* [tunnel-name] 5417 | | +--rw tunnel-name string 5418 | | +--rw sharing? boolean 5419 | +--rw admin-status? te-types:te-admin- 5420 status 5421 | +--rw link-index? uint64 5422 | +--rw administrative-group? te-types:admin- 5423 groups 5424 | +--rw interface-switching-capability* [switching-capability 5425 encoding] 5426 | | +--rw switching-capability identityref 5427 | | +--rw encoding identityref 5428 | | +--rw max-lsp-bandwidth* [priority] 5429 | | +--rw priority uint8 5430 | | +--rw te-bandwidth 5431 | | +--rw (technology)? 5432 | | +--:(generic) 5433 | | +--rw generic? te-bandwidth 5434 | +--rw label-restriction* [index] 5435 | | +--rw index uint32 5436 | | +--rw inclusive-exclusive? enumeration 5437 | | +--rw label-start 5438 | | | +--rw te-label 5439 | | | +--rw (technology)? 5440 | | | | +--:(generic) 5441 | | | | +--rw generic? rt-types:generalized- 5442 label 5443 | | | +--rw direction? te-label-direction 5444 | | +--rw label-end 5445 | | | +--rw te-label 5446 | | | +--rw (technology)? 5447 | | | | +--:(generic) 5448 | | | | +--rw generic? rt-types:generalized- 5449 label 5450 | | | +--rw direction? te-label-direction 5451 | | +--rw range-bitmap? binary 5452 | +--rw link-protection-type? enumeration 5453 | +--rw max-link-bandwidth 5454 | | +--rw te-bandwidth 5455 | | +--rw (technology)? 5456 | | +--:(generic) 5457 | | +--rw generic? te-bandwidth 5458 | +--rw max-resv-link-bandwidth 5459 | | +--rw te-bandwidth 5460 | | +--rw (technology)? 5461 | | +--:(generic) 5462 | | +--rw generic? te-bandwidth 5463 | +--rw unreserved-bandwidth* [priority] 5464 | | +--rw priority uint8 5465 | | +--rw te-bandwidth 5466 | | +--rw (technology)? 5467 | | +--:(generic) 5468 | | +--rw generic? te-bandwidth 5469 | +--rw te-default-metric? uint32 5470 | +--rw te-delay-metric? uint32 5471 | +--rw te-igp-metric? uint32 5472 | +--rw te-srlgs 5473 | | +--rw value* te-types:srlg 5474 | +--rw te-nsrlgs {nsrlg}? 5475 | +--rw id* uint32 5476 +--ro oper-status? te-types:te-oper-status 5477 +--ro is-transitional? empty 5478 +--ro information-source? te-info-source 5479 +--ro information-source-state 5480 | +--ro credibility-preference? uint16 5481 | +--ro logical-network-element? string 5482 | +--ro network-instance? string 5483 | +--ro topology 5484 | +--ro link-ref? -> /nw:networks/network[nw:network- 5485 id=current()/../network-ref]/nt:link/link-id 5486 | +--ro network-ref? -> /nw:networks/network/network-id 5487 +--ro information-source-entry* [information-source] 5488 | +--ro information-source te-info-source 5489 | +--ro information-source-state 5490 | | +--ro credibility-preference? uint16 5491 | | +--ro logical-network-element? string 5492 | | +--ro network-instance? string 5493 | | +--ro topology 5494 | | +--ro link-ref? -> 5495 /nw:networks/network[nw:network-id=current()/../network- 5496 ref]/nt:link/link-id 5497 | | +--ro network-ref? -> /nw:networks/network/network- 5498 id 5499 | +--ro link-index? uint64 5500 | +--ro administrative-group? te-types:admin- 5501 groups 5502 | +--ro interface-switching-capability* [switching-capability 5503 encoding] 5504 | | +--ro switching-capability identityref 5505 | | +--ro encoding identityref 5506 | | +--ro max-lsp-bandwidth* [priority] 5507 | | +--ro priority uint8 5508 | | +--ro te-bandwidth 5509 | | +--ro (technology)? 5510 | | +--:(generic) 5511 | | +--ro generic? te-bandwidth 5512 | +--ro label-restriction* [index] 5513 | | +--ro index uint32 5514 | | +--ro inclusive-exclusive? enumeration 5515 | | +--ro label-start 5516 | | | +--ro te-label 5517 | | | +--ro (technology)? 5518 | | | | +--:(generic) 5519 | | | | +--ro generic? rt-types:generalized- 5520 label 5521 | | | +--ro direction? te-label-direction 5522 | | +--ro label-end 5523 | | | +--ro te-label 5524 | | | +--ro (technology)? 5525 | | | | +--:(generic) 5526 | | | | +--ro generic? rt-types:generalized- 5527 label 5528 | | | +--ro direction? te-label-direction 5529 | | +--ro range-bitmap? binary 5530 | +--ro link-protection-type? enumeration 5531 | +--ro max-link-bandwidth 5532 | | +--ro te-bandwidth 5533 | | +--ro (technology)? 5534 | | +--:(generic) 5535 | | +--ro generic? te-bandwidth 5536 | +--ro max-resv-link-bandwidth 5537 | | +--ro te-bandwidth 5538 | | +--ro (technology)? 5539 | | +--:(generic) 5540 | | +--ro generic? te-bandwidth 5541 | +--ro unreserved-bandwidth* [priority] 5542 | | +--ro priority uint8 5543 | | +--ro te-bandwidth 5544 | | +--ro (technology)? 5545 | | +--:(generic) 5546 | | +--ro generic? te-bandwidth 5547 | +--ro te-default-metric? uint32 5548 | +--ro te-delay-metric? uint32 5549 | +--ro te-igp-metric? uint32 5550 | +--ro te-srlgs 5551 | | +--ro value* te-types:srlg 5552 | +--ro te-nsrlgs {nsrlg}? 5553 | +--ro id* uint32 5554 +--ro recovery 5555 | +--ro restoration-status? te-types:te-recovery-status 5556 | +--ro protection-status? te-types:te-recovery-status 5557 +--ro underlay {te-topology-hierarchy}? 5558 | +--ro dynamic? boolean 5559 | +--ro committed? boolean 5560 +--ro statistics 5561 +--ro discontinuity-time yang:date-and-time 5562 +--ro disables? yang:counter32 5563 +--ro enables? yang:counter32 5564 +--ro maintenance-clears? yang:counter32 5565 +--ro maintenance-sets? yang:counter32 5566 +--ro modifies? yang:counter32 5567 +--ro downs? yang:counter32 5568 +--ro ups? yang:counter32 5569 +--ro fault-clears? yang:counter32 5570 +--ro fault-detects? yang:counter32 5571 +--ro protection-switches? yang:counter32 5572 +--ro protection-reverts? yang:counter32 5573 +--ro restoration-failures? yang:counter32 5574 +--ro restoration-starts? yang:counter32 5575 +--ro restoration-successes? yang:counter32 5576 +--ro restoration-reversion-failures? yang:counter32 5577 +--ro restoration-reversion-starts? yang:counter32 5578 +--ro restoration-reversion-successes? yang:counter32 5579 augment /nw:networks/nw:network/nw:node/nt:termination-point: 5580 +--rw te-tp-id? te-types:te-tp-id 5581 +--rw te! 5582 +--rw admin-status? te-types:te-admin- 5583 status 5584 +--rw name? string 5585 +--rw interface-switching-capability* [switching-capability 5586 encoding] 5587 | +--rw switching-capability identityref 5588 | +--rw encoding identityref 5589 | +--rw max-lsp-bandwidth* [priority] 5590 | +--rw priority uint8 5591 | +--rw te-bandwidth 5592 | +--rw (technology)? 5593 | +--:(generic) 5594 | +--rw generic? te-bandwidth 5595 +--rw inter-domain-plug-id? binary 5596 +--rw inter-layer-lock-id* uint32 5597 +--ro oper-status? te-types:te-oper- 5598 status 5599 +--ro geolocation 5600 +--ro altitude? int64 5601 +--ro latitude? geographic-coordinate-degree 5602 +--ro longitude? geographic-coordinate-degree 5604 Appendix B. Companion YANG Model for Non-NMDA Compliant Implementations 5606 The YANG module ietf-te-topology defined in this document is designed 5607 to be used in conjunction with implementations that support the 5608 Network Management Datastore Architecture (NMDA) defined in [YANG- 5609 NMDA]. In order to allow implementations to use the model even in 5610 cases when NMDA is not supported, the following companion module 5611 ietf-te-topology-state is defined as a state model, which mirrors the 5612 module ietf-te-topology defined earlier in this document. However, 5613 all data nodes in the companion module are non-configurable, to 5614 represent the applied configuration or the derived operational 5615 states. 5617 The companion module, ietf-te-topology-state, is redundant and SHOULD 5618 NOT be supported by implementations that support NMDA. 5620 As the structure of the module ietf-te-topology-state mirrors that of 5621 the module ietf-te-topology. The YANG tree of the module ietf-te- 5622 topology-state is not depicted separately. 5624 B.1. TE Topology State Yang Module 5626 file "ietf-te-topology-state@2017-10-25.yang" 5627 module ietf-te-topology-state { 5628 yang-version 1.1; 5629 namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state"; 5631 prefix "tet-s"; 5633 import ietf-te-types { 5634 prefix "te-types"; 5635 } 5637 import ietf-te-topology { 5638 prefix "tet"; 5639 } 5641 import ietf-network-state { 5642 prefix "nw-s"; 5643 } 5645 import ietf-network-topology-state { 5646 prefix "nt-s"; 5647 } 5648 organization 5649 "IETF Traffic Engineering Architecture and Signaling (TEAS) 5650 Working Group"; 5652 contact 5653 "WG Web: 5654 WG List: 5656 WG Chair: Lou Berger 5657 5659 WG Chair: Vishnu Pavan Beeram 5660 5662 Editor: Xufeng Liu 5663 5665 Editor: Igor Bryskin 5666 5668 Editor: Vishnu Pavan Beeram 5669 5671 Editor: Tarek Saad 5672 5674 Editor: Himanshu Shah 5675 5677 Editor: Oscar Gonzalez De Dios 5678 "; 5680 description "TE topology state model"; 5682 revision "2017-10-25" { 5683 description "Initial revision"; 5684 reference "RFC XXXX: YANG Data Model for TE Topologies"; 5685 // RFC Ed.: replace XXXX with actual RFC number and remove 5686 // this note 5687 } 5688 /* 5689 * Groupings 5690 */ 5691 grouping te-node-connectivity-matrix-attributes { 5692 description 5693 "Termination point references of a connectivity matrix entry."; 5694 container from { 5695 description 5696 "Reference to source link termination point."; 5697 leaf tp-ref { 5698 type leafref { 5699 path "../../../../../../nt-s:termination-point/nt-s:tp-id"; 5700 } 5701 description 5702 "Relative reference to a termination point."; 5703 } 5704 uses tet:connectivity-label-restriction-list; 5705 } 5706 container to { 5707 description 5708 "Reference to destination link termination point."; 5709 leaf tp-ref { 5710 type leafref { 5711 path "../../../../../../nt-s:termination-point/nt-s:tp-id"; 5712 } 5713 description 5714 "Relative reference to a termination point."; 5715 } 5716 uses tet:connectivity-label-restriction-list; 5717 } 5718 uses tet:connectivity-matrix-entry-path-attributes; 5719 } // te-node-connectivity-matrix-attributes 5721 grouping te-node-tunnel-termination-point-llc-list { 5722 description 5723 "Local link connectivity list of a tunnel termination 5724 point on a TE node."; 5725 list local-link-connectivity { 5726 key "link-tp-ref"; 5727 description 5728 "The termination capabilities between 5729 tunnel-termination-point and link termination-point. 5730 The capability information can be used to compute 5731 the tunnel path. 5732 The Interface Adjustment Capability Descriptors (IACD) 5733 [RFC6001] on each link-tp can be derived from this 5734 local-link-connectivity list."; 5735 reference 5736 "RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 5737 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 5739 leaf link-tp-ref { 5740 type leafref { 5741 path "../../../../../nt-s:termination-point/nt-s:tp-id"; 5742 } 5743 description 5744 "Link termination point."; 5745 } 5746 uses tet:connectivity-label-restriction-list; 5747 uses tet:connectivity-matrix-entry-path-attributes; 5748 } // local-link-connectivity 5749 } // te-node-tunnel-termination-point-config 5751 /* 5752 * Data nodes 5753 */ 5754 augment "/nw-s:networks/nw-s:network/nw-s:network-types" { 5755 description 5756 "Introduce new network type for TE topology."; 5757 container te-topology { 5758 presence "Indicates TE topology."; 5759 description 5760 "Its presence identifies the TE topology type."; 5761 } 5762 } 5764 augment "/nw-s:networks" { 5765 description 5766 "Augmentation parameters for TE topologies."; 5767 uses tet:te-topologies-augment; 5768 } 5769 augment "/nw-s:networks/nw-s:network" { 5770 when "nw-s:network-types/tet-s:te-topology" { 5771 description 5772 "Augmentation parameters apply only for networks with 5773 TE topology type."; 5774 } 5775 description 5776 "Configuration parameters for TE topology."; 5777 uses tet:te-topology-augment; 5778 } 5780 augment "/nw-s:networks/nw-s:network/nw-s:node" { 5781 when "../nw-s:network-types/tet-s:te-topology" { 5782 description 5783 "Augmentation parameters apply only for networks with 5784 TE topology type."; 5785 } 5786 description 5787 "Configuration parameters for TE at node level."; 5788 leaf te-node-id { 5789 type te-types:te-node-id; 5790 description 5791 "The identifier of a node in the TE topology. 5792 A node is specific to a topology to which it belongs."; 5793 } 5794 container te { 5795 must "../te-node-id" { 5796 description 5797 "te-node-id is mandatory."; 5798 } 5799 must "count(../nw-s:supporting-node)<=1" { 5800 description 5801 "For a node in a TE topology, there cannot be more 5802 than 1 supporting node. If multiple nodes are abstracted, 5803 the underlay-topology is used."; 5804 } 5805 presence "TE support."; 5806 description 5807 "Indicates TE support."; 5808 uses tet:te-node-augment; 5810 } // te 5811 } 5813 augment "/nw-s:networks/nw-s:network/nt-s:link" { 5814 when "../nw-s:network-types/tet-s:te-topology" { 5815 description 5816 "Augmentation parameters apply only for networks with 5817 TE topology type."; 5818 } 5819 description 5820 "Configuration parameters for TE at link level."; 5821 container te { 5822 must "count(../nt-s:supporting-link)<=1" { 5823 description 5824 "For a link in a TE topology, there cannot be more 5825 than 1 supporting link. If one or more link paths are 5826 abstracted, the underlay is used."; 5827 } 5828 presence "TE support."; 5829 description 5830 "Indicates TE support."; 5831 uses tet:te-link-augment; 5832 } // te 5833 } 5835 augment "/nw-s:networks/nw-s:network/nw-s:node/" 5836 + "nt-s:termination-point" { 5837 when "../../nw-s:network-types/tet-s:te-topology" { 5838 description 5839 "Augmentation parameters apply only for networks with 5840 TE topology type."; 5841 } 5842 description 5843 "Configuration parameters for TE at termination point level."; 5844 uses tet:te-termination-point-augment; 5845 } 5847 augment 5848 "/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/" 5849 + "bundle/bundled-links/bundled-link" { 5850 when "../../../../nw-s:network-types/tet-s:te-topology" { 5851 description 5852 "Augmentation parameters apply only for networks with 5853 TE topology type."; 5854 } 5855 description 5856 "Augment TE link bundled link."; 5857 leaf src-tp-ref { 5858 type leafref { 5859 path "../../../../../nw-s:node[nw-s:node-id = " 5860 + "current()/../../../../nt-s:source/" 5861 + "nt-s:source-node]/" 5862 + "nt-s:termination-point/nt-s:tp-id"; 5863 require-instance true; 5864 } 5865 description 5866 "Reference to another TE termination point on the 5867 same souruce node."; 5868 } 5869 leaf des-tp-ref { 5870 type leafref { 5871 path "../../../../../nw-s:node[nw-s:node-id = " 5872 + "current()/../../../../nt-s:destination/" 5873 + "nt-s:dest-node]/" 5874 + "nt-s:termination-point/nt-s:tp-id"; 5875 require-instance true; 5876 } 5877 description 5878 "Reference to another TE termination point on the 5879 same destination node."; 5880 } 5881 } 5883 augment 5884 "/nw-s:networks/nw-s:network/nw-s:node/te/" 5885 + "information-source-entry/connectivity-matrices/" 5886 + "connectivity-matrix" { 5887 when "../../../../../nw-s:network-types/tet-s:te-topology" { 5888 description 5889 "Augmentation parameters apply only for networks with 5890 TE topology type."; 5891 } 5892 description 5893 "Augment TE node connectivity-matrix."; 5894 uses te-node-connectivity-matrix-attributes; 5895 } 5897 augment 5898 "/nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/" 5899 + "connectivity-matrices/connectivity-matrix" { 5900 when "../../../../../nw-s:network-types/tet-s:te-topology" { 5901 description 5902 "Augmentation parameters apply only for networks with 5903 TE topology type."; 5904 } 5905 description 5906 "Augment TE node connectivity-matrix."; 5907 uses te-node-connectivity-matrix-attributes; 5908 } 5910 augment 5911 "/nw-s:networks/nw-s:network/nw-s:node/te/" 5912 + "tunnel-termination-point/local-link-connectivities" { 5913 when "../../../../nw-s:network-types/tet-s:te-topology" { 5914 description 5915 "Augmentation parameters apply only for networks with 5916 TE topology type."; 5917 } 5918 description 5919 "Augment TE node tunnel termination point LLCs 5920 (Local Link Connectivities)."; 5921 uses te-node-tunnel-termination-point-llc-list; 5922 } 5923 } 5924 5926 Appendix C. Example: YANG Model for Technology Specific Augmentations 5928 This section provides an example YANG module to define a technology 5929 specific TE topology model for the example-topology described in 5930 Section 6. 5932 module example-topology { 5933 yang-version 1.1; 5935 namespace "http://example.com/example-topology"; 5936 prefix "ex-topo"; 5938 import ietf-network { 5939 prefix "nw"; 5940 } 5942 import ietf-network-topology { 5943 prefix "nt"; 5944 } 5946 import ietf-te-topology { 5947 prefix "tet"; 5948 } 5950 organization 5951 "Example Organization"; 5952 contact 5953 "Editor: Example Author"; 5955 description 5956 "This module defines a topology data model for the example 5957 technology."; 5959 revision 2017-12-20 { 5960 description 5961 "Initial revision."; 5962 reference 5963 "Example reference."; 5964 } 5966 /* 5967 * Data nodes 5968 */ 5969 augment "/nw:networks/nw:network/nw:network-types/" 5970 + "tet:te-topology" { 5971 description 5972 "Augment network types to define example topology type."; 5973 container example-topology { 5974 presence 5975 "Introduce new network type for example topology."; 5976 description 5977 "Its presence identifies the example topology type."; 5978 } 5979 } 5981 augment "/nw:networks/nw:network/tet:te" { 5982 when "../nw:network-types/tet:te-topology/" 5983 + "ex-topo:example-topology" { 5984 description 5985 "Augmentation parameters apply only for networks with 5986 example topology type."; 5987 } 5988 description "Augment network topology."; 5989 container attributes { 5990 description "Attributes for example technology."; 5991 leaf attribute-1 { 5992 type uint8; 5993 description "Attribute 1 for example technology."; 5994 } 5995 } 5996 } 5998 augment "/nw:networks/nw:network/nw:node/tet:te/" 5999 + "tet:te-node-attributes" { 6000 when "../../nw:network-types/tet:te-topology/" 6001 + "ex-topo:example-topology" { 6002 description 6003 "Augmentation parameters apply only for networks with 6004 example topology type."; 6005 } 6006 description "Augment node attributes."; 6007 container attributes { 6008 description "Attributes for example technology."; 6009 leaf attribute-2 { 6010 type uint8; 6011 description "Attribute 2 for example technology."; 6012 } 6013 } 6014 } 6016 augment "/nw:networks/nw:network/nw:node/tet:te/" 6017 + "tet:te-node-attributes/tet:connectivity-matrices" { 6018 when "../../../../nw:network-types/tet:te-topology/" 6019 + "ex-topo:example-topology" { 6020 description 6021 "Augmentation parameters apply only for networks with 6022 example topology type."; 6023 } 6024 description "Augment node connectivity matrices."; 6025 container attributes { 6026 description "Attributes for example technology."; 6027 leaf attribute-3 { 6028 type uint8; 6029 description "Attribute 3 for example technology."; 6030 } 6031 } 6032 } 6034 augment "/nw:networks/nw:network/nw:node/tet:te/" 6035 + "tet:te-node-attributes/tet:connectivity-matrices/" 6036 + "tet:connectivity-matrix" { 6037 when "../../../../../nw:network-types/tet:te-topology/" 6038 + "ex-topo:example-topology" { 6039 description 6040 "Augmentation parameters apply only for networks with 6041 example topology type."; 6042 } 6043 description "Augment node connectivity matrix."; 6044 container attributes { 6045 description "Attributes for example technology."; 6046 leaf attribute-3 { 6047 type uint8; 6048 description "Attribute 3 for example technology."; 6049 } 6051 } 6052 } 6054 augment "/nw:networks/nw:network/nw:node/tet:te/" 6055 + "tet:tunnel-termination-point" { 6056 when "../../../nw:network-types/tet:te-topology/" 6057 + "ex-topo:example-topology" { 6058 description 6059 "Augmentation parameters apply only for networks with 6060 example topology type."; 6061 } 6062 description "Augment tunnel termination point."; 6063 container attributes { 6064 description "Attributes for example technology."; 6065 leaf attribute-4 { 6066 type uint8; 6067 description "Attribute 4 for example technology."; 6068 } 6069 } 6070 } 6072 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 6073 + "tet:te" { 6074 when "../../../nw:network-types/tet:te-topology/" 6075 + "ex-topo:example-topology" { 6076 description 6077 "Augmentation parameters apply only for networks with 6078 example topology type."; 6079 } 6080 description "Augment link termination point."; 6081 container attributes { 6082 description "Attributes for example technology."; 6083 leaf attribute-5 { 6084 type uint8; 6085 description "Attribute 4 for example technology."; 6086 } 6087 } 6088 } 6090 augment "/nw:networks/nw:network/nt:link/tet:te/" 6091 + "tet:te-link-attributes" { 6093 when "../../../nw:network-types/tet:te-topology/" 6094 + "ex-topo:example-topology" { 6095 description 6096 "Augmentation parameters apply only for networks with 6097 example topology type."; 6098 } 6099 description "Augment link attributes."; 6100 container attributes { 6101 description "Attributes for example technology."; 6102 leaf attribute-6 { 6103 type uint8; 6104 description "Attribute 4 for example technology."; 6105 } 6106 } 6107 } 6109 /* 6110 * Augment TE bandwidth. 6111 */ 6113 augment "/nw:networks/tet:te/tet:templates/" 6114 + "tet:link-template/tet:te-link-attributes/" 6115 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 6116 + "tet:te-bandwidth/tet:technology" { 6117 case "example" { 6118 container example { 6119 description "Attributes for example technology."; 6120 leaf bandwidth-1 { 6121 type uint32; 6122 description "Attribute 11 for example technology."; 6123 } 6124 } 6125 } 6126 description "Augment TE bandwidth."; 6127 } 6129 augment "/nw:networks/tet:te/tet:templates/" 6130 + "tet:link-template/tet:te-link-attributes/" 6131 + "tet:max-link-bandwidth/" 6132 + "tet:te-bandwidth/tet:technology" { 6133 case "example" { 6134 container example { 6135 description "Attributes for example technology."; 6136 leaf bandwidth-1 { 6137 type uint32; 6138 description "Attribute 11 for example technology."; 6139 } 6140 } 6141 } 6142 description "Augment TE bandwidth."; 6143 } 6145 augment "/nw:networks/tet:te/tet:templates/" 6146 + "tet:link-template/tet:te-link-attributes/" 6147 + "tet:max-resv-link-bandwidth/" 6148 + "tet:te-bandwidth/tet:technology" { 6149 case "example" { 6150 container example { 6151 description "Attributes for example technology."; 6152 leaf bandwidth-1 { 6153 type uint32; 6154 description "Attribute 11 for example technology."; 6155 } 6156 } 6157 } 6158 description "Augment TE bandwidth."; 6159 } 6161 augment "/nw:networks/tet:te/tet:templates/" 6162 + "tet:link-template/tet:te-link-attributes/" 6163 + "tet:unreserved-bandwidth/" 6164 + "tet:te-bandwidth/tet:technology" { 6165 case "example" { 6166 container example { 6167 description "Attributes for example technology."; 6168 leaf bandwidth-1 { 6169 type uint32; 6170 description "Attribute 11 for example technology."; 6171 } 6172 } 6173 } 6174 description "Augment TE bandwidth."; 6176 } 6178 augment "/nw:networks/nw:network/nw:node/tet:te/" 6179 + "tet:te-node-attributes/tet:connectivity-matrices/" 6180 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6181 when "../../../../../../../nw:network-types/tet:te-topology/" 6182 + "ex-topo:example-topology" { 6183 description 6184 "Augmentation parameters apply only for networks with 6185 example topology type."; 6186 } 6187 case "example" { 6188 container example { 6189 description "Attributes for example technology."; 6190 leaf bandwidth-1 { 6191 type uint32; 6192 description "Attribute 11 for example technology."; 6193 } 6194 } 6195 } 6196 description "Augment TE bandwidth."; 6197 } 6199 augment "/nw:networks/nw:network/nw:node/tet:te/" 6200 + "tet:te-node-attributes/tet:connectivity-matrices/" 6201 + "tet:connectivity-matrix/" 6202 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6203 when "../../../../../../../nw:network-types/tet:te-topology/" 6204 + "ex-topo:example-topology" { 6205 description 6206 "Augmentation parameters apply only for networks with 6207 example topology type."; 6208 } 6209 case "example" { 6210 container example { 6211 description "Attributes for example technology."; 6212 leaf bandwidth-1 { 6213 type uint32; 6214 description "Attribute 11 for example technology."; 6215 } 6216 } 6218 } 6219 description "Augment TE bandwidth."; 6220 } 6222 augment "/nw:networks/nw:network/nw:node/tet:te/" 6223 + "tet:information-source-entry/tet:connectivity-matrices/" 6224 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6225 when "../../../../../../../nw:network-types/tet:te-topology/" 6226 + "ex-topo:example-topology" { 6227 description 6228 "Augmentation parameters apply only for networks with 6229 example topology type."; 6230 } 6231 case "example" { 6232 container example { 6233 description "Attributes for example technology."; 6234 leaf bandwidth-1 { 6235 type uint32; 6236 description "Attribute 11 for example technology."; 6237 } 6238 } 6239 } 6240 description "Augment TE bandwidth."; 6241 } 6243 augment "/nw:networks/nw:network/nw:node/tet:te/" 6244 + "tet:information-source-entry/tet:connectivity-matrices/" 6245 + "tet:connectivity-matrix/" 6246 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6247 when "../../../../../../../nw:network-types/tet:te-topology/" 6248 + "ex-topo:example-topology" { 6249 description 6250 "Augmentation parameters apply only for networks with 6251 example topology type."; 6252 } 6253 case "example" { 6254 container example { 6255 description "Attributes for example technology."; 6256 leaf bandwidth-1 { 6257 type uint32; 6258 description "Attribute 11 for example technology."; 6260 } 6261 } 6262 } 6263 description "Augment TE bandwidth."; 6264 } 6266 augment "/nw:networks/nw:network/nw:node/tet:te/" 6267 + "tet:tunnel-termination-point/tet:client-layer-adaptation/" 6268 + "tet:switching-capability/tet:te-bandwidth/tet:technology" { 6269 when "../../../../../../../nw:network-types/tet:te-topology/" 6270 + "ex-topo:example-topology" { 6271 description 6272 "Augmentation parameters apply only for networks with 6273 example topology type."; 6274 } 6275 case "example" { 6276 container example { 6277 description "Attributes for example technology."; 6278 leaf bandwidth-1 { 6279 type uint32; 6280 description "Attribute 11 for example technology."; 6281 } 6282 } 6283 } 6284 description "Augment TE bandwidth."; 6285 } 6287 augment "/nw:networks/nw:network/nw:node/tet:te/" 6288 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 6289 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6290 when "../../../../../../../nw:network-types/tet:te-topology/" 6291 + "ex-topo:example-topology" { 6292 description 6293 "Augmentation parameters apply only for networks with 6294 example topology type."; 6295 } 6296 case "example" { 6297 container example { 6298 description "Attributes for example technology."; 6299 leaf bandwidth-1 { 6300 type uint32; 6301 description "Attribute 11 for example technology."; 6302 } 6303 } 6304 } 6305 description "Augment TE bandwidth."; 6306 } 6308 augment "/nw:networks/nw:network/nw:node/tet:te/" 6309 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 6310 + "tet:local-link-connectivity/" 6311 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6312 when "../../../../../../../../nw:network-types/tet:te-topology/" 6313 + "ex-topo:example-topology" { 6314 description 6315 "Augmentation parameters apply only for networks with 6316 example topology type."; 6317 } 6318 case "example" { 6319 container example { 6320 description "Attributes for example technology."; 6321 leaf bandwidth-1 { 6322 type uint32; 6323 description "Attribute 11 for example technology."; 6324 } 6325 } 6326 } 6327 description "Augment TE bandwidth."; 6328 } 6330 augment "/nw:networks/nw:network/nt:link/tet:te/" 6331 + "tet:te-link-attributes/" 6332 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 6333 + "tet:te-bandwidth/tet:technology" { 6334 when "../../../../../../../../nw:network-types/tet:te-topology/" 6335 + "ex-topo:example-topology" { 6336 description 6337 "Augmentation parameters apply only for networks with 6338 example topology type."; 6339 } 6340 case "example" { 6341 container example { 6342 description "Attributes for example technology."; 6343 leaf bandwidth-1 { 6344 type uint32; 6345 description "Attribute 11 for example technology."; 6346 } 6347 } 6348 } 6349 description "Augment TE bandwidth."; 6350 } 6352 augment "/nw:networks/nw:network/nt:link/tet:te/" 6353 + "tet:te-link-attributes/" 6354 + "tet:max-link-bandwidth/" 6355 + "tet:te-bandwidth/tet:technology" { 6356 when "../../../../../../nw:network-types/tet:te-topology/" 6357 + "ex-topo:example-topology" { 6358 description 6359 "Augmentation parameters apply only for networks with 6360 example topology type."; 6361 } 6362 case "example" { 6363 container example { 6364 description "Attributes for example technology."; 6365 leaf bandwidth-1 { 6366 type uint32; 6367 description "Attribute 11 for example technology."; 6368 } 6369 } 6370 } 6371 description "Augment TE bandwidth."; 6372 } 6374 augment "/nw:networks/nw:network/nt:link/tet:te/" 6375 + "tet:te-link-attributes/" 6376 + "tet:max-resv-link-bandwidth/" 6377 + "tet:te-bandwidth/tet:technology" { 6378 when "../../../../../../nw:network-types/tet:te-topology/" 6379 + "ex-topo:example-topology" { 6380 description 6381 "Augmentation parameters apply only for networks with 6382 example topology type."; 6384 } 6385 case "example" { 6386 container example { 6387 description "Attributes for example technology."; 6388 leaf bandwidth-1 { 6389 type uint32; 6390 description "Attribute 11 for example technology."; 6391 } 6392 } 6393 } 6394 description "Augment TE bandwidth."; 6395 } 6397 augment "/nw:networks/nw:network/nt:link/tet:te/" 6398 + "tet:information-source-entry/" 6399 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 6400 + "tet:te-bandwidth/tet:technology" { 6401 when "../../../../../../../../nw:network-types/tet:te-topology/" 6402 + "ex-topo:example-topology" { 6403 description 6404 "Augmentation parameters apply only for networks with 6405 example topology type."; 6406 } 6407 case "example" { 6408 container example { 6409 description "Attributes for example technology."; 6410 leaf bandwidth-1 { 6411 type uint32; 6412 description "Attribute 11 for example technology."; 6413 } 6414 } 6415 } 6416 description "Augment TE bandwidth."; 6417 } 6419 augment "/nw:networks/nw:network/nt:link/tet:te/" 6420 + "tet:information-source-entry/" 6421 + "tet:max-link-bandwidth/" 6422 + "tet:te-bandwidth/tet:technology" { 6423 when "../../../../../../nw:network-types/tet:te-topology/" 6424 + "ex-topo:example-topology" { 6426 description 6427 "Augmentation parameters apply only for networks with 6428 example topology type."; 6429 } 6430 case "example" { 6431 container example { 6432 description "Attributes for example technology."; 6433 leaf bandwidth-1 { 6434 type uint32; 6435 description "Attribute 11 for example technology."; 6436 } 6437 } 6438 } 6439 description "Augment TE bandwidth."; 6440 } 6442 augment "/nw:networks/nw:network/nt:link/tet:te/" 6443 + "tet:information-source-entry/" 6444 + "tet:max-resv-link-bandwidth/" 6445 + "tet:te-bandwidth/tet:technology" { 6446 when "../../../../../../nw:network-types/tet:te-topology/" 6447 + "ex-topo:example-topology" { 6448 description 6449 "Augmentation parameters apply only for networks with 6450 example topology type."; 6451 } 6452 case "example" { 6453 container example { 6454 description "Attributes for example technology."; 6455 leaf bandwidth-1 { 6456 type uint32; 6457 description "Attribute 11 for example technology."; 6458 } 6459 } 6460 } 6461 description "Augment TE bandwidth."; 6462 } 6464 augment "/nw:networks/nw:network/nt:link/tet:te/" 6465 + "tet:information-source-entry/" 6466 + "tet:unreserved-bandwidth/" 6467 + "tet:te-bandwidth/tet:technology" { 6468 when "../../../../../../../nw:network-types/tet:te-topology/" 6469 + "ex-topo:example-topology" { 6470 description 6471 "Augmentation parameters apply only for networks with 6472 example topology type."; 6473 } 6474 case "example" { 6475 container example { 6476 description "Attributes for example technology."; 6477 leaf bandwidth-1 { 6478 type uint32; 6479 description "Attribute 11 for example technology."; 6480 } 6481 } 6482 } 6483 description "Augment TE bandwidth."; 6484 } 6486 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 6487 + "tet:te/" 6488 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 6489 + "tet:te-bandwidth/tet:technology" { 6490 when "../../../../../../../../nw:network-types/tet:te-topology/" 6491 + "ex-topo:example-topology" { 6492 description 6493 "Augmentation parameters apply only for networks with 6494 example topology type."; 6495 } 6496 case "example" { 6497 container example { 6498 description "Attributes for example technology."; 6499 leaf bandwidth-1 { 6500 type uint32; 6501 description "Attribute 11 for example technology."; 6502 } 6503 } 6504 } 6505 description "Augment TE bandwidth."; 6506 } 6507 /* 6508 * Augment TE label. 6509 */ 6511 augment "/nw:networks/tet:te/tet:templates/" 6512 + "tet:link-template/tet:te-link-attributes/" 6513 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 6514 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6515 case "example" { 6516 container example { 6517 description "Attributes for example technology."; 6518 leaf label-1 { 6519 type uint32; 6520 description "Attribute 11 for example technology."; 6521 } 6522 } 6523 } 6524 description "Augment TE label."; 6525 } 6527 augment "/nw:networks/tet:te/tet:templates/" 6528 + "tet:link-template/tet:te-link-attributes/" 6529 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 6530 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6531 case "example" { 6532 container example { 6533 description "Attributes for example technology."; 6534 leaf label-1 { 6535 type uint32; 6536 description "Attribute 11 for example technology."; 6537 } 6538 } 6539 } 6540 description "Augment TE label."; 6541 } 6543 augment "/nw:networks/tet:te/tet:templates/" 6544 + "tet:link-template/tet:te-link-attributes/" 6545 + "tet:label-restriction/tet:label-start/tet:te-label/" 6546 + "tet:technology" { 6547 case "example" { 6548 container example { 6549 description "Attributes for example technology."; 6550 leaf label-1 { 6551 type uint32; 6552 description "Attribute 11 for example technology."; 6553 } 6554 } 6555 } 6556 description "Augment TE label."; 6557 } 6559 augment "/nw:networks/tet:te/tet:templates/" 6560 + "tet:link-template/tet:te-link-attributes/" 6561 + "tet:label-restriction/tet:label-end/tet:te-label/" 6562 + "tet:technology" { 6563 case "example" { 6564 container example { 6565 description "Attributes for example technology."; 6566 leaf label-1 { 6567 type uint32; 6568 description "Attribute 11 for example technology."; 6569 } 6570 } 6571 } 6572 description "Augment TE label."; 6573 } 6575 /* Under te-node-attributes/connectivity-matrices */ 6577 augment "/nw:networks/nw:network/nw:node/tet:te/" 6578 + "tet:te-node-attributes/tet:connectivity-matrices/" 6579 + "tet:label-restriction/tet:label-start/tet:te-label/" 6580 + "tet:technology" { 6581 when "../../../../../../../../nw:network-types/tet:te-topology/" 6582 + "ex-topo:example-topology" { 6583 description 6584 "Augmentation parameters apply only for networks with 6585 example topology type."; 6586 } 6587 case "example" { 6588 container example { 6589 description "Attributes for example technology."; 6590 leaf label-1 { 6591 type uint32; 6592 description "Attribute 11 for example technology."; 6593 } 6594 } 6595 } 6596 description "Augment TE label."; 6597 } 6599 augment "/nw:networks/nw:network/nw:node/tet:te/" 6600 + "tet:te-node-attributes/tet:connectivity-matrices/" 6601 + "tet:label-restriction/tet:label-end/tet:te-label/" 6602 + "tet:technology" { 6603 when "../../../../../../../../nw:network-types/tet:te-topology/" 6604 + "ex-topo:example-topology" { 6605 description 6606 "Augmentation parameters apply only for networks with 6607 example topology type."; 6608 } 6609 case "example" { 6610 container example { 6611 description "Attributes for example technology."; 6612 leaf label-1 { 6613 type uint32; 6614 description "Attribute 11 for example technology."; 6615 } 6616 } 6617 } 6618 description "Augment TE label."; 6619 } 6621 augment "/nw:networks/nw:network/nw:node/tet:te/" 6622 + "tet:te-node-attributes/tet:connectivity-matrices/" 6623 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 6624 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6625 when "../../../../../../../../../../../../nw:network-types/" 6626 + "tet:te-topology/ex-topo:example-topology" { 6627 description 6628 "Augmentation parameters apply only for networks with 6629 example topology type."; 6631 } 6632 case "example" { 6633 container example { 6634 description "Attributes for example technology."; 6635 leaf label-1 { 6636 type uint32; 6637 description "Attribute 11 for example technology."; 6638 } 6639 } 6640 } 6641 description "Augment TE label."; 6642 } 6644 augment "/nw:networks/nw:network/nw:node/tet:te/" 6645 + "tet:te-node-attributes/tet:connectivity-matrices/" 6646 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 6647 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6648 when "../../../../../../../../../../../../nw:network-types/" 6649 + "tet:te-topology/ex-topo:example-topology" { 6650 description 6651 "Augmentation parameters apply only for networks with 6652 example topology type."; 6653 } 6654 case "example" { 6655 container example { 6656 description "Attributes for example technology."; 6657 leaf label-1 { 6658 type uint32; 6659 description "Attribute 11 for example technology."; 6660 } 6661 } 6662 } 6663 description "Augment TE label."; 6664 } 6666 augment "/nw:networks/nw:network/nw:node/tet:te/" 6667 + "tet:te-node-attributes/tet:connectivity-matrices/" 6668 + "tet:computed-path-properties/tet:path-computed-route-objects/" 6669 + "tet:path-computed-route-object/tet:type/" 6670 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6671 when "../../../../../../../../../../../../nw:network-types/" 6672 + "tet:te-topology/ex-topo:example-topology" { 6673 description 6674 "Augmentation parameters apply only for networks with 6675 example topology type."; 6676 } 6677 case "example" { 6678 container example { 6679 description "Attributes for example technology."; 6680 leaf label-1 { 6681 type uint32; 6682 description "Attribute 11 for example technology."; 6683 } 6684 } 6685 } 6686 description "Augment TE label."; 6687 } 6689 /* Under te-node-attributes/.../connectivity-matrix */ 6691 augment "/nw:networks/nw:network/nw:node/tet:te/" 6692 + "tet:te-node-attributes/tet:connectivity-matrices/" 6693 + "tet:connectivity-matrix/tet:from/" 6694 + "tet:label-restriction/tet:label-start/tet:te-label/" 6695 + "tet:technology" { 6696 when "../../../../../../../../../../nw:network-types/" 6697 + "tet:te-topology/ex-topo:example-topology" { 6698 description 6699 "Augmentation parameters apply only for networks with 6700 example topology type."; 6701 } 6702 case "example" { 6703 container example { 6704 description "Attributes for example technology."; 6705 leaf label-1 { 6706 type uint32; 6707 description "Attribute 11 for example technology."; 6708 } 6709 } 6710 } 6711 description "Augment TE label."; 6712 } 6713 augment "/nw:networks/nw:network/nw:node/tet:te/" 6714 + "tet:te-node-attributes/tet:connectivity-matrices/" 6715 + "tet:connectivity-matrix/tet:from/" 6716 + "tet:label-restriction/tet:label-end/tet:te-label/" 6717 + "tet:technology" { 6718 when "../../../../../../../../../../nw:network-types/" 6719 + "tet:te-topology/ex-topo:example-topology" { 6720 description 6721 "Augmentation parameters apply only for networks with 6722 example topology type."; 6723 } 6724 case "example" { 6725 container example { 6726 description "Attributes for example technology."; 6727 leaf label-1 { 6728 type uint32; 6729 description "Attribute 11 for example technology."; 6730 } 6731 } 6732 } 6733 description "Augment TE label."; 6734 } 6736 augment "/nw:networks/nw:network/nw:node/tet:te/" 6737 + "tet:te-node-attributes/tet:connectivity-matrices/" 6738 + "tet:connectivity-matrix/tet:to/" 6739 + "tet:label-restriction/tet:label-start/tet:te-label/" 6740 + "tet:technology" { 6741 when "../../../../../../../../../../nw:network-types/" 6742 + "tet:te-topology/ex-topo:example-topology" { 6743 description 6744 "Augmentation parameters apply only for networks with 6745 example topology type."; 6746 } 6747 case "example" { 6748 container example { 6749 description "Attributes for example technology."; 6750 leaf label-1 { 6751 type uint32; 6752 description "Attribute 11 for example technology."; 6754 } 6755 } 6756 } 6757 description "Augment TE label."; 6758 } 6760 augment "/nw:networks/nw:network/nw:node/tet:te/" 6761 + "tet:te-node-attributes/tet:connectivity-matrices/" 6762 + "tet:connectivity-matrix/tet:to/" 6763 + "tet:label-restriction/tet:label-end/tet:te-label/" 6764 + "tet:technology" { 6765 when "../../../../../../../../../../nw:network-types/" 6766 + "tet:te-topology/ex-topo:example-topology" { 6767 description 6768 "Augmentation parameters apply only for networks with 6769 example topology type."; 6770 } 6771 case "example" { 6772 container example { 6773 description "Attributes for example technology."; 6774 leaf label-1 { 6775 type uint32; 6776 description "Attribute 11 for example technology."; 6777 } 6778 } 6779 } 6780 description "Augment TE label."; 6781 } 6783 augment "/nw:networks/nw:network/nw:node/tet:te/" 6784 + "tet:te-node-attributes/tet:connectivity-matrices/" 6785 + "tet:connectivity-matrix/" 6786 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 6787 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6788 when "../../../../../../../../../../../../../nw:network-types/" 6789 + "tet:te-topology/ex-topo:example-topology" { 6790 description 6791 "Augmentation parameters apply only for networks with 6792 example topology type."; 6793 } 6794 case "example" { 6795 container example { 6796 description "Attributes for example technology."; 6797 leaf label-1 { 6798 type uint32; 6799 description "Attribute 11 for example technology."; 6800 } 6801 } 6802 } 6803 description "Augment TE label."; 6804 } 6806 augment "/nw:networks/nw:network/nw:node/tet:te/" 6807 + "tet:te-node-attributes/tet:connectivity-matrices/" 6808 + "tet:connectivity-matrix/" 6809 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 6810 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6811 when "../../../../../../../../../../../../nw:network-types/" 6812 + "tet:te-topology/ex-topo:example-topology" { 6813 description 6814 "Augmentation parameters apply only for networks with 6815 example topology type."; 6816 } 6817 case "example" { 6818 container example { 6819 description "Attributes for example technology."; 6820 leaf label-1 { 6821 type uint32; 6822 description "Attribute 11 for example technology."; 6823 } 6824 } 6825 } 6826 description "Augment TE label."; 6827 } 6829 augment "/nw:networks/nw:network/nw:node/tet:te/" 6830 + "tet:te-node-attributes/tet:connectivity-matrices/" 6831 + "tet:connectivity-matrix/" 6832 + "tet:computed-path-properties/tet:path-computed-route-objects/" 6833 + "tet:path-computed-route-object/tet:type/" 6834 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6835 when "../../../../../../../../../../../../../nw:network-types/" 6836 + "tet:te-topology/ex-topo:example-topology" { 6837 description 6838 "Augmentation parameters apply only for networks with 6839 example topology type."; 6840 } 6841 case "example" { 6842 container example { 6843 description "Attributes for example technology."; 6844 leaf label-1 { 6845 type uint32; 6846 description "Attribute 11 for example technology."; 6847 } 6848 } 6849 } 6850 description "Augment TE label."; 6851 } 6853 /* Under information-source-entry/connectivity-matrices */ 6855 augment "/nw:networks/nw:network/nw:node/tet:te/" 6856 + "tet:information-source-entry/tet:connectivity-matrices/" 6857 + "tet:label-restriction/tet:label-start/tet:te-label/" 6858 + "tet:technology" { 6859 when "../../../../../../../../nw:network-types/tet:te-topology/" 6860 + "ex-topo:example-topology" { 6861 description 6862 "Augmentation parameters apply only for networks with 6863 example topology type."; 6864 } 6865 case "example" { 6866 container example { 6867 description "Attributes for example technology."; 6868 leaf label-1 { 6869 type uint32; 6870 description "Attribute 11 for example technology."; 6871 } 6872 } 6873 } 6874 description "Augment TE label."; 6875 } 6876 augment "/nw:networks/nw:network/nw:node/tet:te/" 6877 + "tet:information-source-entry/tet:connectivity-matrices/" 6878 + "tet:label-restriction/tet:label-end/tet:te-label/" 6879 + "tet:technology" { 6880 when "../../../../../../../../nw:network-types/tet:te-topology/" 6881 + "ex-topo:example-topology" { 6882 description 6883 "Augmentation parameters apply only for networks with 6884 example topology type."; 6885 } 6886 case "example" { 6887 container example { 6888 description "Attributes for example technology."; 6889 leaf label-1 { 6890 type uint32; 6891 description "Attribute 11 for example technology."; 6892 } 6893 } 6894 } 6895 description "Augment TE label."; 6896 } 6898 augment "/nw:networks/nw:network/nw:node/tet:te/" 6899 + "tet:information-source-entry/tet:connectivity-matrices/" 6900 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 6901 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6902 when "../../../../../../../../../../../../nw:network-types/" 6903 + "tet:te-topology/ex-topo:example-topology" { 6904 description 6905 "Augmentation parameters apply only for networks with 6906 example topology type."; 6907 } 6908 case "example" { 6909 container example { 6910 description "Attributes for example technology."; 6911 leaf label-1 { 6912 type uint32; 6913 description "Attribute 11 for example technology."; 6914 } 6915 } 6916 } 6917 description "Augment TE label."; 6918 } 6920 augment "/nw:networks/nw:network/nw:node/tet:te/" 6921 + "tet:information-source-entry/tet:connectivity-matrices/" 6922 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 6923 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6924 when "../../../../../../../../../../../../nw:network-types/" 6925 + "tet:te-topology/ex-topo:example-topology" { 6926 description 6927 "Augmentation parameters apply only for networks with 6928 example topology type."; 6929 } 6930 case "example" { 6931 container example { 6932 description "Attributes for example technology."; 6933 leaf label-1 { 6934 type uint32; 6935 description "Attribute 11 for example technology."; 6936 } 6937 } 6938 } 6939 description "Augment TE label."; 6940 } 6942 augment "/nw:networks/nw:network/nw:node/tet:te/" 6943 + "tet:information-source-entry/tet:connectivity-matrices/" 6944 + "tet:computed-path-properties/tet:path-computed-route-objects/" 6945 + "tet:path-computed-route-object/tet:type/" 6946 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6947 when "../../../../../../../../../../../../nw:network-types/" 6948 + "tet:te-topology/ex-topo:example-topology" { 6949 description 6950 "Augmentation parameters apply only for networks with 6951 example topology type."; 6952 } 6953 case "example" { 6954 container example { 6955 description "Attributes for example technology."; 6956 leaf label-1 { 6957 type uint32; 6958 description "Attribute 11 for example technology."; 6959 } 6960 } 6961 } 6962 description "Augment TE label."; 6963 } 6965 /* Under information-source-entry/.../connectivity-matrix */ 6967 augment "/nw:networks/nw:network/nw:node/tet:te/" 6968 + "tet:information-source-entry/tet:connectivity-matrices/" 6969 + "tet:connectivity-matrix/tet:from/" 6970 + "tet:label-restriction/tet:label-start/tet:te-label/" 6971 + "tet:technology" { 6972 when "../../../../../../../../../../nw:network-types/" 6973 + "tet:te-topology/ex-topo:example-topology" { 6974 description 6975 "Augmentation parameters apply only for networks with 6976 example topology type."; 6977 } 6978 case "example" { 6979 container example { 6980 description "Attributes for example technology."; 6981 leaf label-1 { 6982 type uint32; 6983 description "Attribute 11 for example technology."; 6984 } 6985 } 6986 } 6987 description "Augment TE label."; 6988 } 6990 augment "/nw:networks/nw:network/nw:node/tet:te/" 6991 + "tet:information-source-entry/tet:connectivity-matrices/" 6992 + "tet:connectivity-matrix/tet:from/" 6993 + "tet:label-restriction/tet:label-end/tet:te-label/" 6994 + "tet:technology" { 6995 when "../../../../../../../../../../nw:network-types/" 6996 + "tet:te-topology/ex-topo:example-topology" { 6997 description 6998 "Augmentation parameters apply only for networks with 6999 example topology type."; 7000 } 7001 case "example" { 7002 container example { 7003 description "Attributes for example technology."; 7004 leaf label-1 { 7005 type uint32; 7006 description "Attribute 11 for example technology."; 7007 } 7008 } 7009 } 7010 description "Augment TE label."; 7011 } 7013 augment "/nw:networks/nw:network/nw:node/tet:te/" 7014 + "tet:information-source-entry/tet:connectivity-matrices/" 7015 + "tet:connectivity-matrix/tet:to/" 7016 + "tet:label-restriction/tet:label-start/tet:te-label/" 7017 + "tet:technology" { 7018 when "../../../../../../../../../../nw:network-types/" 7019 + "tet:te-topology/ex-topo:example-topology" { 7020 description 7021 "Augmentation parameters apply only for networks with 7022 example topology type."; 7023 } 7024 case "example" { 7025 container example { 7026 description "Attributes for example technology."; 7027 leaf label-1 { 7028 type uint32; 7029 description "Attribute 11 for example technology."; 7030 } 7031 } 7032 } 7033 description "Augment TE label."; 7034 } 7036 augment "/nw:networks/nw:network/nw:node/tet:te/" 7037 + "tet:information-source-entry/tet:connectivity-matrices/" 7038 + "tet:connectivity-matrix/tet:to/" 7039 + "tet:label-restriction/tet:label-end/tet:te-label/" 7040 + "tet:technology" { 7041 when "../../../../../../../../../../nw:network-types/" 7042 + "tet:te-topology/ex-topo:example-topology" { 7043 description 7044 "Augmentation parameters apply only for networks with 7045 example topology type."; 7046 } 7047 case "example" { 7048 container example { 7049 description "Attributes for example technology."; 7050 leaf label-1 { 7051 type uint32; 7052 description "Attribute 11 for example technology."; 7053 } 7054 } 7055 } 7056 description "Augment TE label."; 7057 } 7059 augment "/nw:networks/nw:network/nw:node/tet:te/" 7060 + "tet:information-source-entry/tet:connectivity-matrices/" 7061 + "tet:connectivity-matrix/" 7062 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7063 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7064 when "../../../../../../../../../../../../../nw:network-types/" 7065 + "tet:te-topology/ex-topo:example-topology" { 7066 description 7067 "Augmentation parameters apply only for networks with 7068 example topology type."; 7069 } 7070 case "example" { 7071 container example { 7072 description "Attributes for example technology."; 7073 leaf label-1 { 7074 type uint32; 7075 description "Attribute 11 for example technology."; 7076 } 7077 } 7078 } 7079 description "Augment TE label."; 7080 } 7081 augment "/nw:networks/nw:network/nw:node/tet:te/" 7082 + "tet:information-source-entry/tet:connectivity-matrices/" 7083 + "tet:connectivity-matrix/" 7084 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7085 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7086 when "../../../../../../../../../../../../nw:network-types/" 7087 + "tet:te-topology/ex-topo:example-topology" { 7088 description 7089 "Augmentation parameters apply only for networks with 7090 example topology type."; 7091 } 7092 case "example" { 7093 container example { 7094 description "Attributes for example technology."; 7095 leaf label-1 { 7096 type uint32; 7097 description "Attribute 11 for example technology."; 7098 } 7099 } 7100 } 7101 description "Augment TE label."; 7102 } 7104 augment "/nw:networks/nw:network/nw:node/tet:te/" 7105 + "tet:information-source-entry/tet:connectivity-matrices/" 7106 + "tet:connectivity-matrix/" 7107 + "tet:computed-path-properties/tet:path-computed-route-objects/" 7108 + "tet:path-computed-route-object/tet:type/" 7109 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7110 when "../../../../../../../../../../../../../nw:network-types/" 7111 + "tet:te-topology/ex-topo:example-topology" { 7112 description 7113 "Augmentation parameters apply only for networks with 7114 example topology type."; 7115 } 7116 case "example" { 7117 container example { 7118 description "Attributes for example technology."; 7119 leaf label-1 { 7120 type uint32; 7121 description "Attribute 11 for example technology."; 7122 } 7123 } 7124 } 7125 description "Augment TE label."; 7126 } 7128 /* Under tunnel-termination-point/local-link-connectivities */ 7130 augment "/nw:networks/nw:network/nw:node/tet:te/" 7131 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7132 + "tet:label-restriction/tet:label-start/tet:te-label/" 7133 + "tet:technology" { 7134 when "../../../../../../../../nw:network-types/tet:te-topology/" 7135 + "ex-topo:example-topology" { 7136 description 7137 "Augmentation parameters apply only for networks with 7138 example topology type."; 7139 } 7140 case "example" { 7141 container example { 7142 description "Attributes for example technology."; 7143 leaf label-1 { 7144 type uint32; 7145 description "Attribute 11 for example technology."; 7146 } 7147 } 7148 } 7149 description "Augment TE label."; 7150 } 7152 augment "/nw:networks/nw:network/nw:node/tet:te/" 7153 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7154 + "tet:label-restriction/tet:label-end/tet:te-label/" 7155 + "tet:technology" { 7156 when "../../../../../../../../nw:network-types/tet:te-topology/" 7157 + "ex-topo:example-topology" { 7158 description 7159 "Augmentation parameters apply only for networks with 7160 example topology type."; 7161 } 7162 case "example" { 7163 container example { 7164 description "Attributes for example technology."; 7165 leaf label-1 { 7166 type uint32; 7167 description "Attribute 11 for example technology."; 7168 } 7169 } 7170 } 7171 description "Augment TE label."; 7172 } 7174 augment "/nw:networks/nw:network/nw:node/tet:te/" 7175 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7176 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7177 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7178 when "../../../../../../../../../../../../nw:network-types/" 7179 + "tet:te-topology/ex-topo:example-topology" { 7180 description 7181 "Augmentation parameters apply only for networks with 7182 example topology type."; 7183 } 7184 case "example" { 7185 container example { 7186 description "Attributes for example technology."; 7187 leaf label-1 { 7188 type uint32; 7189 description "Attribute 11 for example technology."; 7190 } 7191 } 7192 } 7193 description "Augment TE label."; 7194 } 7196 augment "/nw:networks/nw:network/nw:node/tet:te/" 7197 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7198 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7199 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7200 when "../../../../../../../../../../../../nw:network-types/" 7201 + "tet:te-topology/ex-topo:example-topology" { 7202 description 7203 "Augmentation parameters apply only for networks with 7204 example topology type."; 7205 } 7206 case "example" { 7207 container example { 7208 description "Attributes for example technology."; 7209 leaf label-1 { 7210 type uint32; 7211 description "Attribute 11 for example technology."; 7212 } 7213 } 7214 } 7215 description "Augment TE label."; 7216 } 7218 augment "/nw:networks/nw:network/nw:node/tet:te/" 7219 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7220 + "tet:computed-path-properties/tet:path-computed-route-objects/" 7221 + "tet:path-computed-route-object/tet:type/" 7222 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7223 when "../../../../../../../../../../../../nw:network-types/" 7224 + "tet:te-topology/ex-topo:example-topology" { 7225 description 7226 "Augmentation parameters apply only for networks with 7227 example topology type."; 7228 } 7229 case "example" { 7230 container example { 7231 description "Attributes for example technology."; 7232 leaf label-1 { 7233 type uint32; 7234 description "Attribute 11 for example technology."; 7235 } 7236 } 7237 } 7238 description "Augment TE label."; 7239 } 7241 /* Under tunnel-termination-point/.../local-link-connectivity */ 7243 augment "/nw:networks/nw:network/nw:node/tet:te/" 7244 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7245 + "tet:local-link-connectivity/" 7246 + "tet:label-restriction/tet:label-start/tet:te-label/" 7247 + "tet:technology" { 7248 when "../../../../../../../../../nw:network-types/" 7249 + "tet:te-topology/ex-topo:example-topology" { 7250 description 7251 "Augmentation parameters apply only for networks with 7252 example topology type."; 7253 } 7254 case "example" { 7255 container example { 7256 description "Attributes for example technology."; 7257 leaf label-1 { 7258 type uint32; 7259 description "Attribute 11 for example technology."; 7260 } 7261 } 7262 } 7263 description "Augment TE label."; 7264 } 7266 augment "/nw:networks/nw:network/nw:node/tet:te/" 7267 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7268 + "tet:local-link-connectivity/" 7269 + "tet:label-restriction/tet:label-end/tet:te-label/" 7270 + "tet:technology" { 7271 when "../../../../../../../../../nw:network-types/" 7272 + "tet:te-topology/ex-topo:example-topology" { 7273 description 7274 "Augmentation parameters apply only for networks with 7275 example topology type."; 7276 } 7277 case "example" { 7278 container example { 7279 description "Attributes for example technology."; 7280 leaf label-1 { 7281 type uint32; 7282 description "Attribute 11 for example technology."; 7283 } 7284 } 7286 } 7287 description "Augment TE label."; 7288 } 7290 augment "/nw:networks/nw:network/nw:node/tet:te/" 7291 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7292 + "tet:local-link-connectivity/" 7293 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7294 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7295 when "../../../../../../../../../../../../../nw:network-types/" 7296 + "tet:te-topology/ex-topo:example-topology" { 7297 description 7298 "Augmentation parameters apply only for networks with 7299 example topology type."; 7300 } 7301 case "example" { 7302 container example { 7303 description "Attributes for example technology."; 7304 leaf label-1 { 7305 type uint32; 7306 description "Attribute 11 for example technology."; 7307 } 7308 } 7309 } 7310 description "Augment TE label."; 7311 } 7313 augment "/nw:networks/nw:network/nw:node/tet:te/" 7314 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7315 + "tet:local-link-connectivity/" 7316 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7317 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7318 when "../../../../../../../../../../../../nw:network-types/" 7319 + "tet:te-topology/ex-topo:example-topology" { 7320 description 7321 "Augmentation parameters apply only for networks with 7322 example topology type."; 7323 } 7324 case "example" { 7325 container example { 7326 description "Attributes for example technology."; 7327 leaf label-1 { 7328 type uint32; 7329 description "Attribute 11 for example technology."; 7330 } 7331 } 7332 } 7333 description "Augment TE label."; 7334 } 7336 augment "/nw:networks/nw:network/nw:node/tet:te/" 7337 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7338 + "tet:local-link-connectivity/" 7339 + "tet:computed-path-properties/tet:path-computed-route-objects/" 7340 + "tet:path-computed-route-object/tet:type/" 7341 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7342 when "../../../../../../../../../../../../../nw:network-types/" 7343 + "tet:te-topology/ex-topo:example-topology" { 7344 description 7345 "Augmentation parameters apply only for networks with 7346 example topology type."; 7347 } 7348 case "example" { 7349 container example { 7350 description "Attributes for example technology."; 7351 leaf label-1 { 7352 type uint32; 7353 description "Attribute 11 for example technology."; 7354 } 7355 } 7356 } 7357 description "Augment TE label."; 7358 } 7360 /* Under te-link-attributes */ 7362 augment "/nw:networks/nw:network/nt:link/tet:te/" 7363 + "tet:te-link-attributes/" 7364 + "tet:label-restriction/tet:label-start/tet:te-label/" 7365 + "tet:technology" { 7366 when "../../../../../../../nw:network-types/" 7367 + "tet:te-topology/ex-topo:example-topology" { 7368 description 7369 "Augmentation parameters apply only for networks with 7370 example topology type."; 7371 } 7372 case "example" { 7373 container example { 7374 description "Attributes for example technology."; 7375 leaf label-1 { 7376 type uint32; 7377 description "Attribute 11 for example technology."; 7378 } 7379 } 7380 } 7381 description "Augment TE label."; 7382 } 7384 augment "/nw:networks/nw:network/nt:link/tet:te/" 7385 + "tet:te-link-attributes/" 7386 + "tet:label-restriction/tet:label-end/tet:te-label/" 7387 + "tet:technology" { 7388 when "../../../../../../../nw:network-types/" 7389 + "tet:te-topology/ex-topo:example-topology" { 7390 description 7391 "Augmentation parameters apply only for networks with 7392 example topology type."; 7393 } 7394 case "example" { 7395 container example { 7396 description "Attributes for example technology."; 7397 leaf label-1 { 7398 type uint32; 7399 description "Attribute 11 for example technology."; 7400 } 7401 } 7402 } 7403 description "Augment TE label."; 7404 } 7406 augment "/nw:networks/nw:network/nt:link/tet:te/" 7407 + "tet:te-link-attributes/" 7408 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7409 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7410 when "../../../../../../../../../../../nw:network-types/" 7411 + "tet:te-topology/ex-topo:example-topology" { 7412 description 7413 "Augmentation parameters apply only for networks with 7414 example topology type."; 7415 } 7416 case "example" { 7417 container example { 7418 description "Attributes for example technology."; 7419 leaf label-1 { 7420 type uint32; 7421 description "Attribute 11 for example technology."; 7422 } 7423 } 7424 } 7425 description "Augment TE label."; 7426 } 7428 augment "/nw:networks/nw:network/nt:link/tet:te/" 7429 + "tet:te-link-attributes/" 7430 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7431 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7432 when "../../../../../../../../../../nw:network-types/" 7433 + "tet:te-topology/ex-topo:example-topology" { 7434 description 7435 "Augmentation parameters apply only for networks with 7436 example topology type."; 7437 } 7438 case "example" { 7439 container example { 7440 description "Attributes for example technology."; 7441 leaf label-1 { 7442 type uint32; 7443 description "Attribute 11 for example technology."; 7444 } 7445 } 7446 } 7447 description "Augment TE label."; 7448 } 7449 /* Under te-link information-source-entry */ 7451 augment "/nw:networks/nw:network/nt:link/tet:te/" 7452 + "tet:information-source-entry/" 7453 + "tet:label-restriction/tet:label-start/tet:te-label/" 7454 + "tet:technology" { 7455 when "../../../../../../../nw:network-types/" 7456 + "tet:te-topology/ex-topo:example-topology" { 7457 description 7458 "Augmentation parameters apply only for networks with 7459 example topology type."; 7460 } 7461 case "example" { 7462 container example { 7463 description "Attributes for example technology."; 7464 leaf label-1 { 7465 type uint32; 7466 description "Attribute 11 for example technology."; 7467 } 7468 } 7469 } 7470 description "Augment TE label."; 7471 } 7473 augment "/nw:networks/nw:network/nt:link/tet:te/" 7474 + "tet:information-source-entry/" 7475 + "tet:label-restriction/tet:label-end/tet:te-label/" 7476 + "tet:technology" { 7477 when "../../../../../../../nw:network-types/" 7478 + "tet:te-topology/ex-topo:example-topology" { 7479 description 7480 "Augmentation parameters apply only for networks with 7481 example topology type."; 7482 } 7483 case "example" { 7484 container example { 7485 description "Attributes for example technology."; 7486 leaf label-1 { 7487 type uint32; 7488 description "Attribute 11 for example technology."; 7489 } 7491 } 7492 } 7493 description "Augment TE label."; 7494 } 7495 } 7497 Contributors 7499 Sergio Belotti 7500 Nokia 7501 Email: sergio.belotti@nokia.com 7503 Dieter Beller 7504 Nokia 7505 Email: Dieter.Beller@nokia.com 7507 Carlo Perocchio 7508 Ericsson 7509 Email: carlo.perocchio@ericsson.com 7511 Italo Busi 7512 Huawei Technologies 7513 Email: Italo.Busi@huawei.com 7515 Authors' Addresses 7517 Xufeng Liu 7518 Jabil 7519 Email: Xufeng_Liu@jabil.com 7521 Igor Bryskin 7522 Huawei Technologies 7523 Email: Igor.Bryskin@huawei.com 7525 Vishnu Pavan Beeram 7526 Juniper Networks 7527 Email: vbeeram@juniper.net 7529 Tarek Saad 7530 Cisco Systems Inc 7531 Email: tsaad@cisco.com 7533 Himanshu Shah 7534 Ciena 7535 Email: hshah@ciena.com 7536 Oscar Gonzalez De Dios 7537 Telefonica 7538 Email: oscar.gonzalezdedios@telefonica.com