idnits 2.17.00 (12 Aug 2021) /tmp/idnits31510/draft-ietf-teas-yang-te-topo-15.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 2875 has weird spacing: '...tes for te-li...' == Line 3937 has weird spacing: '...ment-id uin...' == (59 more instances...) -- The document date (February 22, 2018) is 1549 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: draft-ietf-i2rs-yang-network-topo has been published as RFC 8345 == Outdated reference: draft-ietf-netconf-yang-push has been published as RFC 8641 == Outdated reference: draft-ietf-netconf-subscribed-notifications has been published as RFC 8639 == Outdated reference: draft-ietf-netmod-revised-datastores has been published as RFC 8342 == Outdated reference: draft-ietf-netmod-yang-tree-diagrams has been published as RFC 8340 == Outdated reference: draft-ietf-ccamp-wson-yang has been published as RFC 9094 == Outdated reference: A later version (-14) exists of draft-ietf-ccamp-otn-topo-yang-01 Summary: 1 error (**), 0 flaws (~~), 28 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 22, 2018 February 22, 2018 16 YANG Data Model for Traffic Engineering (TE) Topologies 17 draft-ietf-teas-yang-te-topo-15 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 22, 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-21.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-21" { 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 description 2205 "The time on the most recent occasion at which any one or 2206 more of this interface's counters suffered a 2207 discontinuity. If no such discontinuities have occurred 2208 since the last re-initialization of the local management 2209 subsystem, then this node contains the time the local 2210 management subsystem re-initialized itself."; 2211 } 2212 /* Administrative attributes */ 2213 leaf disables { 2214 type yang:counter32; 2215 description 2216 "Number of times that link was disabled."; 2217 } 2218 leaf enables { 2219 type yang:counter32; 2220 description 2221 "Number of times that link was enabled."; 2222 } 2223 leaf maintenance-clears { 2224 type yang:counter32; 2225 description 2226 "Number of times that link was put out of maintenance."; 2227 } 2228 leaf maintenance-sets { 2229 type yang:counter32; 2230 description 2231 "Number of times that link was put in maintenance."; 2232 } 2233 leaf modifies { 2234 type yang:counter32; 2235 description 2236 "Number of times that link was modified."; 2237 } 2238 /* Operational attributes */ 2239 leaf downs { 2240 type yang:counter32; 2241 description 2242 "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."; 2284 } 2285 leaf restoration-successes { 2286 type yang:counter32; 2287 description 2288 "Number of times that link experienced restoration 2289 success."; 2290 } 2291 leaf restoration-reversion-failures { 2292 type yang:counter32; 2293 description 2294 "Number of times that link experienced restoration reversion 2295 failure."; 2296 } 2297 leaf restoration-reversion-starts { 2298 type yang:counter32; 2299 description 2300 "Number of times that link experienced restoration reversion 2301 start."; 2302 } 2303 leaf restoration-reversion-successes { 2304 type yang:counter32; 2305 description 2306 "Number of times that link experienced restoration reversion 2307 success."; 2308 } 2309 } // statistics-per-link 2311 grouping statistics-per-node { 2312 description 2313 "Statistics attributes per TE node."; 2314 leaf discontinuity-time { 2315 type yang:date-and-time; 2316 description 2317 "The time on the most recent occasion at which any one or 2318 more of this interface's counters suffered a 2319 discontinuity. If no such discontinuities have occurred 2320 since the last re-initialization of the local management 2321 subsystem, then this node contains the time the local 2322 management subsystem re-initialized itself."; 2323 } 2324 container node { 2325 description 2326 "Containing TE node level statistics attributes."; 2327 leaf disables { 2328 type yang:counter32; 2329 description 2330 "Number of times that node was disabled."; 2331 } 2332 leaf enables { 2333 type yang:counter32; 2334 description 2335 "Number of times that node was enabled."; 2336 } 2337 leaf maintenance-sets { 2338 type yang:counter32; 2339 description 2340 "Number of times that node was put in maintenance."; 2341 } 2342 leaf maintenance-clears { 2343 type yang:counter32; 2344 description 2345 "Number of times that node was put out of maintenance."; 2346 } 2347 leaf modifies { 2348 type yang:counter32; 2349 description 2350 "Number of times that node was modified."; 2351 } 2352 } // node 2353 container connectivity-matrix-entry { 2354 description 2355 "Containing connectivity matrix entry level statistics 2356 attributes."; 2357 leaf creates { 2358 type yang:counter32; 2359 description 2360 "Number of times that a connectivity matrix entry was 2361 created."; 2362 reference 2363 "RFC6241. Section 7.2 for 'create' operation. "; 2364 } 2365 leaf deletes { 2366 type yang:counter32; 2367 description 2368 "Number of times that a connectivity matrix entry was 2369 deleted."; 2370 reference 2371 "RFC6241. Section 7.2 for 'delete' operation. "; 2372 } 2373 leaf disables { 2374 type yang:counter32; 2375 description 2376 "Number of times that a connectivity matrix entry was 2377 disabled."; 2378 } 2379 leaf enables { 2380 type yang:counter32; 2381 description 2382 "Number of times that a connectivity matrix entry was 2383 enabled."; 2384 } 2385 leaf modifies { 2386 type yang:counter32; 2387 description 2388 "Number of times that a connectivity matrix entry was 2389 modified."; 2390 } 2391 } // connectivity-matrix-entry 2392 } // statistics-per-node 2394 grouping statistics-per-ttp { 2395 description 2396 "Statistics attributes per TE TTP (Tunnel Termination Point)."; 2397 leaf discontinuity-time { 2398 type yang:date-and-time; 2399 description 2400 "The time on the most recent occasion at which any one or 2401 more of this interface's counters suffered a 2402 discontinuity. If no such discontinuities have occurred 2403 since the last re-initialization of the local management 2404 subsystem, then this node contains the time the local 2405 management subsystem re-initialized itself."; 2406 } 2407 container tunnel-termination-point { 2408 description 2409 "Containing TE TTP (Tunnel Termination Point) level 2410 statistics attributes."; 2411 /* Administrative attributes */ 2412 leaf disables { 2413 type yang:counter32; 2414 description 2415 "Number of times that TTP was disabled."; 2416 } 2417 leaf enables { 2418 type yang:counter32; 2419 description 2420 "Number of times that TTP was enabled."; 2421 } 2422 leaf maintenance-clears { 2423 type yang:counter32; 2424 description 2425 "Number of times that TTP was put out of maintenance."; 2426 } 2427 leaf maintenance-sets { 2428 type yang:counter32; 2429 description 2430 "Number of times that TTP was put in maintenance."; 2431 } 2432 leaf modifies { 2433 type yang:counter32; 2434 description 2435 "Number of times that TTP was modified."; 2436 } 2437 /* Operational attributes */ 2438 leaf downs { 2439 type yang:counter32; 2440 description 2441 "Number of times that TTP was set to operational down."; 2442 } 2443 leaf ups { 2444 type yang:counter32; 2445 description 2446 "Number of times that TTP was set to operational up."; 2447 } 2448 leaf in-service-clears { 2449 type yang:counter32; 2450 description 2451 "Number of times that TTP was taken out of service 2452 (TE tunnel was released)."; 2453 } 2454 leaf in-service-sets { 2455 type yang:counter32; 2456 description 2457 "Number of times that TTP was put in service by a TE 2458 tunnel (TE tunnel was set up)."; 2459 } 2460 } // tunnel-termination-point 2462 container local-link-connectivity { 2463 description 2464 "Containing TE LLCL (Local Link Connectivity List) level 2465 statistics attributes."; 2466 leaf creates { 2467 type yang:counter32; 2468 description 2469 "Number of times that an LLCL entry was created."; 2470 reference 2471 "RFC6241. Section 7.2 for 'create' operation. "; 2472 } 2473 leaf deletes { 2474 type yang:counter32; 2475 description 2476 "Number of times that an LLCL entry was deleted."; 2477 reference 2478 "RFC6241. Section 7.2 for 'delete' operation."; 2479 } 2480 leaf disables { 2481 type yang:counter32; 2482 description 2483 "Number of times that an LLCL entry was disabled."; 2484 } 2485 leaf enables { 2486 type yang:counter32; 2487 description 2488 "Number of times that an LLCL entry was enabled."; 2489 } 2490 leaf modifies { 2491 type yang:counter32; 2492 description 2493 "Number of times that an LLCL entry was modified."; 2494 } 2495 } // local-link-connectivity 2496 } // statistics-per-ttp 2498 grouping te-link-augment { 2499 description 2500 "Augmentation for TE link."; 2501 uses te-link-config; 2502 uses te-link-state-derived; 2503 container statistics { 2504 config false; 2505 description 2506 "Statistics data."; 2507 uses statistics-per-link; 2508 } // statistics 2509 } // te-link-augment 2511 grouping te-link-config { 2512 description 2513 "TE link configuration grouping."; 2514 choice bundle-stack-level { 2515 description 2516 "The TE link can be partitioned into bundled 2517 links, or component links."; 2518 case bundle { 2519 container bundled-links { 2520 description 2521 "A set of bundled links."; 2522 reference 2523 "RFC4201: Link Bundling in MPLS Traffic Engineering 2524 (TE)."; 2525 list bundled-link { 2526 key "sequence"; 2527 description 2528 "Specify a bundled interface that is 2529 further partitioned."; 2530 leaf sequence { 2531 type uint32; 2532 description 2533 "Identify the sequence in the bundle."; 2534 } 2535 } // list bundled-link 2536 } 2537 } 2538 case component { 2539 container component-links { 2540 description 2541 "A set of component links"; 2542 list component-link { 2543 key "sequence"; 2544 description 2545 "Specify a component interface that is 2546 sufficient to unambiguously identify the 2547 appropriate resources"; 2549 leaf sequence { 2550 type uint32; 2551 description 2552 "Identify the sequence in the bundle."; 2553 } 2554 leaf src-interface-ref { 2555 type string; 2556 description 2557 "Reference to component link interface on the 2558 source node."; 2559 } 2560 leaf des-interface-ref { 2561 type string; 2562 description 2563 "Reference to component link interface on the 2564 destinatioin node."; 2565 } 2566 } 2567 } 2568 } 2569 } // bundle-stack-level 2571 leaf-list te-link-template { 2572 if-feature template; 2573 type leafref { 2574 path "../../../../te/templates/link-template/name"; 2575 } 2576 description 2577 "The reference to a TE link template."; 2578 } 2579 uses te-link-config-attributes; 2580 } // te-link-config 2582 grouping te-link-config-attributes { 2583 description 2584 "Link configuration attributes in a TE topology."; 2585 container te-link-attributes { 2586 description "Link attributes in a TE topology."; 2587 leaf access-type { 2588 type te-types:te-link-access-type; 2589 description 2590 "Link access type, which can be point-to-point or 2591 multi-access."; 2592 } 2593 container external-domain { 2594 description 2595 "For an inter-domain link, specify the attributes of 2596 the remote end of link, to facilitate the signalling at 2597 local end."; 2598 uses nw:network-ref; 2599 leaf remote-te-node-id { 2600 type te-types:te-node-id; 2601 description 2602 "Remote TE node identifier, used together with 2603 remote-te-link-id to identify the remote link 2604 termination point in a different domain."; 2605 } 2606 leaf remote-te-link-tp-id { 2607 type te-types:te-tp-id; 2608 description 2609 "Remote TE link termination point identifier, used 2610 together with remote-te-node-id to identify the remote 2611 link termination point in a different domain."; 2612 } 2614 } 2615 leaf is-abstract { 2616 type empty; 2617 description "Present if the link is abstract."; 2618 } 2619 leaf name { 2620 type string; 2621 description "Link Name."; 2622 } 2623 container underlay { 2624 if-feature te-topology-hierarchy; 2625 description "Attributes of the te-link underlay."; 2626 reference 2627 "RFC4206: Label Switched Paths (LSP) Hierarchy with 2628 Generalized Multi-Protocol Label Switching (GMPLS) 2629 Traffic Engineering (TE)"; 2631 uses te-link-underlay-attributes; 2632 } // underlay 2633 leaf admin-status { 2634 type te-types:te-admin-status; 2635 description 2636 "The administrative state of the link."; 2637 } 2639 uses te-link-info-attributes; 2640 } // te-link-attributes 2641 } // te-link-config-attributes 2643 grouping te-link-info-attributes { 2644 description 2645 "Advertised TE information attributes."; 2646 leaf link-index { 2647 type uint64; 2648 description 2649 "The link identifier. If OSPF is used, this represents an 2650 ospfLsdbID. If IS-IS is used, this represents an isisLSPID. 2651 If a locally configured link is used, this object represents 2652 a unique value, which is locally defined in a router."; 2653 } 2654 leaf administrative-group { 2655 type te-types:admin-groups; 2656 description 2657 "Administrative group or color of the link. 2658 This attribute covers both administrative group (defined in 2659 RFC3630, RFC5329, and RFC5305), and extended administrative 2660 group (defined in RFC7308)."; 2661 } 2663 uses interface-switching-capability-list; 2664 uses connectivity-label-restriction-list; 2666 leaf link-protection-type { 2667 type enumeration { 2668 enum "unprotected" { 2669 description "Unprotected."; 2670 } 2671 enum "extra-traffic" { 2672 description "Extra traffic."; 2673 } 2674 enum "shared" { 2675 description "Shared."; 2676 } 2677 enum "1-for-1" { 2678 description "One for one protection."; 2679 } 2680 enum "1-plus-1" { 2681 description "One plus one protection."; 2682 } 2683 enum "enhanced" { 2684 description "Enhanced protection."; 2685 } 2686 } 2687 description 2688 "Link Protection Type desired for this link."; 2689 reference 2690 "RFC4202: Routing Extensions in Support of 2691 Generalized Multi-Protocol Label Switching (GMPLS)."; 2692 } 2694 container max-link-bandwidth { 2695 uses te-types:te-bandwidth; 2696 description 2697 "Maximum bandwidth that can be seen on this link in this 2698 direction. Units in bytes per second."; 2699 reference 2700 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 2701 Version 2. 2702 RFC5305: IS-IS Extensions for Traffic Engineering."; 2703 } 2704 container max-resv-link-bandwidth { 2705 uses te-types:te-bandwidth; 2706 description 2707 "Maximum amount of bandwidth that can be reserved in this 2708 direction in this link. Units in bytes per second."; 2709 reference 2710 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 2711 Version 2. 2712 RFC5305: IS-IS Extensions for Traffic Engineering."; 2713 } 2714 list unreserved-bandwidth { 2715 key "priority"; 2716 max-elements "8"; 2717 description 2718 "Unreserved bandwidth for 0-7 priority levels. Units in 2719 bytes per second."; 2720 reference 2721 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 2722 Version 2. 2723 RFC5305: IS-IS Extensions for Traffic Engineering."; 2724 leaf priority { 2725 type uint8 { 2726 range "0..7"; 2727 } 2728 description "Priority."; 2729 } 2730 uses te-types:te-bandwidth; 2731 } 2732 leaf te-default-metric { 2733 type uint32; 2734 description 2735 "Traffic engineering metric."; 2736 reference 2737 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 2738 Version 2. 2739 RFC5305: IS-IS Extensions for Traffic Engineering."; 2740 } 2741 leaf te-delay-metric { 2742 type uint32; 2743 description 2744 "Traffic engineering delay metric."; 2745 reference 2746 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions."; 2747 } 2748 leaf te-igp-metric { 2749 type uint32; 2750 description 2751 "IGP metric used for traffic engineering."; 2752 reference 2753 "RFC3785: Use of Interior Gateway Protocol (IGP) Metric as a 2754 Second MPLS Traffic Engineering (TE) Metric."; 2755 } 2756 container te-srlgs { 2757 description 2758 "Containing a list of SLRGs."; 2759 leaf-list value { 2760 type te-types:srlg; 2761 description "SRLG value."; 2762 reference 2763 "RFC4202: Routing Extensions in Support of 2764 Generalized Multi-Protocol Label Switching (GMPLS)."; 2765 } 2766 } 2767 container te-nsrlgs { 2768 if-feature nsrlg; 2769 description 2770 "Containing a list of NSRLGs (Not Sharing Risk Link 2771 Groups). 2772 When an abstract TE link is configured, this list specifies 2773 the request that underlay TE paths need to be mutually 2774 disjoint with other TE links in the same groups."; 2775 leaf-list id { 2776 type uint32; 2777 description 2778 "NSRLG ID, uniquely configured within a topology."; 2779 reference 2780 "RFC4872: RSVP-TE Extensions in Support of End-to-End 2781 Generalized Multi-Protocol Label Switching (GMPLS) 2782 Recovery"; 2783 } 2784 } 2785 } // te-link-info-attributes 2787 grouping te-link-iscd-attributes { 2788 description 2789 "TE link ISCD (Interface Switching Capability Descriptor) 2790 attributes."; 2791 reference 2792 "Sec 1.4, RFC4203: OSPF Extensions in Support of Generalized 2793 Multi-Protocol Label Switching (GMPLS). Section 1.4."; 2794 list max-lsp-bandwidth { 2795 key "priority"; 2796 max-elements "8"; 2797 description 2798 "Maximum LSP Bandwidth at priorities 0-7."; 2799 leaf priority { 2800 type uint8 { 2801 range "0..7"; 2802 } 2803 description "Priority."; 2804 } 2805 uses te-types:te-bandwidth; 2806 } 2807 } // te-link-iscd-attributes 2809 grouping te-link-state-derived { 2810 description 2811 "Link state attributes in a TE topology."; 2812 leaf oper-status { 2813 type te-types:te-oper-status; 2814 config false; 2815 description 2816 "The current operational state of the link."; 2817 } 2818 leaf is-transitional { 2819 type empty; 2820 config false; 2821 description 2822 "Present if the link is transitional, used as an 2823 alternative approach in lieu of inter-layer-lock-id 2824 for path computation in a TE topology covering multiple 2825 layers or multiple regions."; 2826 reference 2827 "RFC5212: Requirements for GMPLS-Based Multi-Region and 2828 Multi-Layer Networks (MRN/MLN). 2829 RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 2830 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 2831 } 2832 uses information-source-per-link-attributes; 2833 list information-source-entry { 2834 key "information-source"; 2835 config false; 2836 description 2837 "A list of information sources learned, including the one 2838 used."; 2839 uses information-source-per-link-attributes; 2840 uses te-link-info-attributes; 2841 } 2842 container recovery { 2843 config false; 2844 description 2845 "Status of the recovery process."; 2846 leaf restoration-status { 2847 type te-types:te-recovery-status; 2848 description 2849 "Restoration status."; 2850 } 2851 leaf protection-status { 2852 type te-types:te-recovery-status; 2853 description 2854 "Protection status."; 2855 } 2856 } 2857 container underlay { 2858 if-feature te-topology-hierarchy; 2859 config false; 2860 description "State attributes for te-link underlay."; 2861 leaf dynamic { 2862 type boolean; 2863 description 2864 "true if the underlay is dynamically created."; 2865 } 2866 leaf committed { 2867 type boolean; 2868 description 2869 "true if the underlay is committed."; 2870 } 2871 } 2872 } // te-link-state-derived 2874 grouping te-link-underlay-attributes { 2875 description "Attributes for te-link underlay."; 2876 reference 2877 "RFC4206: Label Switched Paths (LSP) Hierarchy with 2878 Generalized Multi-Protocol Label Switching (GMPLS) 2879 Traffic Engineering (TE)"; 2880 leaf enabled { 2881 type boolean; 2882 description 2883 "'true' if the underlay is enabled. 2884 'false' if the underlay is disabled."; 2885 } 2886 container primary-path { 2887 description 2888 "The service path on the underlay topology that 2889 supports this link."; 2890 uses nw:network-ref; 2891 list path-element { 2892 key "path-element-id"; 2893 description 2894 "A list of path elements describing the service path."; 2895 leaf path-element-id { 2896 type uint32; 2897 description "To identify the element in a path."; 2898 } 2899 uses te-path-element; 2900 } 2902 } // primary-path 2903 list backup-path { 2904 key "index"; 2905 description 2906 "A list of backup service paths on the underlay topology that 2907 protect the underlay primary path. If the primary path is 2908 not protected, the list contains zero elements. If the 2909 primary path is protected, the list contains one or more 2910 elements."; 2911 leaf index { 2912 type uint32; 2913 description 2914 "A sequence number to identify a backup path."; 2915 } 2916 uses nw:network-ref; 2917 list path-element { 2918 key "path-element-id"; 2919 description 2920 "A list of path elements describing the backup service 2921 path"; 2922 leaf path-element-id { 2923 type uint32; 2924 description "To identify the element in a path."; 2925 } 2926 uses te-path-element; 2927 } 2928 } // underlay-backup-path 2929 leaf protection-type { 2930 type identityref { 2931 base te-types:lsp-protection-type; 2932 } 2933 description 2934 "Underlay protection type desired for this link."; 2935 } 2936 container tunnel-termination-points { 2937 description 2938 "Underlay TTP(Tunnel Termination Points) desired for this 2939 link."; 2940 leaf source { 2941 type binary; 2942 description 2943 "Source tunnel termination point identifier."; 2944 } 2945 leaf destination { 2946 type binary; 2947 description 2948 "Destination tunnel termination point identifier."; 2949 } 2950 } 2951 container tunnels { 2952 description 2953 "Underlay TE tunnels supporting this TE link."; 2954 leaf sharing { 2955 type boolean; 2956 default true; 2957 description 2958 "'true' if the underlay tunnel can be shared with other 2959 TE links; 2960 'false' if the underlay tunnel is dedicated to this 2961 TE link. 2962 This leaf is the default option for all TE tunnels, 2963 and may be overridden by the per TE tunnel value."; 2964 } 2965 list tunnel { 2966 key "tunnel-name"; 2967 description 2968 "Zero, one or more underlay TE tunnels that support this TE 2969 link."; 2970 leaf tunnel-name { 2971 type string; 2972 description 2973 "A tunnel name uniquely identifies an underlay TE tunnel, 2974 used together with the source-node of this link. 2975 The detailed information of this tunnel can be retrieved 2976 from the ietf-te model."; 2977 reference "RFC3209"; 2978 } 2979 leaf sharing { 2980 type boolean; 2981 description 2982 "'true' if the underlay tunnel can be shared with other 2983 TE links; 2984 'false' if the underlay tunnel is dedicated to this 2985 TE link."; 2986 } 2987 } // tunnel 2988 } // tunnels 2989 } // te-link-underlay-attributes 2991 grouping te-node-augment { 2992 description 2993 "Augmentation for TE node."; 2994 uses te-node-config; 2995 uses te-node-state-derived; 2996 container statistics { 2997 config false; 2998 description 2999 "Statistics data."; 3000 uses statistics-per-node; 3001 } // statistics 3003 list tunnel-termination-point { 3004 key "tunnel-tp-id"; 3005 description 3006 "A termination point can terminate a tunnel."; 3007 leaf tunnel-tp-id { 3008 type binary; 3009 description 3010 "Tunnel termination point identifier."; 3011 } 3013 uses te-node-tunnel-termination-point-config; 3014 leaf oper-status { 3015 type te-types:te-oper-status; 3016 config false; 3017 description 3018 "The current operational state of the tunnel 3019 termination point."; 3020 } 3021 uses geolocation-container; 3022 container statistics { 3023 config false; 3024 description 3025 "Statistics data."; 3026 uses statistics-per-ttp; 3027 } // statistics 3029 // Relations to other tunnel termination points 3030 list supporting-tunnel-termination-point { 3031 key "node-ref tunnel-tp-ref"; 3032 description 3033 "Identifies the tunnel termination points, that this 3034 tunnel termination point is depending on."; 3035 leaf node-ref { 3036 type inet:uri; 3037 description 3038 "This leaf identifies the node in which the supporting 3039 tunnel termination point is present. 3040 This node is either the supporting node or a node in 3041 an underlay topology."; 3042 } 3043 leaf tunnel-tp-ref { 3044 type binary; 3045 description 3046 "Reference to a tunnel terminiation point, which is 3047 either in the supporting node or a node in an 3048 underlay topology."; 3049 } 3050 } // supporting-tunnel-termination-point 3051 } // tunnel-termination-point 3052 } // te-node-augment 3054 grouping te-node-config { 3055 description "TE node configuration grouping."; 3056 leaf-list te-node-template { 3057 if-feature template; 3058 type leafref { 3059 path "../../../../te/templates/node-template/name"; 3060 } 3061 description 3062 "The reference to a TE node template."; 3063 } 3064 uses te-node-config-attributes; 3065 } // te-node-config 3066 grouping te-node-config-attributes { 3067 description "Configuration node attributes in a TE topology."; 3068 container te-node-attributes { 3069 description "Containing node attributes in a TE topology."; 3070 leaf admin-status { 3071 type te-types:te-admin-status; 3072 description 3073 "The administrative state of the link."; 3074 } 3075 uses te-node-connectivity-matrices; 3076 uses te-node-info-attributes; 3077 } // te-node-attributes 3078 } // te-node-config-attributes 3080 grouping te-node-config-attributes-template { 3081 description 3082 "Configuration node attributes for template in a TE topology."; 3083 container te-node-attributes { 3084 description "Containing node attributes in a TE topology."; 3085 leaf admin-status { 3086 type te-types:te-admin-status; 3087 description 3088 "The administrative state of the link."; 3089 } 3090 uses te-node-info-attributes; 3091 } // te-node-attributes 3092 } // te-node-config-attributes-template 3094 grouping te-node-connectivity-matrices { 3095 description "Connectivity matrix on a TE node."; 3096 container connectivity-matrices { 3097 description 3098 "Containing connectivity matrix on a TE node."; 3099 leaf number-of-entries { 3100 type uint16; 3101 description 3102 "The number of connectivity matrix entries. 3103 If this number is speficied in the configuration request, 3104 the number is requested number of entries, which may not 3105 all be listed in the list; 3106 if this number is reported in the state data, 3107 the number is the current number of operational entries."; 3108 } 3109 uses connectivity-label-restriction-list; 3110 uses connectivity-matrix-entry-path-attributes; 3111 list connectivity-matrix { 3112 key "id"; 3113 description 3114 "Represents node's switching limitations, i.e. limitations 3115 in interconnecting network TE links across the node."; 3116 reference 3117 "RFC7579: General Network Element Constraint Encoding 3118 for GMPLS-Controlled Networks."; 3119 leaf id { 3120 type uint32; 3121 description "Identifies the connectivity-matrix entry."; 3122 } 3123 } // connectivity-matrix 3124 } // connectivity-matrices 3125 } // te-node-connectivity-matrices 3127 grouping te-node-connectivity-matrix-attributes { 3128 description 3129 "Termination point references of a connectivity matrix entry."; 3130 container from { 3131 description 3132 "Reference to source link termination point."; 3133 leaf tp-ref { 3134 type leafref { 3135 path "../../../../../../nt:termination-point/nt:tp-id"; 3136 } 3137 description 3138 "Relative reference to a termination point."; 3139 } 3140 uses connectivity-label-restriction-list; 3141 } 3142 container to { 3143 description 3144 "Reference to destination link termination point."; 3145 leaf tp-ref { 3146 type leafref { 3147 path "../../../../../../nt:termination-point/nt:tp-id"; 3148 } 3149 description 3150 "Relative reference to a termination point."; 3151 } 3152 uses connectivity-label-restriction-list; 3153 } 3154 uses connectivity-matrix-entry-path-attributes; 3155 } // te-node-connectivity-matrix-attributes 3157 grouping te-node-info-attributes { 3158 description 3159 "Advertised TE information attributes."; 3160 leaf domain-id { 3161 type uint32; 3162 description 3163 "Identifies the domain that this node belongs. 3164 This attribute is used to support inter-domain links."; 3165 reference 3166 "RFC5152: A Per-Domain Path Computation Method for 3167 Establishing Inter-Domain Traffic Engineering (TE) 3168 Label Switched Paths (LSPs). 3169 RFC5392: OSPF Extensions in Support of Inter-Autonomous 3170 System (AS) MPLS and GMPLS Traffic Engineering. 3171 RFC5316: ISIS Extensions in Support of Inter-Autonomous 3172 System (AS) MPLS and GMPLS Traffic Engineering."; 3173 } 3174 leaf is-abstract { 3175 type empty; 3176 description 3177 "Present if the node is abstract, not present if the node 3178 is actual."; 3179 } 3180 leaf name { 3181 type string; 3182 description "Node name."; 3183 } 3184 leaf-list signaling-address { 3185 type inet:ip-address; 3186 description "Node signaling address."; 3187 } 3188 container underlay-topology { 3189 if-feature te-topology-hierarchy; 3190 description 3191 "When an abstract node encapsulates a topology, 3192 the attributes in this container point to said topology."; 3193 uses nw:network-ref; 3194 } 3195 } // te-node-info-attributes 3197 grouping te-node-state-derived { 3198 description "Node state attributes in a TE topology."; 3199 leaf oper-status { 3200 type te-types:te-oper-status; 3201 config false; 3202 description 3203 "The current operational state of the node."; 3204 } 3205 uses geolocation-container; 3206 leaf is-multi-access-dr { 3207 type empty; 3208 config false; 3209 description 3210 "The presence of this attribute indicates that this TE node 3211 is a pseudonode elected as a designated router."; 3212 reference 3213 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 3214 Version 2. 3215 RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual 3216 Environments."; 3217 } 3218 uses information-source-per-node-attributes; 3219 list information-source-entry { 3220 key "information-source"; 3221 config false; 3222 description 3223 "A list of information sources learned, including the one 3224 used."; 3225 uses information-source-per-node-attributes; 3226 uses te-node-connectivity-matrices; 3227 uses te-node-info-attributes; 3228 } 3230 } // te-node-state-derived 3232 grouping te-node-tunnel-termination-point-config { 3233 description 3234 "Termination capability of a tunnel termination point on a 3235 TE node."; 3236 uses te-node-tunnel-termination-point-config-attributes; 3237 container local-link-connectivities { 3238 description 3239 "Containing local link connectivity list for 3240 a tunnel termination point on a TE node."; 3241 leaf number-of-entries { 3242 type uint16; 3243 description 3244 "The number of local link connectivity list entries. 3245 If this number is speficied in the configuration request, 3246 the number is requested number of entries, which may not 3247 all be listed in the list; 3248 if this number is reported in the state data, 3249 the number is the current number of operational entries."; 3250 } 3251 uses connectivity-label-restriction-list; 3252 uses connectivity-matrix-entry-path-attributes; 3253 } // local-link-connectivities 3254 } // te-node-tunnel-termination-point-config 3256 grouping te-node-tunnel-termination-point-config-attributes { 3257 description 3258 "Configuration attributes of a tunnel termination point on a 3259 TE node."; 3260 leaf admin-status { 3261 type te-types:te-admin-status; 3262 description 3263 "The administrative state of the tunnel termination point."; 3264 } 3265 leaf name { 3266 type string; 3267 description 3268 "A descriptive name for the tunnel termination point."; 3269 } 3270 leaf switching-capability { 3271 type identityref { 3272 base te-types:switching-capabilities; 3273 } 3274 description 3275 "Switching Capability for this interface."; 3276 } 3277 leaf encoding { 3278 type identityref { 3279 base te-types:lsp-encoding-types; 3280 } 3281 description 3282 "Encoding supported by this interface."; 3283 } 3284 leaf-list inter-layer-lock-id { 3285 type uint32; 3286 description 3287 "Inter layer lock ID, used for path computation in a TE 3288 topology covering multiple layers or multiple regions."; 3289 reference 3290 "RFC5212: Requirements for GMPLS-Based Multi-Region and 3291 Multi-Layer Networks (MRN/MLN). 3292 RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 3293 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 3294 } 3295 leaf protection-type { 3296 type identityref { 3297 base te-types:lsp-protection-type; 3298 } 3299 description 3300 "The protection type that this tunnel termination point 3301 is capable of."; 3302 } 3304 container client-layer-adaptation { 3305 description 3306 "Containing capability information to support a client layer 3307 adaption in multi-layer topology."; 3308 list switching-capability { 3309 key "switching-capability encoding"; 3310 description 3311 "List of supported switching capabilities"; 3313 reference 3314 "RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 3315 for Multi-Layer and Multi-Region Networks (MLN/MRN). 3316 RFC4202: Routing Extensions in Support of 3317 Generalized Multi-Protocol Label Switching (GMPLS)."; 3318 leaf switching-capability { 3319 type identityref { 3320 base te-types:switching-capabilities; 3321 } 3322 description 3323 "Switching Capability for the client layer adaption."; 3324 } 3325 leaf encoding { 3326 type identityref { 3327 base te-types:lsp-encoding-types; 3328 } 3329 description 3330 "Encoding supported by the client layer adaption."; 3331 } 3332 uses te-types:te-bandwidth; 3333 } 3334 } 3335 } // te-node-tunnel-termination-point-config-attributes 3337 grouping te-node-tunnel-termination-point-llc-list { 3338 description 3339 "Local link connectivity list of a tunnel termination 3340 point on a TE node."; 3341 list local-link-connectivity { 3342 key "link-tp-ref"; 3343 description 3344 "The termination capabilities between 3345 tunnel-termination-point and link termination-point. 3346 The capability information can be used to compute 3347 the tunnel path. 3348 The Interface Adjustment Capability Descriptors (IACD) 3349 [RFC6001] on each link-tp can be derived from this 3350 local-link-connectivity list."; 3351 reference 3352 "RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 3353 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 3355 leaf link-tp-ref { 3356 type leafref { 3357 path "../../../../../nt:termination-point/nt:tp-id"; 3358 } 3359 description 3360 "Link termination point."; 3361 } 3362 uses connectivity-label-restriction-list; 3363 uses connectivity-matrix-entry-path-attributes; 3364 } // local-link-connectivity 3365 } // te-node-tunnel-termination-point-config 3367 grouping te-path-element { 3368 description 3369 "A group of attributes defining an element in a TE path 3370 such as TE node, TE link, TE atomic resource or label."; 3371 uses te-types:explicit-route-hop; 3372 } // te-path-element 3374 grouping te-termination-point-augment { 3375 description 3376 "Augmentation for TE termination point."; 3377 leaf te-tp-id { 3378 type te-types:te-tp-id; 3379 description 3380 "An identifier to uniquely identify a TE termination 3381 point."; 3382 } 3383 container te { 3384 must "../te-tp-id"; 3385 presence "TE support."; 3386 description 3387 "Indicates TE support."; 3389 uses te-termination-point-config; 3390 leaf oper-status { 3391 type te-types:te-oper-status; 3392 config false; 3393 description 3394 "The current operational state of the link termination 3395 point."; 3396 } 3397 uses geolocation-container; 3398 } // te 3399 } // te-termination-point-augment 3401 grouping te-termination-point-config { 3402 description 3403 "TE termination point configuration grouping."; 3404 leaf admin-status { 3405 type te-types:te-admin-status; 3406 description 3407 "The administrative state of the link termination point."; 3408 } 3409 leaf name { 3410 type string; 3411 description 3412 "A descriptive name for the link termination point."; 3413 } 3414 uses interface-switching-capability-list; 3415 leaf inter-domain-plug-id { 3416 type binary; 3417 description 3418 "A topology-wide unique number that identifies on the 3419 network a connectivity supporting a given inter-domain 3420 TE link. This is more flexible alternative to specifying 3421 remote-te-node-id and remote-te-link-tp-id on a TE link, 3422 when the provider does not know remote-te-node-id and 3423 remote-te-link-tp-id or need to give client the 3424 flexibility to mix-n-match multiple topologies."; 3425 } 3426 leaf-list inter-layer-lock-id { 3427 type uint32; 3428 description 3429 "Inter layer lock ID, used for path computation in a TE 3430 topology covering multiple layers or multiple regions."; 3431 reference 3432 "RFC5212: Requirements for GMPLS-Based Multi-Region and 3433 Multi-Layer Networks (MRN/MLN). 3434 RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 3435 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 3437 } 3438 } // te-termination-point-config 3440 grouping te-topologies-augment { 3441 description 3442 "Augmentation for TE topologies."; 3443 container te { 3444 presence "TE support."; 3445 description 3446 "Indicates TE support."; 3448 container templates { 3449 description 3450 "Configuration parameters for templates used for TE 3451 topology."; 3453 list node-template { 3454 if-feature template; 3455 key "name"; 3456 leaf name { 3457 type te-types:te-template-name; 3458 description 3459 "The name to identify a TE node template."; 3460 } 3461 description 3462 "The list of TE node templates used to define sharable 3463 and reusable TE node attributes."; 3464 uses template-attributes; 3465 uses te-node-config-attributes-template; 3466 } // node-template 3468 list link-template { 3469 if-feature template; 3470 key "name"; 3471 leaf name { 3472 type te-types:te-template-name; 3473 description 3474 "The name to identify a TE link template."; 3475 } 3476 description 3477 "The list of TE link templates used to define sharable 3478 and reusable TE link attributes."; 3479 uses template-attributes; 3480 uses te-link-config-attributes; 3481 } // link-template 3482 } // templates 3483 } // te 3484 } // te-topologies-augment 3486 grouping te-topology-augment { 3487 description 3488 "Augmentation for TE topology."; 3489 leaf provider-id { 3490 type te-types:te-global-id; 3491 description 3492 "An identifier to uniquely identify a provider."; 3493 } 3494 leaf client-id { 3495 type te-types:te-global-id; 3496 description 3497 "An identifier to uniquely identify a client."; 3498 } 3499 leaf te-topology-id { 3500 type te-types:te-topology-id; 3501 description 3502 "It is presumed that a datastore will contain many 3503 topologies. To distinguish between topologies it is 3504 vital to have UNIQUE topology identifiers."; 3505 } 3507 container te { 3508 must "../provider-id and ../client-id and ../te-topology-id"; 3509 presence "TE support."; 3510 description 3511 "Indicates TE support."; 3513 uses te-topology-config; 3514 uses geolocation-container; 3515 } // te 3516 } // te-topology-augment 3518 grouping te-topology-config { 3519 description 3520 "TE topology configuration grouping."; 3521 leaf name { 3522 type string; 3523 description 3524 "Name of the TE topology. This attribute is optional and can 3525 be specified by the operator to describe the TE topology, 3526 which can be useful when network-id is not descriptive 3527 and not modifiable because of being generated by the 3528 system."; 3529 } 3530 leaf preference { 3531 type uint8 { 3532 range "1..255"; 3533 } 3534 description 3535 "Specifies a preference for this topology. A lower number 3536 indicates a higher preference."; 3537 } 3538 leaf optimization-criterion { 3539 type identityref { 3540 base te-types:te-optimization-criterion; 3541 } 3542 description 3543 "Optimization criterion applied to this topology."; 3544 reference 3545 "RFC3272: Overview and Principles of Internet Traffic 3546 Engineering."; 3547 } 3548 list nsrlg { 3549 if-feature nsrlg; 3550 key "id"; 3551 description 3552 "List of NSRLGs (Not Sharing Risk Link Groups)."; 3553 reference 3554 "RFC4872: RSVP-TE Extensions in Support of End-to-End 3555 Generalized Multi-Protocol Label Switching (GMPLS) 3556 Recovery"; 3557 leaf id { 3558 type uint32; 3559 description 3560 "Identify the NSRLG entry."; 3561 } 3562 leaf disjointness { 3563 type te-types:te-path-disjointness; 3564 description 3565 "The type of resource disjointness."; 3566 } 3567 } // nsrlg 3568 } // te-topology-config 3570 grouping template-attributes { 3571 description 3572 "Common attributes for all templates."; 3573 leaf priority { 3574 type uint16; 3575 description 3576 "The preference value to resolve conflicts between different 3577 templates. When two or more templates specify values for 3578 one configuration attribute, the value from the template 3579 with the highest priority is used."; 3580 } 3581 leaf reference-change-policy { 3582 type enumeration { 3583 enum no-action { 3584 description 3585 "When an attribute changes in this template, the 3586 configuration node referring to this template does 3587 not take any action."; 3588 } 3589 enum not-allowed { 3590 description 3591 "When any configuration object has a reference to this 3592 template, changing this template is not allowed."; 3593 } 3594 enum cascade { 3595 description 3596 "When an attribute changes in this template, the 3597 configuration object referring to this template applies 3598 the new attribute value to the corresponding 3599 configuration."; 3600 } 3602 } 3603 description 3604 "This attribute specifies the action taken to a configuration 3605 node that has a reference to this template."; 3606 } 3607 } // template-attributes 3609 /* 3610 * Data nodes 3611 */ 3612 augment "/nw:networks/nw:network/nw:network-types" { 3613 description 3614 "Introduce new network type for TE topology."; 3615 container te-topology { 3616 presence "Indicates TE topology."; 3617 description 3618 "Its presence identifies the TE topology type."; 3619 } 3620 } 3622 augment "/nw:networks" { 3623 description 3624 "Augmentation parameters for TE topologies."; 3625 uses te-topologies-augment; 3626 } 3628 augment "/nw:networks/nw:network" { 3629 when "nw:network-types/tet:te-topology" { 3630 description 3631 "Augmentation parameters apply only for networks with 3632 TE topology type."; 3633 } 3634 description 3635 "Configuration parameters for TE topology."; 3636 uses te-topology-augment; 3637 } 3639 augment "/nw:networks/nw:network/nw:node" { 3640 when "../nw:network-types/tet:te-topology" { 3641 description 3642 "Augmentation parameters apply only for networks with 3643 TE topology type."; 3644 } 3645 description 3646 "Configuration parameters for TE at node level."; 3647 leaf te-node-id { 3648 type te-types:te-node-id; 3649 description 3650 "The identifier of a node in the TE topology. 3651 A node is specific to a topology to which it belongs."; 3652 } 3653 container te { 3654 must "../te-node-id" { 3655 description 3656 "te-node-id is mandatory."; 3657 } 3658 must "count(../nw:supporting-node)<=1" { 3659 description 3660 "For a node in a TE topology, there cannot be more 3661 than 1 supporting node. If multiple nodes are abstracted, 3662 the underlay-topology is used."; 3663 } 3664 presence "TE support."; 3665 description 3666 "Indicates TE support."; 3667 uses te-node-augment; 3668 } // te 3669 } 3671 augment "/nw:networks/nw:network/nt:link" { 3672 when "../nw:network-types/tet:te-topology" { 3673 description 3674 "Augmentation parameters apply only for networks with 3675 TE topology type."; 3676 } 3677 description 3678 "Configuration parameters for TE at link level."; 3679 container te { 3680 must "count(../nt:supporting-link)<=1" { 3681 description 3682 "For a link in a TE topology, there cannot be more 3683 than 1 supporting link. If one or more link paths are 3684 abstracted, the underlay is used."; 3685 } 3686 presence "TE support."; 3687 description 3688 "Indicates TE support."; 3689 uses te-link-augment; 3690 } // te 3691 } 3693 augment "/nw:networks/nw:network/nw:node/" 3694 + "nt:termination-point" { 3695 when "../../nw:network-types/tet:te-topology" { 3696 description 3697 "Augmentation parameters apply only for networks with 3698 TE topology type."; 3699 } 3700 description 3701 "Configuration parameters for TE at termination point level."; 3702 uses te-termination-point-augment; 3703 } 3705 augment 3706 "/nw:networks/nw:network/nt:link/te/bundle-stack-level/" 3707 + "bundle/bundled-links/bundled-link" { 3708 when "../../../../nw:network-types/tet:te-topology" { 3709 description 3710 "Augmentation parameters apply only for networks with 3711 TE topology type."; 3712 } 3713 description 3714 "Augment TE link bundled link."; 3715 leaf src-tp-ref { 3716 type leafref { 3717 path "../../../../../nw:node[nw:node-id = " 3718 + "current()/../../../../nt:source/" 3719 + "nt:source-node]/" 3720 + "nt:termination-point/nt:tp-id"; 3721 require-instance true; 3722 } 3723 description 3724 "Reference to another TE termination point on the 3725 same souruce node."; 3726 } 3727 leaf des-tp-ref { 3728 type leafref { 3729 path "../../../../../nw:node[nw:node-id = " 3730 + "current()/../../../../nt:destination/" 3731 + "nt:dest-node]/" 3732 + "nt:termination-point/nt:tp-id"; 3733 require-instance true; 3734 } 3735 description 3736 "Reference to another TE termination point on the 3737 same destination node."; 3738 } 3739 } 3741 augment 3742 "/nw:networks/nw:network/nw:node/te/" 3743 + "information-source-entry/connectivity-matrices/" 3744 + "connectivity-matrix" { 3745 when "../../../../../nw:network-types/tet:te-topology" { 3746 description 3747 "Augmentation parameters apply only for networks with 3748 TE topology type."; 3749 } 3750 description 3751 "Augment TE node connectivity-matrix."; 3752 uses te-node-connectivity-matrix-attributes; 3753 } 3755 augment 3756 "/nw:networks/nw:network/nw:node/te/te-node-attributes/" 3757 + "connectivity-matrices/connectivity-matrix" { 3758 when "../../../../../nw:network-types/tet:te-topology" { 3759 description 3760 "Augmentation parameters apply only for networks with 3761 TE topology type."; 3762 } 3763 description 3764 "Augment TE node connectivity-matrix."; 3765 uses te-node-connectivity-matrix-attributes; 3767 } 3769 augment 3770 "/nw:networks/nw:network/nw:node/te/" 3771 + "tunnel-termination-point/local-link-connectivities" { 3772 when "../../../../nw:network-types/tet:te-topology" { 3773 description 3774 "Augmentation parameters apply only for networks with 3775 TE topology type."; 3776 } 3777 description 3778 "Augment TE node tunnel termination point LLCs 3779 (Local Link Connectivities)."; 3780 uses te-node-tunnel-termination-point-llc-list; 3781 } 3782 } 3783 3785 8. Security Considerations 3787 The transport protocol used for retrieving/manipulating the TE 3788 topology data MUST support authentication and SHOULD support 3789 encryption. The data-model by itself does not create any security 3790 implications. 3792 9. IANA Considerations 3794 This document registers the following URIs in the IETF XML registry 3795 [RFC3688]. Following the format in [RFC3688], the following 3796 registration is requested to be made. 3798 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology 3799 XML: N/A, the requested URI is an XML namespace. 3801 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-state 3802 XML: N/A, the requested URI is an XML namespace. 3804 This document registers a YANG module in the YANG Module Names 3805 registry [RFC7950]. 3807 name: ietf-te-topology 3808 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology 3809 prefix: tet 3810 name: ietf-te-topology-state 3811 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-state 3812 prefix: tet-s 3814 10. References 3816 10.1. Normative References 3818 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 3819 Requirement Levels", BCP 14, RFC 2119, March 1997. 3821 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 3822 January 2004. 3824 [RFC3945] Mannie, E., "Generalized Multi-Protocol Label Switching 3825 (GMPLS) Architecture", October 2004. 3827 [RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991, 3828 July 2013. 3830 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling 3831 Language", RFC 7950, August 2016. 3833 [YANG-NET-TOPO] Clemm, A., "A Data Model for Network Topologies", 3834 draft-ietf-i2rs-yang-network-topo (Work in Progress), 3835 October 2017. 3837 [YANG-PUSH] Clemm, A., "Subscribing to YANG datastore push updates", 3838 draft-ietf-netconf-yang-push (work in progress), October 3839 2017. 3841 [NETCONF-NOTIF] Voit, E., "Custom Subscription to Event 3842 Notifications", draft-ietf-netconf-subscribed- 3843 notifications-05 (work in progress), October 2017. 3845 [YANG-NMDA] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 3846 and R. Wilton, "Network Management Datastore 3847 Architecture", draft-ietf-netmod-revised-datastores (Work 3848 in Progress), August 2017. 3850 10.2. Informative References 3852 [G.709] ITU-T, "Interfaces for the optical transport network", 3853 ITU-T Recommendation G.709, June 2016. 3855 [G.805] ITU-T, "Generic functional architecture of transport 3856 networks", ITU-T Recommendation G.805, March 2000. 3858 [G.872] ITU-T, "Architecture of optical transport networks", ITU- 3859 T Recommendation G.872, January 2017. 3861 [G.8080] ITU-T, "Architecture for the automatically switched 3862 optical network", ITU-T Recommendation G.8080, February 3863 2012. 3865 [RFC2702] Awduche, D., "Requirements for Traffic Engineering Over 3866 MPLS", RFC 2702, September 1999. 3868 [YANG-TREE] Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- 3869 ietf-netmod-yang-tree-diagrams (work in progress), June 3870 2017. 3872 [YANG-SCHEDULE] Liu, X., "A YANG Data Model for Configuration 3873 Scheduling", draft-liu-netmod-yang-schedule (Work in 3874 Progress), September 2017. 3876 [YANG-TOPO-WSON] Lee, Y., "A Yang Data Model for WSON Optical 3877 Networks", draft-ietf-ccamp-wson-yang, (work in 3878 progress), October 2017. 3880 [YANG-TOPO-OTN] Zheng, H., "A YANG Data Model for Optical Transport 3881 Network Topology", draft-ietf-ccamp-otn-topo-yang-01, 3882 work in progress), September 2017. 3884 [YANG-TOPO-L3TE] Liu, X., "YANG Data Model for Layer 3 TE 3885 Topologies", draft-liu-teas-yang-l3-te-topo, (work in 3886 progress), July 2017. 3888 11. Acknowledgments 3890 The authors would like to thank Lou Berger, Sue Hares, Mazen Khaddam, 3891 Cyril Margaria and Zafar Ali for participating in design discussions 3892 and providing valuable insights. 3894 Appendix A. Complete Model Tree Structure 3896 module: ietf-te-topology 3897 augment /nw:networks/nw:network/nw:network-types: 3898 +--rw te-topology! 3899 augment /nw:networks: 3900 +--rw te! 3901 +--rw templates 3902 +--rw node-template* [name] {template}? 3903 | +--rw name te-types:te-template- 3904 name 3905 | +--rw priority? uint16 3906 | +--rw reference-change-policy? enumeration 3907 | +--rw te-node-attributes 3908 | +--rw admin-status? te-types:te-admin-status 3909 | +--rw domain-id? uint32 3910 | +--rw is-abstract? empty 3911 | +--rw name? string 3912 | +--rw signaling-address* inet:ip-address 3913 | +--rw underlay-topology {te-topology-hierarchy}? 3914 | +--rw network-ref? -> 3915 /nw:networks/network/network-id 3916 +--rw link-template* [name] {template}? 3917 +--rw name te-types:te-template- 3918 name 3919 +--rw priority? uint16 3920 +--rw reference-change-policy? enumeration 3921 +--rw te-link-attributes 3922 +--rw access-type? te-types:te- 3923 link-access-type 3924 +--rw external-domain 3925 | +--rw network-ref? -> 3926 /nw:networks/network/network-id 3927 | +--rw remote-te-node-id? te-types:te-node-id 3928 | +--rw remote-te-link-tp-id? te-types:te-tp-id 3929 +--rw is-abstract? empty 3930 +--rw name? string 3931 +--rw underlay {te-topology-hierarchy}? 3932 | +--rw enabled? boolean 3933 | +--rw primary-path 3934 | | +--rw network-ref? -> 3935 /nw:networks/network/network-id 3936 | | +--rw path-element* [path-element-id] 3937 | | +--rw path-element-id uint32 3938 | | +--rw index? uint32 3939 | | +--rw (type)? 3940 | | +--:(numbered) 3941 | | | +--rw numbered-hop 3942 | | | +--rw address? te-types:te-tp- 3943 id 3944 | | | +--rw hop-type? te-hop-type 3945 | | | +--rw direction? te-link- 3946 direction 3947 | | +--:(as-number) 3948 | | | +--rw as-number-hop 3949 | | | +--rw as-number? binary 3950 | | | +--rw hop-type? te-hop-type 3951 | | +--:(unnumbered) 3952 | | | +--rw unnumbered-hop 3953 | | | +--rw node-id? te-types:te- 3954 node-id 3955 | | | +--rw link-tp-id? te-types:te-tp- 3956 id 3957 | | | +--rw hop-type? te-hop-type 3958 | | | +--rw direction? te-link- 3959 direction 3960 | | +--:(label) 3961 | | +--rw label-hop 3962 | | +--rw te-label 3963 | | +--rw (technology)? 3964 | | | +--:(generic) 3965 | | | +--rw generic? rt- 3966 types:generalized-label 3967 | | +--rw direction? te-label- 3968 direction 3969 | +--rw backup-path* [index] 3970 | | +--rw index uint32 3971 | | +--rw network-ref? -> 3972 /nw:networks/network/network-id 3973 | | +--rw path-element* [path-element-id] 3974 | | +--rw path-element-id uint32 3975 | | +--rw index? uint32 3976 | | +--rw (type)? 3977 | | +--:(numbered) 3978 | | | +--rw numbered-hop 3979 | | | +--rw address? te-types:te-tp- 3980 id 3981 | | | +--rw hop-type? te-hop-type 3982 | | | +--rw direction? te-link- 3983 direction 3984 | | +--:(as-number) 3985 | | | +--rw as-number-hop 3986 | | | +--rw as-number? binary 3987 | | | +--rw hop-type? te-hop-type 3988 | | +--:(unnumbered) 3989 | | | +--rw unnumbered-hop 3990 | | | +--rw node-id? te-types:te- 3991 node-id 3992 | | | +--rw link-tp-id? te-types:te-tp- 3993 id 3994 | | | +--rw hop-type? te-hop-type 3995 | | | +--rw direction? te-link- 3996 direction 3997 | | +--:(label) 3998 | | +--rw label-hop 3999 | | +--rw te-label 4000 | | +--rw (technology)? 4001 | | | +--:(generic) 4002 | | | +--rw generic? rt- 4003 types:generalized-label 4004 | | +--rw direction? te-label- 4005 direction 4006 | +--rw protection-type? identityref 4007 | +--rw tunnel-termination-points 4008 | | +--rw source? binary 4009 | | +--rw destination? binary 4010 | +--rw tunnels 4011 | +--rw sharing? boolean 4012 | +--rw tunnel* [tunnel-name] 4013 | +--rw tunnel-name string 4014 | +--rw sharing? boolean 4015 +--rw admin-status? te-types:te- 4016 admin-status 4017 +--rw link-index? uint64 4018 +--rw administrative-group? te- 4019 types:admin-groups 4020 +--rw interface-switching-capability* [switching- 4021 capability encoding] 4022 | +--rw switching-capability identityref 4023 | +--rw encoding identityref 4024 | +--rw max-lsp-bandwidth* [priority] 4025 | +--rw priority uint8 4026 | +--rw te-bandwidth 4027 | +--rw (technology)? 4028 | +--:(generic) 4029 | +--rw generic? te-bandwidth 4030 +--rw label-restriction* [index] 4031 | +--rw index uint32 4032 | +--rw inclusive-exclusive? enumeration 4033 | +--rw label-start 4034 | | +--rw te-label 4035 | | +--rw (technology)? 4036 | | | +--:(generic) 4037 | | | +--rw generic? rt- 4038 types:generalized-label 4039 | | +--rw direction? te-label-direction 4040 | +--rw label-end 4041 | | +--rw te-label 4042 | | +--rw (technology)? 4043 | | | +--:(generic) 4044 | | | +--rw generic? rt- 4045 types:generalized-label 4046 | | +--rw direction? te-label-direction 4047 | +--rw range-bitmap? binary 4048 +--rw link-protection-type? enumeration 4049 +--rw max-link-bandwidth 4050 | +--rw te-bandwidth 4051 | +--rw (technology)? 4052 | +--:(generic) 4053 | +--rw generic? te-bandwidth 4054 +--rw max-resv-link-bandwidth 4055 | +--rw te-bandwidth 4056 | +--rw (technology)? 4057 | +--:(generic) 4058 | +--rw generic? te-bandwidth 4059 +--rw unreserved-bandwidth* [priority] 4060 | +--rw priority uint8 4061 | +--rw te-bandwidth 4062 | +--rw (technology)? 4063 | +--:(generic) 4064 | +--rw generic? te-bandwidth 4065 +--rw te-default-metric? uint32 4066 +--rw te-delay-metric? uint32 4067 +--rw te-igp-metric? uint32 4068 +--rw te-srlgs 4069 | +--rw value* te-types:srlg 4070 +--rw te-nsrlgs {nsrlg}? 4071 +--rw id* uint32 4072 augment /nw:networks/nw:network: 4073 +--rw provider-id? te-types:te-global-id 4074 +--rw client-id? te-types:te-global-id 4075 +--rw te-topology-id? te-types:te-topology-id 4076 +--rw te! 4077 +--rw name? string 4078 +--rw preference? uint8 4079 +--rw optimization-criterion? identityref 4080 +--rw nsrlg* [id] {nsrlg}? 4081 | +--rw id uint32 4082 | +--rw disjointness? te-types:te-path-disjointness 4083 +--ro geolocation 4084 +--ro altitude? int64 4085 +--ro latitude? geographic-coordinate-degree 4086 +--ro longitude? geographic-coordinate-degree 4087 augment /nw:networks/nw:network/nw:node: 4088 +--rw te-node-id? te-types:te-node-id 4089 +--rw te! 4090 +--rw te-node-template* -> 4091 ../../../../te/templates/node-template/name {template}? 4092 +--rw te-node-attributes 4093 | +--rw admin-status? te-types:te-admin-status 4094 | +--rw connectivity-matrices 4095 | | +--rw number-of-entries? uint16 4096 | | +--rw label-restriction* [index] 4097 | | | +--rw index uint32 4098 | | | +--rw inclusive-exclusive? enumeration 4099 | | | +--rw label-start 4100 | | | | +--rw te-label 4101 | | | | +--rw (technology)? 4102 | | | | | +--:(generic) 4103 | | | | | +--rw generic? rt-types:generalized- 4104 label 4105 | | | | +--rw direction? te-label-direction 4106 | | | +--rw label-end 4107 | | | | +--rw te-label 4108 | | | | +--rw (technology)? 4109 | | | | | +--:(generic) 4110 | | | | | +--rw generic? rt-types:generalized- 4111 label 4112 | | | | +--rw direction? te-label-direction 4113 | | | +--rw range-bitmap? binary 4114 | | +--rw is-allowed? boolean 4115 | | +--rw underlay {te-topology-hierarchy}? 4116 | | | +--rw enabled? boolean 4117 | | | +--rw primary-path 4118 | | | | +--rw network-ref? -> 4119 /nw:networks/network/network-id 4120 | | | | +--rw path-element* [path-element-id] 4121 | | | | +--rw path-element-id uint32 4122 | | | | +--rw index? uint32 4123 | | | | +--rw (type)? 4124 | | | | +--:(numbered) 4125 | | | | | +--rw numbered-hop 4126 | | | | | +--rw address? te-types:te-tp-id 4127 | | | | | +--rw hop-type? te-hop-type 4128 | | | | | +--rw direction? te-link-direction 4129 | | | | +--:(as-number) 4130 | | | | | +--rw as-number-hop 4131 | | | | | +--rw as-number? binary 4132 | | | | | +--rw hop-type? te-hop-type 4133 | | | | +--:(unnumbered) 4134 | | | | | +--rw unnumbered-hop 4135 | | | | | +--rw node-id? te-types:te-node- 4136 id 4137 | | | | | +--rw link-tp-id? te-types:te-tp-id 4138 | | | | | +--rw hop-type? te-hop-type 4139 | | | | | +--rw direction? te-link-direction 4140 | | | | +--:(label) 4141 | | | | +--rw label-hop 4142 | | | | +--rw te-label 4143 | | | | +--rw (technology)? 4144 | | | | | +--:(generic) 4145 | | | | | +--rw generic? rt- 4146 types:generalized-label 4147 | | | | +--rw direction? te-label- 4148 direction 4149 | | | +--rw backup-path* [index] 4150 | | | | +--rw index uint32 4151 | | | | +--rw network-ref? -> 4152 /nw:networks/network/network-id 4153 | | | | +--rw path-element* [path-element-id] 4154 | | | | +--rw path-element-id uint32 4155 | | | | +--rw index? uint32 4156 | | | | +--rw (type)? 4157 | | | | +--:(numbered) 4158 | | | | | +--rw numbered-hop 4159 | | | | | +--rw address? te-types:te-tp-id 4160 | | | | | +--rw hop-type? te-hop-type 4161 | | | | | +--rw direction? te-link-direction 4162 | | | | +--:(as-number) 4163 | | | | | +--rw as-number-hop 4164 | | | | | +--rw as-number? binary 4165 | | | | | +--rw hop-type? te-hop-type 4166 | | | | +--:(unnumbered) 4167 | | | | | +--rw unnumbered-hop 4168 | | | | | +--rw node-id? te-types:te-node- 4169 id 4170 | | | | | +--rw link-tp-id? te-types:te-tp-id 4171 | | | | | +--rw hop-type? te-hop-type 4172 | | | | | +--rw direction? te-link-direction 4173 | | | | +--:(label) 4174 | | | | +--rw label-hop 4175 | | | | +--rw te-label 4176 | | | | +--rw (technology)? 4177 | | | | | +--:(generic) 4178 | | | | | +--rw generic? rt- 4179 types:generalized-label 4180 | | | | +--rw direction? te-label- 4181 direction 4182 | | | +--rw protection-type? identityref 4183 | | | +--rw tunnel-termination-points 4184 | | | | +--rw source? binary 4185 | | | | +--rw destination? binary 4186 | | | +--rw tunnels 4187 | | | +--rw sharing? boolean 4188 | | | +--rw tunnel* [tunnel-name] 4189 | | | +--rw tunnel-name string 4190 | | | +--rw sharing? boolean 4191 | | +--rw path-constraints 4192 | | | +--rw path-metric-bound* [metric-type] 4193 | | | | +--rw metric-type identityref 4194 | | | | +--rw upper-bound? uint64 4195 | | | +--rw topology-id? te-types:te-topology-id 4196 | | | +--rw te-bandwidth 4197 | | | | +--rw (technology)? 4198 | | | | +--:(generic) 4199 | | | | +--rw generic? te-bandwidth 4200 | | | +--rw disjointness? te-types:te-path- 4201 disjointness 4202 | | | +--rw setup-priority? uint8 4203 | | | +--rw hold-priority? uint8 4204 | | | +--rw signaling-type? identityref 4205 | | | +--rw path-affinities 4206 | | | | +--rw constraint* [usage] 4207 | | | | +--rw usage identityref 4208 | | | | +--rw value? admin-groups 4209 | | | +--rw path-srlgs 4210 | | | +--rw usage? identityref 4211 | | | +--rw values* srlg 4212 | | +--rw optimizations 4213 | | | +--rw (algorithm)? 4214 | | | +--:(metric) {path-optimization-metric}? 4215 | | | | +--rw optimization-metric* [metric-type] 4216 | | | | | +--rw metric-type identityref 4217 | | | | | +--rw weight? uint8 4218 | | | | +--rw tiebreakers 4219 | | | | +--rw tiebreaker* [tiebreaker-type] 4220 | | | | +--rw tiebreaker-type identityref 4221 | | | +--:(objective-function) {path-optimization- 4222 objective-function}? 4223 | | | +--rw objective-function 4224 | | | +--rw objective-function-type? identityref 4225 | | +--ro path-properties 4226 | | | +--ro path-metric* [metric-type] 4227 | | | | +--ro metric-type identityref 4228 | | | | +--ro accumulative-value? uint64 4229 | | | +--ro path-affinities 4230 | | | | +--ro constraint* [usage] 4231 | | | | +--ro usage identityref 4232 | | | | +--ro value? admin-groups 4233 | | | +--ro path-srlgs 4234 | | | | +--ro usage? identityref 4235 | | | | +--ro values* srlg 4236 | | | +--ro path-route-objects 4237 | | | +--ro path-route-object* [index] 4238 | | | +--ro index uint32 4239 | | | +--ro (type)? 4240 | | | +--:(numbered) 4241 | | | | +--ro numbered-hop 4242 | | | | +--ro address? te-types:te-tp-id 4243 | | | | +--ro hop-type? te-hop-type 4244 | | | | +--ro direction? te-link-direction 4245 | | | +--:(as-number) 4246 | | | | +--ro as-number-hop 4247 | | | | +--ro as-number? binary 4248 | | | | +--ro hop-type? te-hop-type 4249 | | | +--:(unnumbered) 4250 | | | | +--ro unnumbered-hop 4251 | | | | +--ro node-id? te-types:te-node- 4252 id 4253 | | | | +--ro link-tp-id? te-types:te-tp-id 4254 | | | | +--ro hop-type? te-hop-type 4255 | | | | +--ro direction? te-link-direction 4256 | | | +--:(label) 4257 | | | +--ro label-hop 4258 | | | +--ro te-label 4259 | | | +--ro (technology)? 4260 | | | | +--:(generic) 4261 | | | | +--ro generic? rt- 4262 types:generalized-label 4263 | | | +--ro direction? te-label- 4264 direction 4265 | | +--rw connectivity-matrix* [id] 4266 | | +--rw id uint32 4267 | | +--rw from 4268 | | | +--rw tp-ref? -> 4269 ../../../../../../nt:termination-point/tp-id 4270 | | | +--rw label-restriction* [index] 4271 | | | +--rw index uint32 4272 | | | +--rw inclusive-exclusive? enumeration 4273 | | | +--rw label-start 4274 | | | | +--rw te-label 4275 | | | | +--rw (technology)? 4276 | | | | | +--:(generic) 4277 | | | | | +--rw generic? rt- 4278 types:generalized-label 4279 | | | | +--rw direction? te-label-direction 4280 | | | +--rw label-end 4281 | | | | +--rw te-label 4282 | | | | +--rw (technology)? 4283 | | | | | +--:(generic) 4284 | | | | | +--rw generic? rt- 4285 types:generalized-label 4286 | | | | +--rw direction? te-label-direction 4287 | | | +--rw range-bitmap? binary 4288 | | +--rw to 4289 | | | +--rw tp-ref? -> 4290 ../../../../../../nt:termination-point/tp-id 4291 | | | +--rw label-restriction* [index] 4292 | | | +--rw index uint32 4293 | | | +--rw inclusive-exclusive? enumeration 4294 | | | +--rw label-start 4295 | | | | +--rw te-label 4296 | | | | +--rw (technology)? 4297 | | | | | +--:(generic) 4298 | | | | | +--rw generic? rt- 4299 types:generalized-label 4300 | | | | +--rw direction? te-label-direction 4301 | | | +--rw label-end 4302 | | | | +--rw te-label 4303 | | | | +--rw (technology)? 4304 | | | | | +--:(generic) 4305 | | | | | +--rw generic? rt- 4306 types:generalized-label 4307 | | | | +--rw direction? te-label-direction 4308 | | | +--rw range-bitmap? binary 4309 | | +--rw is-allowed? boolean 4310 | | +--rw underlay {te-topology-hierarchy}? 4311 | | | +--rw enabled? boolean 4312 | | | +--rw primary-path 4313 | | | | +--rw network-ref? -> 4314 /nw:networks/network/network-id 4315 | | | | +--rw path-element* [path-element-id] 4316 | | | | +--rw path-element-id uint32 4317 | | | | +--rw index? uint32 4318 | | | | +--rw (type)? 4319 | | | | +--:(numbered) 4320 | | | | | +--rw numbered-hop 4321 | | | | | +--rw address? te-types:te-tp- 4322 id 4323 | | | | | +--rw hop-type? te-hop-type 4324 | | | | | +--rw direction? te-link- 4325 direction 4326 | | | | +--:(as-number) 4327 | | | | | +--rw as-number-hop 4328 | | | | | +--rw as-number? binary 4329 | | | | | +--rw hop-type? te-hop-type 4330 | | | | +--:(unnumbered) 4331 | | | | | +--rw unnumbered-hop 4332 | | | | | +--rw node-id? te-types:te- 4333 node-id 4334 | | | | | +--rw link-tp-id? te-types:te-tp- 4335 id 4336 | | | | | +--rw hop-type? te-hop-type 4337 | | | | | +--rw direction? te-link- 4338 direction 4339 | | | | +--:(label) 4340 | | | | +--rw label-hop 4341 | | | | +--rw te-label 4342 | | | | +--rw (technology)? 4343 | | | | | +--:(generic) 4344 | | | | | +--rw generic? rt- 4345 types:generalized-label 4346 | | | | +--rw direction? te-label- 4347 direction 4348 | | | +--rw backup-path* [index] 4349 | | | | +--rw index uint32 4350 | | | | +--rw network-ref? -> 4351 /nw:networks/network/network-id 4352 | | | | +--rw path-element* [path-element-id] 4353 | | | | +--rw path-element-id uint32 4354 | | | | +--rw index? uint32 4355 | | | | +--rw (type)? 4356 | | | | +--:(numbered) 4357 | | | | | +--rw numbered-hop 4358 | | | | | +--rw address? te-types:te-tp- 4359 id 4360 | | | | | +--rw hop-type? te-hop-type 4361 | | | | | +--rw direction? te-link- 4362 direction 4363 | | | | +--:(as-number) 4364 | | | | | +--rw as-number-hop 4365 | | | | | +--rw as-number? binary 4366 | | | | | +--rw hop-type? te-hop-type 4367 | | | | +--:(unnumbered) 4368 | | | | | +--rw unnumbered-hop 4369 | | | | | +--rw node-id? te-types:te- 4370 node-id 4371 | | | | | +--rw link-tp-id? te-types:te-tp- 4372 id 4373 | | | | | +--rw hop-type? te-hop-type 4374 | | | | | +--rw direction? te-link- 4375 direction 4376 | | | | +--:(label) 4377 | | | | +--rw label-hop 4378 | | | | +--rw te-label 4379 | | | | +--rw (technology)? 4380 | | | | | +--:(generic) 4381 | | | | | +--rw generic? rt- 4382 types:generalized-label 4383 | | | | +--rw direction? te-label- 4384 direction 4385 | | | +--rw protection-type? identityref 4386 | | | +--rw tunnel-termination-points 4387 | | | | +--rw source? binary 4388 | | | | +--rw destination? binary 4389 | | | +--rw tunnels 4390 | | | +--rw sharing? boolean 4391 | | | +--rw tunnel* [tunnel-name] 4392 | | | +--rw tunnel-name string 4393 | | | +--rw sharing? boolean 4394 | | +--rw path-constraints 4395 | | | +--rw path-metric-bound* [metric-type] 4396 | | | | +--rw metric-type identityref 4397 | | | | +--rw upper-bound? uint64 4398 | | | +--rw topology-id? te-types:te-topology-id 4399 | | | +--rw te-bandwidth 4400 | | | | +--rw (technology)? 4401 | | | | +--:(generic) 4402 | | | | +--rw generic? te-bandwidth 4403 | | | +--rw disjointness? te-types:te-path- 4404 disjointness 4405 | | | +--rw setup-priority? uint8 4406 | | | +--rw hold-priority? uint8 4407 | | | +--rw signaling-type? identityref 4408 | | | +--rw path-affinities 4409 | | | | +--rw constraint* [usage] 4410 | | | | +--rw usage identityref 4411 | | | | +--rw value? admin-groups 4412 | | | +--rw path-srlgs 4413 | | | +--rw usage? identityref 4414 | | | +--rw values* srlg 4415 | | +--rw optimizations 4416 | | | +--rw (algorithm)? 4417 | | | +--:(metric) {path-optimization-metric}? 4418 | | | | +--rw optimization-metric* [metric-type] 4419 | | | | | +--rw metric-type identityref 4420 | | | | | +--rw weight? uint8 4421 | | | | +--rw tiebreakers 4422 | | | | +--rw tiebreaker* [tiebreaker-type] 4423 | | | | +--rw tiebreaker-type identityref 4424 | | | +--:(objective-function) {path-optimization- 4425 objective-function}? 4426 | | | +--rw objective-function 4427 | | | +--rw objective-function-type? 4428 identityref 4429 | | +--ro path-properties 4430 | | +--ro path-metric* [metric-type] 4431 | | | +--ro metric-type identityref 4432 | | | +--ro accumulative-value? uint64 4433 | | +--ro path-affinities 4434 | | | +--ro constraint* [usage] 4435 | | | +--ro usage identityref 4436 | | | +--ro value? admin-groups 4437 | | +--ro path-srlgs 4438 | | | +--ro usage? identityref 4439 | | | +--ro values* srlg 4440 | | +--ro path-route-objects 4441 | | +--ro path-route-object* [index] 4442 | | +--ro index uint32 4443 | | +--ro (type)? 4444 | | +--:(numbered) 4445 | | | +--ro numbered-hop 4446 | | | +--ro address? te-types:te-tp- 4447 id 4448 | | | +--ro hop-type? te-hop-type 4449 | | | +--ro direction? te-link- 4450 direction 4451 | | +--:(as-number) 4452 | | | +--ro as-number-hop 4453 | | | +--ro as-number? binary 4454 | | | +--ro hop-type? te-hop-type 4455 | | +--:(unnumbered) 4456 | | | +--ro unnumbered-hop 4457 | | | +--ro node-id? te-types:te- 4458 node-id 4459 | | | +--ro link-tp-id? te-types:te-tp- 4460 id 4461 | | | +--ro hop-type? te-hop-type 4462 | | | +--ro direction? te-link- 4463 direction 4464 | | +--:(label) 4465 | | +--ro label-hop 4466 | | +--ro te-label 4467 | | +--ro (technology)? 4468 | | | +--:(generic) 4469 | | | +--ro generic? rt- 4470 types:generalized-label 4471 | | +--ro direction? te-label- 4472 direction 4473 | +--rw domain-id? uint32 4474 | +--rw is-abstract? empty 4475 | +--rw name? string 4476 | +--rw signaling-address* inet:ip-address 4477 | +--rw underlay-topology {te-topology-hierarchy}? 4478 | +--rw network-ref? -> /nw:networks/network/network-id 4479 +--ro oper-status? te-types:te-oper-status 4480 +--ro geolocation 4481 | +--ro altitude? int64 4482 | +--ro latitude? geographic-coordinate-degree 4483 | +--ro longitude? geographic-coordinate-degree 4484 +--ro is-multi-access-dr? empty 4485 +--ro information-source? te-info-source 4486 +--ro information-source-state 4487 | +--ro credibility-preference? uint16 4488 | +--ro logical-network-element? string 4489 | +--ro network-instance? string 4490 | +--ro topology 4491 | +--ro node-ref? -> /nw:networks/network[nw:network- 4492 id=current()/../network-ref]/node/node-id 4493 | +--ro network-ref? -> /nw:networks/network/network-id 4494 +--ro information-source-entry* [information-source] 4495 | +--ro information-source te-info-source 4496 | +--ro information-source-state 4497 | | +--ro credibility-preference? uint16 4498 | | +--ro logical-network-element? string 4499 | | +--ro network-instance? string 4500 | | +--ro topology 4501 | | +--ro node-ref? -> 4502 /nw:networks/network[nw:network-id=current()/../network- 4503 ref]/node/node-id 4504 | | +--ro network-ref? -> /nw:networks/network/network- 4505 id 4506 | +--ro connectivity-matrices 4507 | | +--ro number-of-entries? uint16 4508 | | +--ro label-restriction* [index] 4509 | | | +--ro index uint32 4510 | | | +--ro inclusive-exclusive? enumeration 4511 | | | +--ro label-start 4512 | | | | +--ro te-label 4513 | | | | +--ro (technology)? 4514 | | | | | +--:(generic) 4515 | | | | | +--ro generic? rt-types:generalized- 4516 label 4517 | | | | +--ro direction? te-label-direction 4518 | | | +--ro label-end 4519 | | | | +--ro te-label 4520 | | | | +--ro (technology)? 4521 | | | | | +--:(generic) 4522 | | | | | +--ro generic? rt-types:generalized- 4523 label 4524 | | | | +--ro direction? te-label-direction 4525 | | | +--ro range-bitmap? binary 4526 | | +--ro is-allowed? boolean 4527 | | +--ro underlay {te-topology-hierarchy}? 4528 | | | +--ro enabled? boolean 4529 | | | +--ro primary-path 4530 | | | | +--ro network-ref? -> 4531 /nw:networks/network/network-id 4532 | | | | +--ro path-element* [path-element-id] 4533 | | | | +--ro path-element-id uint32 4534 | | | | +--ro index? uint32 4535 | | | | +--ro (type)? 4536 | | | | +--:(numbered) 4537 | | | | | +--ro numbered-hop 4538 | | | | | +--ro address? te-types:te-tp-id 4539 | | | | | +--ro hop-type? te-hop-type 4540 | | | | | +--ro direction? te-link-direction 4541 | | | | +--:(as-number) 4542 | | | | | +--ro as-number-hop 4543 | | | | | +--ro as-number? binary 4544 | | | | | +--ro hop-type? te-hop-type 4545 | | | | +--:(unnumbered) 4546 | | | | | +--ro unnumbered-hop 4547 | | | | | +--ro node-id? te-types:te-node- 4548 id 4549 | | | | | +--ro link-tp-id? te-types:te-tp-id 4550 | | | | | +--ro hop-type? te-hop-type 4551 | | | | | +--ro direction? te-link-direction 4552 | | | | +--:(label) 4553 | | | | +--ro label-hop 4554 | | | | +--ro te-label 4555 | | | | +--ro (technology)? 4556 | | | | | +--:(generic) 4557 | | | | | +--ro generic? rt- 4558 types:generalized-label 4559 | | | | +--ro direction? te-label- 4560 direction 4561 | | | +--ro backup-path* [index] 4562 | | | | +--ro index uint32 4563 | | | | +--ro network-ref? -> 4564 /nw:networks/network/network-id 4565 | | | | +--ro path-element* [path-element-id] 4566 | | | | +--ro path-element-id uint32 4567 | | | | +--ro index? uint32 4568 | | | | +--ro (type)? 4569 | | | | +--:(numbered) 4570 | | | | | +--ro numbered-hop 4571 | | | | | +--ro address? te-types:te-tp-id 4572 | | | | | +--ro hop-type? te-hop-type 4573 | | | | | +--ro direction? te-link-direction 4574 | | | | +--:(as-number) 4575 | | | | | +--ro as-number-hop 4576 | | | | | +--ro as-number? binary 4577 | | | | | +--ro hop-type? te-hop-type 4578 | | | | +--:(unnumbered) 4579 | | | | | +--ro unnumbered-hop 4580 | | | | | +--ro node-id? te-types:te-node- 4581 id 4582 | | | | | +--ro link-tp-id? te-types:te-tp-id 4583 | | | | | +--ro hop-type? te-hop-type 4584 | | | | | +--ro direction? te-link-direction 4585 | | | | +--:(label) 4586 | | | | +--ro label-hop 4587 | | | | +--ro te-label 4588 | | | | +--ro (technology)? 4589 | | | | | +--:(generic) 4590 | | | | | +--ro generic? rt- 4591 types:generalized-label 4592 | | | | +--ro direction? te-label- 4593 direction 4594 | | | +--ro protection-type? identityref 4595 | | | +--ro tunnel-termination-points 4596 | | | | +--ro source? binary 4597 | | | | +--ro destination? binary 4598 | | | +--ro tunnels 4599 | | | +--ro sharing? boolean 4600 | | | +--ro tunnel* [tunnel-name] 4601 | | | +--ro tunnel-name string 4602 | | | +--ro sharing? boolean 4603 | | +--ro path-constraints 4604 | | | +--ro path-metric-bound* [metric-type] 4605 | | | | +--ro metric-type identityref 4606 | | | | +--ro upper-bound? uint64 4607 | | | +--ro topology-id? te-types:te-topology-id 4608 | | | +--ro te-bandwidth 4609 | | | | +--ro (technology)? 4610 | | | | +--:(generic) 4611 | | | | +--ro generic? te-bandwidth 4612 | | | +--ro disjointness? te-types:te-path- 4613 disjointness 4614 | | | +--ro setup-priority? uint8 4615 | | | +--ro hold-priority? uint8 4616 | | | +--ro signaling-type? identityref 4617 | | | +--ro path-affinities 4618 | | | | +--ro constraint* [usage] 4619 | | | | +--ro usage identityref 4620 | | | | +--ro value? admin-groups 4621 | | | +--ro path-srlgs 4622 | | | +--ro usage? identityref 4623 | | | +--ro values* srlg 4624 | | +--ro optimizations 4625 | | | +--ro (algorithm)? 4626 | | | +--:(metric) {path-optimization-metric}? 4627 | | | | +--ro optimization-metric* [metric-type] 4628 | | | | | +--ro metric-type identityref 4629 | | | | | +--ro weight? uint8 4630 | | | | +--ro tiebreakers 4631 | | | | +--ro tiebreaker* [tiebreaker-type] 4632 | | | | +--ro tiebreaker-type identityref 4633 | | | +--:(objective-function) {path-optimization- 4634 objective-function}? 4635 | | | +--ro objective-function 4636 | | | +--ro objective-function-type? identityref 4637 | | +--ro path-properties 4638 | | | +--ro path-metric* [metric-type] 4639 | | | | +--ro metric-type identityref 4640 | | | | +--ro accumulative-value? uint64 4641 | | | +--ro path-affinities 4642 | | | | +--ro constraint* [usage] 4643 | | | | +--ro usage identityref 4644 | | | | +--ro value? admin-groups 4645 | | | +--ro path-srlgs 4646 | | | | +--ro usage? identityref 4647 | | | | +--ro values* srlg 4648 | | | +--ro path-route-objects 4649 | | | +--ro path-route-object* [index] 4650 | | | +--ro index uint32 4651 | | | +--ro (type)? 4652 | | | +--:(numbered) 4653 | | | | +--ro numbered-hop 4654 | | | | +--ro address? te-types:te-tp-id 4655 | | | | +--ro hop-type? te-hop-type 4656 | | | | +--ro direction? te-link-direction 4657 | | | +--:(as-number) 4658 | | | | +--ro as-number-hop 4659 | | | | +--ro as-number? binary 4660 | | | | +--ro hop-type? te-hop-type 4661 | | | +--:(unnumbered) 4662 | | | | +--ro unnumbered-hop 4663 | | | | +--ro node-id? te-types:te-node- 4664 id 4665 | | | | +--ro link-tp-id? te-types:te-tp-id 4666 | | | | +--ro hop-type? te-hop-type 4667 | | | | +--ro direction? te-link-direction 4668 | | | +--:(label) 4669 | | | +--ro label-hop 4670 | | | +--ro te-label 4671 | | | +--ro (technology)? 4672 | | | | +--:(generic) 4673 | | | | +--ro generic? rt- 4674 types:generalized-label 4675 | | | +--ro direction? te-label- 4676 direction 4677 | | +--ro connectivity-matrix* [id] 4678 | | +--ro id uint32 4679 | | +--ro from 4680 | | | +--ro tp-ref? -> 4681 ../../../../../../nt:termination-point/tp-id 4682 | | | +--ro label-restriction* [index] 4683 | | | +--ro index uint32 4684 | | | +--ro inclusive-exclusive? enumeration 4685 | | | +--ro label-start 4686 | | | | +--ro te-label 4687 | | | | +--ro (technology)? 4688 | | | | | +--:(generic) 4689 | | | | | +--ro generic? rt- 4690 types:generalized-label 4691 | | | | +--ro direction? te-label-direction 4692 | | | +--ro label-end 4693 | | | | +--ro te-label 4694 | | | | +--ro (technology)? 4695 | | | | | +--:(generic) 4696 | | | | | +--ro generic? rt- 4697 types:generalized-label 4698 | | | | +--ro direction? te-label-direction 4699 | | | +--ro range-bitmap? binary 4700 | | +--ro to 4701 | | | +--ro tp-ref? -> 4702 ../../../../../../nt:termination-point/tp-id 4703 | | | +--ro label-restriction* [index] 4704 | | | +--ro index uint32 4705 | | | +--ro inclusive-exclusive? enumeration 4706 | | | +--ro label-start 4707 | | | | +--ro te-label 4708 | | | | +--ro (technology)? 4709 | | | | | +--:(generic) 4710 | | | | | +--ro generic? rt- 4711 types:generalized-label 4712 | | | | +--ro direction? te-label-direction 4713 | | | +--ro label-end 4714 | | | | +--ro te-label 4715 | | | | +--ro (technology)? 4716 | | | | | +--:(generic) 4717 | | | | | +--ro generic? rt- 4718 types:generalized-label 4719 | | | | +--ro direction? te-label-direction 4720 | | | +--ro range-bitmap? binary 4721 | | +--ro is-allowed? boolean 4722 | | +--ro underlay {te-topology-hierarchy}? 4723 | | | +--ro enabled? boolean 4724 | | | +--ro primary-path 4725 | | | | +--ro network-ref? -> 4726 /nw:networks/network/network-id 4727 | | | | +--ro path-element* [path-element-id] 4728 | | | | +--ro path-element-id uint32 4729 | | | | +--ro index? uint32 4730 | | | | +--ro (type)? 4731 | | | | +--:(numbered) 4732 | | | | | +--ro numbered-hop 4733 | | | | | +--ro address? te-types:te-tp- 4734 id 4735 | | | | | +--ro hop-type? te-hop-type 4736 | | | | | +--ro direction? te-link- 4737 direction 4738 | | | | +--:(as-number) 4739 | | | | | +--ro as-number-hop 4740 | | | | | +--ro as-number? binary 4741 | | | | | +--ro hop-type? te-hop-type 4742 | | | | +--:(unnumbered) 4743 | | | | | +--ro unnumbered-hop 4744 | | | | | +--ro node-id? te-types:te- 4745 node-id 4746 | | | | | +--ro link-tp-id? te-types:te-tp- 4747 id 4748 | | | | | +--ro hop-type? te-hop-type 4749 | | | | | +--ro direction? te-link- 4750 direction 4751 | | | | +--:(label) 4752 | | | | +--ro label-hop 4753 | | | | +--ro te-label 4754 | | | | +--ro (technology)? 4755 | | | | | +--:(generic) 4756 | | | | | +--ro generic? rt- 4757 types:generalized-label 4758 | | | | +--ro direction? te-label- 4759 direction 4760 | | | +--ro backup-path* [index] 4761 | | | | +--ro index uint32 4762 | | | | +--ro network-ref? -> 4763 /nw:networks/network/network-id 4764 | | | | +--ro path-element* [path-element-id] 4765 | | | | +--ro path-element-id uint32 4766 | | | | +--ro index? uint32 4767 | | | | +--ro (type)? 4768 | | | | +--:(numbered) 4769 | | | | | +--ro numbered-hop 4770 | | | | | +--ro address? te-types:te-tp- 4771 id 4772 | | | | | +--ro hop-type? te-hop-type 4773 | | | | | +--ro direction? te-link- 4774 direction 4775 | | | | +--:(as-number) 4776 | | | | | +--ro as-number-hop 4777 | | | | | +--ro as-number? binary 4778 | | | | | +--ro hop-type? te-hop-type 4779 | | | | +--:(unnumbered) 4780 | | | | | +--ro unnumbered-hop 4781 | | | | | +--ro node-id? te-types:te- 4782 node-id 4783 | | | | | +--ro link-tp-id? te-types:te-tp- 4784 id 4785 | | | | | +--ro hop-type? te-hop-type 4786 | | | | | +--ro direction? te-link- 4787 direction 4788 | | | | +--:(label) 4789 | | | | +--ro label-hop 4790 | | | | +--ro te-label 4791 | | | | +--ro (technology)? 4792 | | | | | +--:(generic) 4793 | | | | | +--ro generic? rt- 4794 types:generalized-label 4795 | | | | +--ro direction? te-label- 4796 direction 4797 | | | +--ro protection-type? identityref 4798 | | | +--ro tunnel-termination-points 4799 | | | | +--ro source? binary 4800 | | | | +--ro destination? binary 4801 | | | +--ro tunnels 4802 | | | +--ro sharing? boolean 4803 | | | +--ro tunnel* [tunnel-name] 4804 | | | +--ro tunnel-name string 4805 | | | +--ro sharing? boolean 4806 | | +--ro path-constraints 4807 | | | +--ro path-metric-bound* [metric-type] 4808 | | | | +--ro metric-type identityref 4809 | | | | +--ro upper-bound? uint64 4810 | | | +--ro topology-id? te-types:te-topology-id 4811 | | | +--ro te-bandwidth 4812 | | | | +--ro (technology)? 4813 | | | | +--:(generic) 4814 | | | | +--ro generic? te-bandwidth 4815 | | | +--ro disjointness? te-types:te-path- 4816 disjointness 4817 | | | +--ro setup-priority? uint8 4818 | | | +--ro hold-priority? uint8 4819 | | | +--ro signaling-type? identityref 4820 | | | +--ro path-affinities 4821 | | | | +--ro constraint* [usage] 4822 | | | | +--ro usage identityref 4823 | | | | +--ro value? admin-groups 4824 | | | +--ro path-srlgs 4825 | | | +--ro usage? identityref 4826 | | | +--ro values* srlg 4827 | | +--ro optimizations 4828 | | | +--ro (algorithm)? 4829 | | | +--:(metric) {path-optimization-metric}? 4830 | | | | +--ro optimization-metric* [metric-type] 4831 | | | | | +--ro metric-type identityref 4832 | | | | | +--ro weight? uint8 4833 | | | | +--ro tiebreakers 4834 | | | | +--ro tiebreaker* [tiebreaker-type] 4835 | | | | +--ro tiebreaker-type identityref 4836 | | | +--:(objective-function) {path-optimization- 4837 objective-function}? 4838 | | | +--ro objective-function 4839 | | | +--ro objective-function-type? 4840 identityref 4841 | | +--ro path-properties 4842 | | +--ro path-metric* [metric-type] 4843 | | | +--ro metric-type identityref 4844 | | | +--ro accumulative-value? uint64 4845 | | +--ro path-affinities 4846 | | | +--ro constraint* [usage] 4847 | | | +--ro usage identityref 4848 | | | +--ro value? admin-groups 4849 | | +--ro path-srlgs 4850 | | | +--ro usage? identityref 4851 | | | +--ro values* srlg 4852 | | +--ro path-route-objects 4853 | | +--ro path-route-object* [index] 4854 | | +--ro index uint32 4855 | | +--ro (type)? 4856 | | +--:(numbered) 4857 | | | +--ro numbered-hop 4858 | | | +--ro address? te-types:te-tp- 4859 id 4860 | | | +--ro hop-type? te-hop-type 4861 | | | +--ro direction? te-link- 4862 direction 4863 | | +--:(as-number) 4864 | | | +--ro as-number-hop 4865 | | | +--ro as-number? binary 4866 | | | +--ro hop-type? te-hop-type 4867 | | +--:(unnumbered) 4868 | | | +--ro unnumbered-hop 4869 | | | +--ro node-id? te-types:te- 4870 node-id 4871 | | | +--ro link-tp-id? te-types:te-tp- 4872 id 4873 | | | +--ro hop-type? te-hop-type 4874 | | | +--ro direction? te-link- 4875 direction 4876 | | +--:(label) 4877 | | +--ro label-hop 4878 | | +--ro te-label 4879 | | +--ro (technology)? 4880 | | | +--:(generic) 4881 | | | +--ro generic? rt- 4882 types:generalized-label 4883 | | +--ro direction? te-label- 4884 direction 4885 | +--ro domain-id? uint32 4886 | +--ro is-abstract? empty 4887 | +--ro name? string 4888 | +--ro signaling-address* inet:ip-address 4889 | +--ro underlay-topology {te-topology-hierarchy}? 4890 | +--ro network-ref? -> /nw:networks/network/network-id 4891 +--ro statistics 4892 | +--ro discontinuity-time? yang:date-and-time 4893 | +--ro node 4894 | | +--ro disables? yang:counter32 4895 | | +--ro enables? yang:counter32 4896 | | +--ro maintenance-sets? yang:counter32 4897 | | +--ro maintenance-clears? yang:counter32 4898 | | +--ro modifies? yang:counter32 4899 | +--ro connectivity-matrix-entry 4900 | +--ro creates? yang:counter32 4901 | +--ro deletes? yang:counter32 4902 | +--ro disables? yang:counter32 4903 | +--ro enables? yang:counter32 4904 | +--ro modifies? yang:counter32 4905 +--rw tunnel-termination-point* [tunnel-tp-id] 4906 +--rw tunnel-tp-id binary 4907 +--rw admin-status? te-types:te- 4908 admin-status 4909 +--rw name? string 4910 +--rw switching-capability? identityref 4911 +--rw encoding? identityref 4912 +--rw inter-layer-lock-id* uint32 4913 +--rw protection-type? identityref 4914 +--rw client-layer-adaptation 4915 | +--rw switching-capability* [switching-capability 4916 encoding] 4917 | +--rw switching-capability identityref 4918 | +--rw encoding identityref 4919 | +--rw te-bandwidth 4920 | +--rw (technology)? 4921 | +--:(generic) 4922 | +--rw generic? te-bandwidth 4923 +--rw local-link-connectivities 4924 | +--rw number-of-entries? uint16 4925 | +--rw label-restriction* [index] 4926 | | +--rw index uint32 4927 | | +--rw inclusive-exclusive? enumeration 4928 | | +--rw label-start 4929 | | | +--rw te-label 4930 | | | +--rw (technology)? 4931 | | | | +--:(generic) 4932 | | | | +--rw generic? rt-types:generalized- 4933 label 4934 | | | +--rw direction? te-label-direction 4935 | | +--rw label-end 4936 | | | +--rw te-label 4937 | | | +--rw (technology)? 4938 | | | | +--:(generic) 4939 | | | | +--rw generic? rt-types:generalized- 4940 label 4941 | | | +--rw direction? te-label-direction 4942 | | +--rw range-bitmap? binary 4943 | +--rw is-allowed? boolean 4944 | +--rw underlay {te-topology-hierarchy}? 4945 | | +--rw enabled? boolean 4946 | | +--rw primary-path 4947 | | | +--rw network-ref? -> 4948 /nw:networks/network/network-id 4949 | | | +--rw path-element* [path-element-id] 4950 | | | +--rw path-element-id uint32 4951 | | | +--rw index? uint32 4952 | | | +--rw (type)? 4953 | | | +--:(numbered) 4954 | | | | +--rw numbered-hop 4955 | | | | +--rw address? te-types:te-tp-id 4956 | | | | +--rw hop-type? te-hop-type 4957 | | | | +--rw direction? te-link-direction 4958 | | | +--:(as-number) 4959 | | | | +--rw as-number-hop 4960 | | | | +--rw as-number? binary 4961 | | | | +--rw hop-type? te-hop-type 4962 | | | +--:(unnumbered) 4963 | | | | +--rw unnumbered-hop 4964 | | | | +--rw node-id? te-types:te-node- 4965 id 4966 | | | | +--rw link-tp-id? te-types:te-tp-id 4967 | | | | +--rw hop-type? te-hop-type 4968 | | | | +--rw direction? te-link-direction 4969 | | | +--:(label) 4970 | | | +--rw label-hop 4971 | | | +--rw te-label 4972 | | | +--rw (technology)? 4973 | | | | +--:(generic) 4974 | | | | +--rw generic? rt- 4975 types:generalized-label 4976 | | | +--rw direction? te-label- 4977 direction 4978 | | +--rw backup-path* [index] 4979 | | | +--rw index uint32 4980 | | | +--rw network-ref? -> 4981 /nw:networks/network/network-id 4982 | | | +--rw path-element* [path-element-id] 4983 | | | +--rw path-element-id uint32 4984 | | | +--rw index? uint32 4985 | | | +--rw (type)? 4986 | | | +--:(numbered) 4987 | | | | +--rw numbered-hop 4988 | | | | +--rw address? te-types:te-tp-id 4989 | | | | +--rw hop-type? te-hop-type 4990 | | | | +--rw direction? te-link-direction 4991 | | | +--:(as-number) 4992 | | | | +--rw as-number-hop 4993 | | | | +--rw as-number? binary 4994 | | | | +--rw hop-type? te-hop-type 4995 | | | +--:(unnumbered) 4996 | | | | +--rw unnumbered-hop 4997 | | | | +--rw node-id? te-types:te-node- 4998 id 4999 | | | | +--rw link-tp-id? te-types:te-tp-id 5000 | | | | +--rw hop-type? te-hop-type 5001 | | | | +--rw direction? te-link-direction 5002 | | | +--:(label) 5003 | | | +--rw label-hop 5004 | | | +--rw te-label 5005 | | | +--rw (technology)? 5006 | | | | +--:(generic) 5007 | | | | +--rw generic? rt- 5008 types:generalized-label 5009 | | | +--rw direction? te-label- 5010 direction 5011 | | +--rw protection-type? identityref 5012 | | +--rw tunnel-termination-points 5013 | | | +--rw source? binary 5014 | | | +--rw destination? binary 5015 | | +--rw tunnels 5016 | | +--rw sharing? boolean 5017 | | +--rw tunnel* [tunnel-name] 5018 | | +--rw tunnel-name string 5019 | | +--rw sharing? boolean 5020 | +--rw path-constraints 5021 | | +--rw path-metric-bound* [metric-type] 5022 | | | +--rw metric-type identityref 5023 | | | +--rw upper-bound? uint64 5024 | | +--rw topology-id? te-types:te-topology-id 5025 | | +--rw te-bandwidth 5026 | | | +--rw (technology)? 5027 | | | +--:(generic) 5028 | | | +--rw generic? te-bandwidth 5029 | | +--rw disjointness? te-types:te-path- 5030 disjointness 5031 | | +--rw setup-priority? uint8 5032 | | +--rw hold-priority? uint8 5033 | | +--rw signaling-type? identityref 5034 | | +--rw path-affinities 5035 | | | +--rw constraint* [usage] 5036 | | | +--rw usage identityref 5037 | | | +--rw value? admin-groups 5038 | | +--rw path-srlgs 5039 | | +--rw usage? identityref 5040 | | +--rw values* srlg 5041 | +--rw optimizations 5042 | | +--rw (algorithm)? 5043 | | +--:(metric) {path-optimization-metric}? 5044 | | | +--rw optimization-metric* [metric-type] 5045 | | | | +--rw metric-type identityref 5046 | | | | +--rw weight? uint8 5047 | | | +--rw tiebreakers 5048 | | | +--rw tiebreaker* [tiebreaker-type] 5049 | | | +--rw tiebreaker-type identityref 5050 | | +--:(objective-function) {path-optimization- 5051 objective-function}? 5052 | | +--rw objective-function 5053 | | +--rw objective-function-type? identityref 5054 | +--ro path-properties 5055 | | +--ro path-metric* [metric-type] 5056 | | | +--ro metric-type identityref 5057 | | | +--ro accumulative-value? uint64 5058 | | +--ro path-affinities 5059 | | | +--ro constraint* [usage] 5060 | | | +--ro usage identityref 5061 | | | +--ro value? admin-groups 5062 | | +--ro path-srlgs 5063 | | | +--ro usage? identityref 5064 | | | +--ro values* srlg 5065 | | +--ro path-route-objects 5066 | | +--ro path-route-object* [index] 5067 | | +--ro index uint32 5068 | | +--ro (type)? 5069 | | +--:(numbered) 5070 | | | +--ro numbered-hop 5071 | | | +--ro address? te-types:te-tp-id 5072 | | | +--ro hop-type? te-hop-type 5073 | | | +--ro direction? te-link-direction 5074 | | +--:(as-number) 5075 | | | +--ro as-number-hop 5076 | | | +--ro as-number? binary 5077 | | | +--ro hop-type? te-hop-type 5078 | | +--:(unnumbered) 5079 | | | +--ro unnumbered-hop 5080 | | | +--ro node-id? te-types:te-node- 5081 id 5082 | | | +--ro link-tp-id? te-types:te-tp-id 5083 | | | +--ro hop-type? te-hop-type 5084 | | | +--ro direction? te-link-direction 5085 | | +--:(label) 5086 | | +--ro label-hop 5087 | | +--ro te-label 5088 | | +--ro (technology)? 5089 | | | +--:(generic) 5090 | | | +--ro generic? rt- 5091 types:generalized-label 5092 | | +--ro direction? te-label- 5093 direction 5094 | +--rw local-link-connectivity* [link-tp-ref] 5095 | +--rw link-tp-ref -> 5096 ../../../../../nt:termination-point/tp-id 5097 | +--rw label-restriction* [index] 5098 | | +--rw index uint32 5099 | | +--rw inclusive-exclusive? enumeration 5100 | | +--rw label-start 5101 | | | +--rw te-label 5102 | | | +--rw (technology)? 5103 | | | | +--:(generic) 5104 | | | | +--rw generic? rt- 5105 types:generalized-label 5106 | | | +--rw direction? te-label-direction 5107 | | +--rw label-end 5108 | | | +--rw te-label 5109 | | | +--rw (technology)? 5110 | | | | +--:(generic) 5111 | | | | +--rw generic? rt- 5112 types:generalized-label 5113 | | | +--rw direction? te-label-direction 5114 | | +--rw range-bitmap? binary 5115 | +--rw is-allowed? boolean 5116 | +--rw underlay {te-topology-hierarchy}? 5117 | | +--rw enabled? boolean 5118 | | +--rw primary-path 5119 | | | +--rw network-ref? -> 5120 /nw:networks/network/network-id 5121 | | | +--rw path-element* [path-element-id] 5122 | | | +--rw path-element-id uint32 5123 | | | +--rw index? uint32 5124 | | | +--rw (type)? 5125 | | | +--:(numbered) 5126 | | | | +--rw numbered-hop 5127 | | | | +--rw address? te-types:te-tp- 5128 id 5129 | | | | +--rw hop-type? te-hop-type 5130 | | | | +--rw direction? te-link- 5131 direction 5132 | | | +--:(as-number) 5133 | | | | +--rw as-number-hop 5134 | | | | +--rw as-number? binary 5135 | | | | +--rw hop-type? te-hop-type 5136 | | | +--:(unnumbered) 5137 | | | | +--rw unnumbered-hop 5138 | | | | +--rw node-id? te-types:te- 5139 node-id 5140 | | | | +--rw link-tp-id? te-types:te-tp- 5141 id 5142 | | | | +--rw hop-type? te-hop-type 5143 | | | | +--rw direction? te-link- 5144 direction 5145 | | | +--:(label) 5146 | | | +--rw label-hop 5147 | | | +--rw te-label 5148 | | | +--rw (technology)? 5149 | | | | +--:(generic) 5150 | | | | +--rw generic? rt- 5151 types:generalized-label 5152 | | | +--rw direction? te-label- 5153 direction 5154 | | +--rw backup-path* [index] 5155 | | | +--rw index uint32 5156 | | | +--rw network-ref? -> 5157 /nw:networks/network/network-id 5158 | | | +--rw path-element* [path-element-id] 5159 | | | +--rw path-element-id uint32 5160 | | | +--rw index? uint32 5161 | | | +--rw (type)? 5162 | | | +--:(numbered) 5163 | | | | +--rw numbered-hop 5164 | | | | +--rw address? te-types:te-tp- 5165 id 5166 | | | | +--rw hop-type? te-hop-type 5167 | | | | +--rw direction? te-link- 5168 direction 5169 | | | +--:(as-number) 5170 | | | | +--rw as-number-hop 5171 | | | | +--rw as-number? binary 5172 | | | | +--rw hop-type? te-hop-type 5173 | | | +--:(unnumbered) 5174 | | | | +--rw unnumbered-hop 5175 | | | | +--rw node-id? te-types:te- 5176 node-id 5177 | | | | +--rw link-tp-id? te-types:te-tp- 5178 id 5179 | | | | +--rw hop-type? te-hop-type 5180 | | | | +--rw direction? te-link- 5181 direction 5182 | | | +--:(label) 5183 | | | +--rw label-hop 5184 | | | +--rw te-label 5185 | | | +--rw (technology)? 5186 | | | | +--:(generic) 5187 | | | | +--rw generic? rt- 5188 types:generalized-label 5189 | | | +--rw direction? te-label- 5190 direction 5191 | | +--rw protection-type? identityref 5192 | | +--rw tunnel-termination-points 5193 | | | +--rw source? binary 5194 | | | +--rw destination? binary 5195 | | +--rw tunnels 5196 | | +--rw sharing? boolean 5197 | | +--rw tunnel* [tunnel-name] 5198 | | +--rw tunnel-name string 5199 | | +--rw sharing? boolean 5200 | +--rw path-constraints 5201 | | +--rw path-metric-bound* [metric-type] 5202 | | | +--rw metric-type identityref 5203 | | | +--rw upper-bound? uint64 5204 | | +--rw topology-id? te-types:te-topology-id 5205 | | +--rw te-bandwidth 5206 | | | +--rw (technology)? 5207 | | | +--:(generic) 5208 | | | +--rw generic? te-bandwidth 5209 | | +--rw disjointness? te-types:te-path- 5210 disjointness 5211 | | +--rw setup-priority? uint8 5212 | | +--rw hold-priority? uint8 5213 | | +--rw signaling-type? identityref 5214 | | +--rw path-affinities 5215 | | | +--rw constraint* [usage] 5216 | | | +--rw usage identityref 5217 | | | +--rw value? admin-groups 5218 | | +--rw path-srlgs 5219 | | +--rw usage? identityref 5220 | | +--rw values* srlg 5221 | +--rw optimizations 5222 | | +--rw (algorithm)? 5223 | | +--:(metric) {path-optimization-metric}? 5224 | | | +--rw optimization-metric* [metric-type] 5225 | | | | +--rw metric-type identityref 5226 | | | | +--rw weight? uint8 5227 | | | +--rw tiebreakers 5228 | | | +--rw tiebreaker* [tiebreaker-type] 5229 | | | +--rw tiebreaker-type identityref 5230 | | +--:(objective-function) {path-optimization- 5231 objective-function}? 5232 | | +--rw objective-function 5233 | | +--rw objective-function-type? 5234 identityref 5235 | +--ro path-properties 5236 | +--ro path-metric* [metric-type] 5237 | | +--ro metric-type identityref 5238 | | +--ro accumulative-value? uint64 5239 | +--ro path-affinities 5240 | | +--ro constraint* [usage] 5241 | | +--ro usage identityref 5242 | | +--ro value? admin-groups 5243 | +--ro path-srlgs 5244 | | +--ro usage? identityref 5245 | | +--ro values* srlg 5246 | +--ro path-route-objects 5247 | +--ro path-route-object* [index] 5248 | +--ro index uint32 5249 | +--ro (type)? 5250 | +--:(numbered) 5251 | | +--ro numbered-hop 5252 | | +--ro address? te-types:te-tp- 5253 id 5254 | | +--ro hop-type? te-hop-type 5255 | | +--ro direction? te-link- 5256 direction 5257 | +--:(as-number) 5258 | | +--ro as-number-hop 5259 | | +--ro as-number? binary 5260 | | +--ro hop-type? te-hop-type 5261 | +--:(unnumbered) 5262 | | +--ro unnumbered-hop 5263 | | +--ro node-id? te-types:te- 5264 node-id 5265 | | +--ro link-tp-id? te-types:te-tp- 5266 id 5267 | | +--ro hop-type? te-hop-type 5268 | | +--ro direction? te-link- 5269 direction 5270 | +--:(label) 5271 | +--ro label-hop 5272 | +--ro te-label 5273 | +--ro (technology)? 5274 | | +--:(generic) 5275 | | +--ro generic? rt- 5276 types:generalized-label 5277 | +--ro direction? te-label- 5278 direction 5279 +--ro oper-status? te-types:te- 5280 oper-status 5281 +--ro geolocation 5282 | +--ro altitude? int64 5283 | +--ro latitude? geographic-coordinate-degree 5284 | +--ro longitude? geographic-coordinate-degree 5285 +--ro statistics 5286 | +--ro discontinuity-time? yang:date-and-time 5287 | +--ro tunnel-termination-point 5288 | | +--ro disables? yang:counter32 5289 | | +--ro enables? yang:counter32 5290 | | +--ro maintenance-clears? yang:counter32 5291 | | +--ro maintenance-sets? yang:counter32 5292 | | +--ro modifies? yang:counter32 5293 | | +--ro downs? yang:counter32 5294 | | +--ro ups? yang:counter32 5295 | | +--ro in-service-clears? yang:counter32 5296 | | +--ro in-service-sets? yang:counter32 5297 | +--ro local-link-connectivity 5298 | +--ro creates? yang:counter32 5299 | +--ro deletes? yang:counter32 5300 | +--ro disables? yang:counter32 5301 | +--ro enables? yang:counter32 5302 | +--ro modifies? yang:counter32 5303 +--rw supporting-tunnel-termination-point* [node-ref 5304 tunnel-tp-ref] 5305 +--rw node-ref inet:uri 5306 +--rw tunnel-tp-ref binary 5307 augment /nw:networks/nw:network/nt:link: 5308 +--rw te! 5309 +--rw (bundle-stack-level)? 5310 | +--:(bundle) 5311 | | +--rw bundled-links 5312 | | +--rw bundled-link* [sequence] 5313 | | +--rw sequence uint32 5314 | | +--rw src-tp-ref? -> 5315 ../../../../../nw:node[nw:node-id = 5316 current()/../../../../nt:source/source-node]/termination-point/tp-id 5317 | | +--rw des-tp-ref? -> 5318 ../../../../../nw:node[nw:node-id = 5319 current()/../../../../nt:destination/dest-node]/termination-point/tp- 5320 id 5321 | +--:(component) 5322 | +--rw component-links 5323 | +--rw component-link* [sequence] 5324 | +--rw sequence uint32 5325 | +--rw src-interface-ref? string 5326 | +--rw des-interface-ref? string 5327 +--rw te-link-template* -> 5328 ../../../../te/templates/link-template/name {template}? 5329 +--rw te-link-attributes 5330 | +--rw access-type? te-types:te-link- 5331 access-type 5332 | +--rw external-domain 5333 | | +--rw network-ref? -> 5334 /nw:networks/network/network-id 5335 | | +--rw remote-te-node-id? te-types:te-node-id 5336 | | +--rw remote-te-link-tp-id? te-types:te-tp-id 5337 | +--rw is-abstract? empty 5338 | +--rw name? string 5339 | +--rw underlay {te-topology-hierarchy}? 5340 | | +--rw enabled? boolean 5341 | | +--rw primary-path 5342 | | | +--rw network-ref? -> 5343 /nw:networks/network/network-id 5344 | | | +--rw path-element* [path-element-id] 5345 | | | +--rw path-element-id uint32 5346 | | | +--rw index? uint32 5347 | | | +--rw (type)? 5348 | | | +--:(numbered) 5349 | | | | +--rw numbered-hop 5350 | | | | +--rw address? te-types:te-tp-id 5351 | | | | +--rw hop-type? te-hop-type 5352 | | | | +--rw direction? te-link-direction 5353 | | | +--:(as-number) 5354 | | | | +--rw as-number-hop 5355 | | | | +--rw as-number? binary 5356 | | | | +--rw hop-type? te-hop-type 5357 | | | +--:(unnumbered) 5358 | | | | +--rw unnumbered-hop 5359 | | | | +--rw node-id? te-types:te-node-id 5360 | | | | +--rw link-tp-id? te-types:te-tp-id 5361 | | | | +--rw hop-type? te-hop-type 5362 | | | | +--rw direction? te-link-direction 5363 | | | +--:(label) 5364 | | | +--rw label-hop 5365 | | | +--rw te-label 5366 | | | +--rw (technology)? 5367 | | | | +--:(generic) 5368 | | | | +--rw generic? rt- 5369 types:generalized-label 5370 | | | +--rw direction? te-label-direction 5371 | | +--rw backup-path* [index] 5372 | | | +--rw index uint32 5373 | | | +--rw network-ref? -> 5374 /nw:networks/network/network-id 5375 | | | +--rw path-element* [path-element-id] 5376 | | | +--rw path-element-id uint32 5377 | | | +--rw index? uint32 5378 | | | +--rw (type)? 5379 | | | +--:(numbered) 5380 | | | | +--rw numbered-hop 5381 | | | | +--rw address? te-types:te-tp-id 5382 | | | | +--rw hop-type? te-hop-type 5383 | | | | +--rw direction? te-link-direction 5384 | | | +--:(as-number) 5385 | | | | +--rw as-number-hop 5386 | | | | +--rw as-number? binary 5387 | | | | +--rw hop-type? te-hop-type 5388 | | | +--:(unnumbered) 5389 | | | | +--rw unnumbered-hop 5390 | | | | +--rw node-id? te-types:te-node-id 5391 | | | | +--rw link-tp-id? te-types:te-tp-id 5392 | | | | +--rw hop-type? te-hop-type 5393 | | | | +--rw direction? te-link-direction 5394 | | | +--:(label) 5395 | | | +--rw label-hop 5396 | | | +--rw te-label 5397 | | | +--rw (technology)? 5398 | | | | +--:(generic) 5399 | | | | +--rw generic? rt- 5400 types:generalized-label 5401 | | | +--rw direction? te-label-direction 5402 | | +--rw protection-type? identityref 5403 | | +--rw tunnel-termination-points 5404 | | | +--rw source? binary 5405 | | | +--rw destination? binary 5406 | | +--rw tunnels 5407 | | +--rw sharing? boolean 5408 | | +--rw tunnel* [tunnel-name] 5409 | | +--rw tunnel-name string 5410 | | +--rw sharing? boolean 5411 | +--rw admin-status? te-types:te-admin- 5412 status 5413 | +--rw link-index? uint64 5414 | +--rw administrative-group? te-types:admin- 5415 groups 5416 | +--rw interface-switching-capability* [switching-capability 5417 encoding] 5418 | | +--rw switching-capability identityref 5419 | | +--rw encoding identityref 5420 | | +--rw max-lsp-bandwidth* [priority] 5421 | | +--rw priority uint8 5422 | | +--rw te-bandwidth 5423 | | +--rw (technology)? 5424 | | +--:(generic) 5425 | | +--rw generic? te-bandwidth 5426 | +--rw label-restriction* [index] 5427 | | +--rw index uint32 5428 | | +--rw inclusive-exclusive? enumeration 5429 | | +--rw label-start 5430 | | | +--rw te-label 5431 | | | +--rw (technology)? 5432 | | | | +--:(generic) 5433 | | | | +--rw generic? rt-types:generalized- 5434 label 5435 | | | +--rw direction? te-label-direction 5436 | | +--rw label-end 5437 | | | +--rw te-label 5438 | | | +--rw (technology)? 5439 | | | | +--:(generic) 5440 | | | | +--rw generic? rt-types:generalized- 5441 label 5442 | | | +--rw direction? te-label-direction 5443 | | +--rw range-bitmap? binary 5444 | +--rw link-protection-type? enumeration 5445 | +--rw max-link-bandwidth 5446 | | +--rw te-bandwidth 5447 | | +--rw (technology)? 5448 | | +--:(generic) 5449 | | +--rw generic? te-bandwidth 5450 | +--rw max-resv-link-bandwidth 5451 | | +--rw te-bandwidth 5452 | | +--rw (technology)? 5453 | | +--:(generic) 5454 | | +--rw generic? te-bandwidth 5455 | +--rw unreserved-bandwidth* [priority] 5456 | | +--rw priority uint8 5457 | | +--rw te-bandwidth 5458 | | +--rw (technology)? 5459 | | +--:(generic) 5460 | | +--rw generic? te-bandwidth 5461 | +--rw te-default-metric? uint32 5462 | +--rw te-delay-metric? uint32 5463 | +--rw te-igp-metric? uint32 5464 | +--rw te-srlgs 5465 | | +--rw value* te-types:srlg 5466 | +--rw te-nsrlgs {nsrlg}? 5467 | +--rw id* uint32 5468 +--ro oper-status? te-types:te-oper-status 5469 +--ro is-transitional? empty 5470 +--ro information-source? te-info-source 5471 +--ro information-source-state 5472 | +--ro credibility-preference? uint16 5473 | +--ro logical-network-element? string 5474 | +--ro network-instance? string 5475 | +--ro topology 5476 | +--ro link-ref? -> /nw:networks/network[nw:network- 5477 id=current()/../network-ref]/nt:link/link-id 5478 | +--ro network-ref? -> /nw:networks/network/network-id 5479 +--ro information-source-entry* [information-source] 5480 | +--ro information-source te-info-source 5481 | +--ro information-source-state 5482 | | +--ro credibility-preference? uint16 5483 | | +--ro logical-network-element? string 5484 | | +--ro network-instance? string 5485 | | +--ro topology 5486 | | +--ro link-ref? -> 5487 /nw:networks/network[nw:network-id=current()/../network- 5488 ref]/nt:link/link-id 5489 | | +--ro network-ref? -> /nw:networks/network/network- 5490 id 5491 | +--ro link-index? uint64 5492 | +--ro administrative-group? te-types:admin- 5493 groups 5494 | +--ro interface-switching-capability* [switching-capability 5495 encoding] 5496 | | +--ro switching-capability identityref 5497 | | +--ro encoding identityref 5498 | | +--ro max-lsp-bandwidth* [priority] 5499 | | +--ro priority uint8 5500 | | +--ro te-bandwidth 5501 | | +--ro (technology)? 5502 | | +--:(generic) 5503 | | +--ro generic? te-bandwidth 5504 | +--ro label-restriction* [index] 5505 | | +--ro index uint32 5506 | | +--ro inclusive-exclusive? enumeration 5507 | | +--ro label-start 5508 | | | +--ro te-label 5509 | | | +--ro (technology)? 5510 | | | | +--:(generic) 5511 | | | | +--ro generic? rt-types:generalized- 5512 label 5513 | | | +--ro direction? te-label-direction 5514 | | +--ro label-end 5515 | | | +--ro te-label 5516 | | | +--ro (technology)? 5517 | | | | +--:(generic) 5518 | | | | +--ro generic? rt-types:generalized- 5519 label 5520 | | | +--ro direction? te-label-direction 5521 | | +--ro range-bitmap? binary 5522 | +--ro link-protection-type? enumeration 5523 | +--ro max-link-bandwidth 5524 | | +--ro te-bandwidth 5525 | | +--ro (technology)? 5526 | | +--:(generic) 5527 | | +--ro generic? te-bandwidth 5528 | +--ro max-resv-link-bandwidth 5529 | | +--ro te-bandwidth 5530 | | +--ro (technology)? 5531 | | +--:(generic) 5532 | | +--ro generic? te-bandwidth 5533 | +--ro unreserved-bandwidth* [priority] 5534 | | +--ro priority uint8 5535 | | +--ro te-bandwidth 5536 | | +--ro (technology)? 5537 | | +--:(generic) 5538 | | +--ro generic? te-bandwidth 5539 | +--ro te-default-metric? uint32 5540 | +--ro te-delay-metric? uint32 5541 | +--ro te-igp-metric? uint32 5542 | +--ro te-srlgs 5543 | | +--ro value* te-types:srlg 5544 | +--ro te-nsrlgs {nsrlg}? 5545 | +--ro id* uint32 5546 +--ro recovery 5547 | +--ro restoration-status? te-types:te-recovery-status 5548 | +--ro protection-status? te-types:te-recovery-status 5549 +--ro underlay {te-topology-hierarchy}? 5550 | +--ro dynamic? boolean 5551 | +--ro committed? boolean 5552 +--ro statistics 5553 +--ro discontinuity-time? yang:date-and-time 5554 +--ro disables? yang:counter32 5555 +--ro enables? yang:counter32 5556 +--ro maintenance-clears? yang:counter32 5557 +--ro maintenance-sets? yang:counter32 5558 +--ro modifies? yang:counter32 5559 +--ro downs? yang:counter32 5560 +--ro ups? yang:counter32 5561 +--ro fault-clears? yang:counter32 5562 +--ro fault-detects? yang:counter32 5563 +--ro protection-switches? yang:counter32 5564 +--ro protection-reverts? yang:counter32 5565 +--ro restoration-failures? yang:counter32 5566 +--ro restoration-starts? yang:counter32 5567 +--ro restoration-successes? yang:counter32 5568 +--ro restoration-reversion-failures? yang:counter32 5569 +--ro restoration-reversion-starts? yang:counter32 5570 +--ro restoration-reversion-successes? yang:counter32 5571 augment /nw:networks/nw:network/nw:node/nt:termination-point: 5572 +--rw te-tp-id? te-types:te-tp-id 5573 +--rw te! 5574 +--rw admin-status? te-types:te-admin- 5575 status 5576 +--rw name? string 5577 +--rw interface-switching-capability* [switching-capability 5578 encoding] 5579 | +--rw switching-capability identityref 5580 | +--rw encoding identityref 5581 | +--rw max-lsp-bandwidth* [priority] 5582 | +--rw priority uint8 5583 | +--rw te-bandwidth 5584 | +--rw (technology)? 5585 | +--:(generic) 5586 | +--rw generic? te-bandwidth 5587 +--rw inter-domain-plug-id? binary 5588 +--rw inter-layer-lock-id* uint32 5589 +--ro oper-status? te-types:te-oper- 5590 status 5591 +--ro geolocation 5592 +--ro altitude? int64 5593 +--ro latitude? geographic-coordinate-degree 5594 +--ro longitude? geographic-coordinate-degree 5596 Appendix B. Companion YANG Model for Non-NMDA Compliant Implementations 5598 The YANG module ietf-te-topology defined in this document is designed 5599 to be used in conjunction with implementations that support the 5600 Network Management Datastore Architecture (NMDA) defined in [YANG- 5601 NMDA]. In order to allow implementations to use the model even in 5602 cases when NMDA is not supported, the following companion module 5603 ietf-te-topology-state is defined as a state model, which mirrors the 5604 module ietf-te-topology defined earlier in this document. However, 5605 all data nodes in the companion module are non-configurable, to 5606 represent the applied configuration or the derived operational 5607 states. 5609 The companion module, ietf-te-topology-state, is redundant and SHOULD 5610 NOT be supported by implementations that support NMDA. 5612 As the structure of the module ietf-te-topology-state mirrors that of 5613 the module ietf-te-topology. The YANG tree of the module ietf-te- 5614 topology-state is not depicted separately. 5616 B.1. TE Topology State Yang Module 5618 file "ietf-te-topology-state@2017-10-25.yang" 5619 module ietf-te-topology-state { 5620 yang-version 1.1; 5621 namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state"; 5623 prefix "tet-s"; 5625 import ietf-te-types { 5626 prefix "te-types"; 5627 } 5629 import ietf-te-topology { 5630 prefix "tet"; 5631 } 5633 import ietf-network-state { 5634 prefix "nw-s"; 5635 } 5637 import ietf-network-topology-state { 5638 prefix "nt-s"; 5639 } 5640 organization 5641 "IETF Traffic Engineering Architecture and Signaling (TEAS) 5642 Working Group"; 5644 contact 5645 "WG Web: 5646 WG List: 5648 WG Chair: Lou Berger 5649 5651 WG Chair: Vishnu Pavan Beeram 5652 5654 Editor: Xufeng Liu 5655 5657 Editor: Igor Bryskin 5658 5660 Editor: Vishnu Pavan Beeram 5661 5663 Editor: Tarek Saad 5664 5666 Editor: Himanshu Shah 5667 5669 Editor: Oscar Gonzalez De Dios 5670 "; 5672 description "TE topology state model"; 5674 revision "2017-10-25" { 5675 description "Initial revision"; 5676 reference "RFC XXXX: YANG Data Model for TE Topologies"; 5677 // RFC Ed.: replace XXXX with actual RFC number and remove 5678 // this note 5679 } 5680 /* 5681 * Groupings 5682 */ 5683 grouping te-node-connectivity-matrix-attributes { 5684 description 5685 "Termination point references of a connectivity matrix entry."; 5686 container from { 5687 description 5688 "Reference to source link termination point."; 5689 leaf tp-ref { 5690 type leafref { 5691 path "../../../../../../nt-s:termination-point/nt-s:tp-id"; 5692 } 5693 description 5694 "Relative reference to a termination point."; 5695 } 5696 uses tet:connectivity-label-restriction-list; 5697 } 5698 container to { 5699 description 5700 "Reference to destination link termination point."; 5701 leaf tp-ref { 5702 type leafref { 5703 path "../../../../../../nt-s:termination-point/nt-s:tp-id"; 5704 } 5705 description 5706 "Relative reference to a termination point."; 5707 } 5708 uses tet:connectivity-label-restriction-list; 5709 } 5710 uses tet:connectivity-matrix-entry-path-attributes; 5711 } // te-node-connectivity-matrix-attributes 5713 grouping te-node-tunnel-termination-point-llc-list { 5714 description 5715 "Local link connectivity list of a tunnel termination 5716 point on a TE node."; 5717 list local-link-connectivity { 5718 key "link-tp-ref"; 5719 description 5720 "The termination capabilities between 5721 tunnel-termination-point and link termination-point. 5722 The capability information can be used to compute 5723 the tunnel path. 5724 The Interface Adjustment Capability Descriptors (IACD) 5725 [RFC6001] on each link-tp can be derived from this 5726 local-link-connectivity list."; 5727 reference 5728 "RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 5729 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 5731 leaf link-tp-ref { 5732 type leafref { 5733 path "../../../../../nt-s:termination-point/nt-s:tp-id"; 5734 } 5735 description 5736 "Link termination point."; 5737 } 5738 uses tet:connectivity-label-restriction-list; 5739 uses tet:connectivity-matrix-entry-path-attributes; 5740 } // local-link-connectivity 5741 } // te-node-tunnel-termination-point-config 5743 /* 5744 * Data nodes 5745 */ 5746 augment "/nw-s:networks/nw-s:network/nw-s:network-types" { 5747 description 5748 "Introduce new network type for TE topology."; 5749 container te-topology { 5750 presence "Indicates TE topology."; 5751 description 5752 "Its presence identifies the TE topology type."; 5753 } 5754 } 5756 augment "/nw-s:networks" { 5757 description 5758 "Augmentation parameters for TE topologies."; 5759 uses tet:te-topologies-augment; 5760 } 5761 augment "/nw-s:networks/nw-s:network" { 5762 when "nw-s:network-types/tet-s:te-topology" { 5763 description 5764 "Augmentation parameters apply only for networks with 5765 TE topology type."; 5766 } 5767 description 5768 "Configuration parameters for TE topology."; 5769 uses tet:te-topology-augment; 5770 } 5772 augment "/nw-s:networks/nw-s:network/nw-s:node" { 5773 when "../nw-s:network-types/tet-s:te-topology" { 5774 description 5775 "Augmentation parameters apply only for networks with 5776 TE topology type."; 5777 } 5778 description 5779 "Configuration parameters for TE at node level."; 5780 leaf te-node-id { 5781 type te-types:te-node-id; 5782 description 5783 "The identifier of a node in the TE topology. 5784 A node is specific to a topology to which it belongs."; 5785 } 5786 container te { 5787 must "../te-node-id" { 5788 description 5789 "te-node-id is mandatory."; 5790 } 5791 must "count(../nw-s:supporting-node)<=1" { 5792 description 5793 "For a node in a TE topology, there cannot be more 5794 than 1 supporting node. If multiple nodes are abstracted, 5795 the underlay-topology is used."; 5796 } 5797 presence "TE support."; 5798 description 5799 "Indicates TE support."; 5800 uses tet:te-node-augment; 5802 } // te 5803 } 5805 augment "/nw-s:networks/nw-s:network/nt-s:link" { 5806 when "../nw-s:network-types/tet-s:te-topology" { 5807 description 5808 "Augmentation parameters apply only for networks with 5809 TE topology type."; 5810 } 5811 description 5812 "Configuration parameters for TE at link level."; 5813 container te { 5814 must "count(../nt-s:supporting-link)<=1" { 5815 description 5816 "For a link in a TE topology, there cannot be more 5817 than 1 supporting link. If one or more link paths are 5818 abstracted, the underlay is used."; 5819 } 5820 presence "TE support."; 5821 description 5822 "Indicates TE support."; 5823 uses tet:te-link-augment; 5824 } // te 5825 } 5827 augment "/nw-s:networks/nw-s:network/nw-s:node/" 5828 + "nt-s:termination-point" { 5829 when "../../nw-s:network-types/tet-s:te-topology" { 5830 description 5831 "Augmentation parameters apply only for networks with 5832 TE topology type."; 5833 } 5834 description 5835 "Configuration parameters for TE at termination point level."; 5836 uses tet:te-termination-point-augment; 5837 } 5839 augment 5840 "/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/" 5841 + "bundle/bundled-links/bundled-link" { 5842 when "../../../../nw-s:network-types/tet-s:te-topology" { 5843 description 5844 "Augmentation parameters apply only for networks with 5845 TE topology type."; 5846 } 5847 description 5848 "Augment TE link bundled link."; 5849 leaf src-tp-ref { 5850 type leafref { 5851 path "../../../../../nw-s:node[nw-s:node-id = " 5852 + "current()/../../../../nt-s:source/" 5853 + "nt-s:source-node]/" 5854 + "nt-s:termination-point/nt-s:tp-id"; 5855 require-instance true; 5856 } 5857 description 5858 "Reference to another TE termination point on the 5859 same souruce node."; 5860 } 5861 leaf des-tp-ref { 5862 type leafref { 5863 path "../../../../../nw-s:node[nw-s:node-id = " 5864 + "current()/../../../../nt-s:destination/" 5865 + "nt-s:dest-node]/" 5866 + "nt-s:termination-point/nt-s:tp-id"; 5867 require-instance true; 5868 } 5869 description 5870 "Reference to another TE termination point on the 5871 same destination node."; 5872 } 5873 } 5875 augment 5876 "/nw-s:networks/nw-s:network/nw-s:node/te/" 5877 + "information-source-entry/connectivity-matrices/" 5878 + "connectivity-matrix" { 5879 when "../../../../../nw-s:network-types/tet-s:te-topology" { 5880 description 5881 "Augmentation parameters apply only for networks with 5882 TE topology type."; 5883 } 5884 description 5885 "Augment TE node connectivity-matrix."; 5886 uses te-node-connectivity-matrix-attributes; 5887 } 5889 augment 5890 "/nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/" 5891 + "connectivity-matrices/connectivity-matrix" { 5892 when "../../../../../nw-s:network-types/tet-s:te-topology" { 5893 description 5894 "Augmentation parameters apply only for networks with 5895 TE topology type."; 5896 } 5897 description 5898 "Augment TE node connectivity-matrix."; 5899 uses te-node-connectivity-matrix-attributes; 5900 } 5902 augment 5903 "/nw-s:networks/nw-s:network/nw-s:node/te/" 5904 + "tunnel-termination-point/local-link-connectivities" { 5905 when "../../../../nw-s:network-types/tet-s:te-topology" { 5906 description 5907 "Augmentation parameters apply only for networks with 5908 TE topology type."; 5909 } 5910 description 5911 "Augment TE node tunnel termination point LLCs 5912 (Local Link Connectivities)."; 5913 uses te-node-tunnel-termination-point-llc-list; 5914 } 5915 } 5916 5918 Appendix C. Example: YANG Model for Technology Specific Augmentations 5920 This section provides an example YANG module to define a technology 5921 specific TE topology model for the example-topology described in 5922 Section 6. 5924 module example-topology { 5925 yang-version 1.1; 5927 namespace "http://example.com/example-topology"; 5928 prefix "ex-topo"; 5930 import ietf-network { 5931 prefix "nw"; 5932 } 5934 import ietf-network-topology { 5935 prefix "nt"; 5936 } 5938 import ietf-te-topology { 5939 prefix "tet"; 5940 } 5942 organization 5943 "Example Organization"; 5944 contact 5945 "Editor: Example Author"; 5947 description 5948 "This module defines a topology data model for the example 5949 technology."; 5951 revision 2017-12-20 { 5952 description 5953 "Initial revision."; 5954 reference 5955 "Example reference."; 5956 } 5958 /* 5959 * Data nodes 5960 */ 5961 augment "/nw:networks/nw:network/nw:network-types/" 5962 + "tet:te-topology" { 5963 description 5964 "Augment network types to define example topology type."; 5965 container example-topology { 5966 presence 5967 "Introduce new network type for example topology."; 5968 description 5969 "Its presence identifies the example topology type."; 5970 } 5971 } 5973 augment "/nw:networks/nw:network/tet:te" { 5974 when "../nw:network-types/tet:te-topology/" 5975 + "ex-topo:example-topology" { 5976 description 5977 "Augmentation parameters apply only for networks with 5978 example topology type."; 5979 } 5980 description "Augment network topology."; 5981 container attributes { 5982 description "Attributes for example technology."; 5983 leaf attribute-1 { 5984 type uint8; 5985 description "Attribute 1 for example technology."; 5986 } 5987 } 5988 } 5990 augment "/nw:networks/nw:network/nw:node/tet:te/" 5991 + "tet:te-node-attributes" { 5992 when "../../nw:network-types/tet:te-topology/" 5993 + "ex-topo:example-topology" { 5994 description 5995 "Augmentation parameters apply only for networks with 5996 example topology type."; 5997 } 5998 description "Augment node attributes."; 5999 container attributes { 6000 description "Attributes for example technology."; 6001 leaf attribute-2 { 6002 type uint8; 6003 description "Attribute 2 for example technology."; 6004 } 6005 } 6006 } 6008 augment "/nw:networks/nw:network/nw:node/tet:te/" 6009 + "tet:te-node-attributes/tet:connectivity-matrices" { 6010 when "../../../../nw:network-types/tet:te-topology/" 6011 + "ex-topo:example-topology" { 6012 description 6013 "Augmentation parameters apply only for networks with 6014 example topology type."; 6015 } 6016 description "Augment node connectivity matrices."; 6017 container attributes { 6018 description "Attributes for example technology."; 6019 leaf attribute-3 { 6020 type uint8; 6021 description "Attribute 3 for example technology."; 6022 } 6023 } 6024 } 6026 augment "/nw:networks/nw:network/nw:node/tet:te/" 6027 + "tet:te-node-attributes/tet:connectivity-matrices/" 6028 + "tet:connectivity-matrix" { 6029 when "../../../../../nw:network-types/tet:te-topology/" 6030 + "ex-topo:example-topology" { 6031 description 6032 "Augmentation parameters apply only for networks with 6033 example topology type."; 6034 } 6035 description "Augment node connectivity matrix."; 6036 container attributes { 6037 description "Attributes for example technology."; 6038 leaf attribute-3 { 6039 type uint8; 6040 description "Attribute 3 for example technology."; 6041 } 6043 } 6044 } 6046 augment "/nw:networks/nw:network/nw:node/tet:te/" 6047 + "tet:tunnel-termination-point" { 6048 when "../../../nw:network-types/tet:te-topology/" 6049 + "ex-topo:example-topology" { 6050 description 6051 "Augmentation parameters apply only for networks with 6052 example topology type."; 6053 } 6054 description "Augment tunnel termination point."; 6055 container attributes { 6056 description "Attributes for example technology."; 6057 leaf attribute-4 { 6058 type uint8; 6059 description "Attribute 4 for example technology."; 6060 } 6061 } 6062 } 6064 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 6065 + "tet:te" { 6066 when "../../../nw:network-types/tet:te-topology/" 6067 + "ex-topo:example-topology" { 6068 description 6069 "Augmentation parameters apply only for networks with 6070 example topology type."; 6071 } 6072 description "Augment link termination point."; 6073 container attributes { 6074 description "Attributes for example technology."; 6075 leaf attribute-5 { 6076 type uint8; 6077 description "Attribute 4 for example technology."; 6078 } 6079 } 6080 } 6082 augment "/nw:networks/nw:network/nt:link/tet:te/" 6083 + "tet:te-link-attributes" { 6085 when "../../../nw:network-types/tet:te-topology/" 6086 + "ex-topo:example-topology" { 6087 description 6088 "Augmentation parameters apply only for networks with 6089 example topology type."; 6090 } 6091 description "Augment link attributes."; 6092 container attributes { 6093 description "Attributes for example technology."; 6094 leaf attribute-6 { 6095 type uint8; 6096 description "Attribute 4 for example technology."; 6097 } 6098 } 6099 } 6101 /* 6102 * Augment TE bandwidth. 6103 */ 6105 augment "/nw:networks/tet:te/tet:templates/" 6106 + "tet:link-template/tet:te-link-attributes/" 6107 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 6108 + "tet:te-bandwidth/tet:technology" { 6109 case "example" { 6110 container example { 6111 description "Attributes for example technology."; 6112 leaf bandwidth-1 { 6113 type uint32; 6114 description "Attribute 11 for example technology."; 6115 } 6116 } 6117 } 6118 description "Augment TE bandwidth."; 6119 } 6121 augment "/nw:networks/tet:te/tet:templates/" 6122 + "tet:link-template/tet:te-link-attributes/" 6123 + "tet:max-link-bandwidth/" 6124 + "tet:te-bandwidth/tet:technology" { 6125 case "example" { 6126 container example { 6127 description "Attributes for example technology."; 6128 leaf bandwidth-1 { 6129 type uint32; 6130 description "Attribute 11 for example technology."; 6131 } 6132 } 6133 } 6134 description "Augment TE bandwidth."; 6135 } 6137 augment "/nw:networks/tet:te/tet:templates/" 6138 + "tet:link-template/tet:te-link-attributes/" 6139 + "tet:max-resv-link-bandwidth/" 6140 + "tet:te-bandwidth/tet:technology" { 6141 case "example" { 6142 container example { 6143 description "Attributes for example technology."; 6144 leaf bandwidth-1 { 6145 type uint32; 6146 description "Attribute 11 for example technology."; 6147 } 6148 } 6149 } 6150 description "Augment TE bandwidth."; 6151 } 6153 augment "/nw:networks/tet:te/tet:templates/" 6154 + "tet:link-template/tet:te-link-attributes/" 6155 + "tet:unreserved-bandwidth/" 6156 + "tet:te-bandwidth/tet:technology" { 6157 case "example" { 6158 container example { 6159 description "Attributes for example technology."; 6160 leaf bandwidth-1 { 6161 type uint32; 6162 description "Attribute 11 for example technology."; 6163 } 6164 } 6165 } 6166 description "Augment TE bandwidth."; 6168 } 6170 augment "/nw:networks/nw:network/nw:node/tet:te/" 6171 + "tet:te-node-attributes/tet:connectivity-matrices/" 6172 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6173 when "../../../../../../../nw:network-types/tet:te-topology/" 6174 + "ex-topo:example-topology" { 6175 description 6176 "Augmentation parameters apply only for networks with 6177 example topology type."; 6178 } 6179 case "example" { 6180 container example { 6181 description "Attributes for example technology."; 6182 leaf bandwidth-1 { 6183 type uint32; 6184 description "Attribute 11 for example technology."; 6185 } 6186 } 6187 } 6188 description "Augment TE bandwidth."; 6189 } 6191 augment "/nw:networks/nw:network/nw:node/tet:te/" 6192 + "tet:te-node-attributes/tet:connectivity-matrices/" 6193 + "tet:connectivity-matrix/" 6194 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6195 when "../../../../../../../nw:network-types/tet:te-topology/" 6196 + "ex-topo:example-topology" { 6197 description 6198 "Augmentation parameters apply only for networks with 6199 example topology type."; 6200 } 6201 case "example" { 6202 container example { 6203 description "Attributes for example technology."; 6204 leaf bandwidth-1 { 6205 type uint32; 6206 description "Attribute 11 for example technology."; 6207 } 6208 } 6210 } 6211 description "Augment TE bandwidth."; 6212 } 6214 augment "/nw:networks/nw:network/nw:node/tet:te/" 6215 + "tet:information-source-entry/tet:connectivity-matrices/" 6216 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6217 when "../../../../../../../nw:network-types/tet:te-topology/" 6218 + "ex-topo:example-topology" { 6219 description 6220 "Augmentation parameters apply only for networks with 6221 example topology type."; 6222 } 6223 case "example" { 6224 container example { 6225 description "Attributes for example technology."; 6226 leaf bandwidth-1 { 6227 type uint32; 6228 description "Attribute 11 for example technology."; 6229 } 6230 } 6231 } 6232 description "Augment TE bandwidth."; 6233 } 6235 augment "/nw:networks/nw:network/nw:node/tet:te/" 6236 + "tet:information-source-entry/tet:connectivity-matrices/" 6237 + "tet:connectivity-matrix/" 6238 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6239 when "../../../../../../../nw:network-types/tet:te-topology/" 6240 + "ex-topo:example-topology" { 6241 description 6242 "Augmentation parameters apply only for networks with 6243 example topology type."; 6244 } 6245 case "example" { 6246 container example { 6247 description "Attributes for example technology."; 6248 leaf bandwidth-1 { 6249 type uint32; 6250 description "Attribute 11 for example technology."; 6252 } 6253 } 6254 } 6255 description "Augment TE bandwidth."; 6256 } 6258 augment "/nw:networks/nw:network/nw:node/tet:te/" 6259 + "tet:tunnel-termination-point/tet:client-layer-adaptation/" 6260 + "tet:switching-capability/tet:te-bandwidth/tet:technology" { 6261 when "../../../../../../../nw:network-types/tet:te-topology/" 6262 + "ex-topo:example-topology" { 6263 description 6264 "Augmentation parameters apply only for networks with 6265 example topology type."; 6266 } 6267 case "example" { 6268 container example { 6269 description "Attributes for example technology."; 6270 leaf bandwidth-1 { 6271 type uint32; 6272 description "Attribute 11 for example technology."; 6273 } 6274 } 6275 } 6276 description "Augment TE bandwidth."; 6277 } 6279 augment "/nw:networks/nw:network/nw:node/tet:te/" 6280 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 6281 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6282 when "../../../../../../../nw:network-types/tet:te-topology/" 6283 + "ex-topo:example-topology" { 6284 description 6285 "Augmentation parameters apply only for networks with 6286 example topology type."; 6287 } 6288 case "example" { 6289 container example { 6290 description "Attributes for example technology."; 6291 leaf bandwidth-1 { 6292 type uint32; 6293 description "Attribute 11 for example technology."; 6294 } 6295 } 6296 } 6297 description "Augment TE bandwidth."; 6298 } 6300 augment "/nw:networks/nw:network/nw:node/tet:te/" 6301 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 6302 + "tet:local-link-connectivity/" 6303 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6304 when "../../../../../../../../nw:network-types/tet:te-topology/" 6305 + "ex-topo:example-topology" { 6306 description 6307 "Augmentation parameters apply only for networks with 6308 example topology type."; 6309 } 6310 case "example" { 6311 container example { 6312 description "Attributes for example technology."; 6313 leaf bandwidth-1 { 6314 type uint32; 6315 description "Attribute 11 for example technology."; 6316 } 6317 } 6318 } 6319 description "Augment TE bandwidth."; 6320 } 6322 augment "/nw:networks/nw:network/nt:link/tet:te/" 6323 + "tet:te-link-attributes/" 6324 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 6325 + "tet:te-bandwidth/tet:technology" { 6326 when "../../../../../../../../nw:network-types/tet:te-topology/" 6327 + "ex-topo:example-topology" { 6328 description 6329 "Augmentation parameters apply only for networks with 6330 example topology type."; 6331 } 6332 case "example" { 6333 container example { 6334 description "Attributes for example technology."; 6335 leaf bandwidth-1 { 6336 type uint32; 6337 description "Attribute 11 for example technology."; 6338 } 6339 } 6340 } 6341 description "Augment TE bandwidth."; 6342 } 6344 augment "/nw:networks/nw:network/nt:link/tet:te/" 6345 + "tet:te-link-attributes/" 6346 + "tet:max-link-bandwidth/" 6347 + "tet:te-bandwidth/tet:technology" { 6348 when "../../../../../../nw:network-types/tet:te-topology/" 6349 + "ex-topo:example-topology" { 6350 description 6351 "Augmentation parameters apply only for networks with 6352 example topology type."; 6353 } 6354 case "example" { 6355 container example { 6356 description "Attributes for example technology."; 6357 leaf bandwidth-1 { 6358 type uint32; 6359 description "Attribute 11 for example technology."; 6360 } 6361 } 6362 } 6363 description "Augment TE bandwidth."; 6364 } 6366 augment "/nw:networks/nw:network/nt:link/tet:te/" 6367 + "tet:te-link-attributes/" 6368 + "tet:max-resv-link-bandwidth/" 6369 + "tet:te-bandwidth/tet:technology" { 6370 when "../../../../../../nw:network-types/tet:te-topology/" 6371 + "ex-topo:example-topology" { 6372 description 6373 "Augmentation parameters apply only for networks with 6374 example topology type."; 6376 } 6377 case "example" { 6378 container example { 6379 description "Attributes for example technology."; 6380 leaf bandwidth-1 { 6381 type uint32; 6382 description "Attribute 11 for example technology."; 6383 } 6384 } 6385 } 6386 description "Augment TE bandwidth."; 6387 } 6389 augment "/nw:networks/nw:network/nt:link/tet:te/" 6390 + "tet:information-source-entry/" 6391 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 6392 + "tet:te-bandwidth/tet:technology" { 6393 when "../../../../../../../../nw:network-types/tet:te-topology/" 6394 + "ex-topo:example-topology" { 6395 description 6396 "Augmentation parameters apply only for networks with 6397 example topology type."; 6398 } 6399 case "example" { 6400 container example { 6401 description "Attributes for example technology."; 6402 leaf bandwidth-1 { 6403 type uint32; 6404 description "Attribute 11 for example technology."; 6405 } 6406 } 6407 } 6408 description "Augment TE bandwidth."; 6409 } 6411 augment "/nw:networks/nw:network/nt:link/tet:te/" 6412 + "tet:information-source-entry/" 6413 + "tet:max-link-bandwidth/" 6414 + "tet:te-bandwidth/tet:technology" { 6415 when "../../../../../../nw:network-types/tet:te-topology/" 6416 + "ex-topo:example-topology" { 6418 description 6419 "Augmentation parameters apply only for networks with 6420 example topology type."; 6421 } 6422 case "example" { 6423 container example { 6424 description "Attributes for example technology."; 6425 leaf bandwidth-1 { 6426 type uint32; 6427 description "Attribute 11 for example technology."; 6428 } 6429 } 6430 } 6431 description "Augment TE bandwidth."; 6432 } 6434 augment "/nw:networks/nw:network/nt:link/tet:te/" 6435 + "tet:information-source-entry/" 6436 + "tet:max-resv-link-bandwidth/" 6437 + "tet:te-bandwidth/tet:technology" { 6438 when "../../../../../../nw:network-types/tet:te-topology/" 6439 + "ex-topo:example-topology" { 6440 description 6441 "Augmentation parameters apply only for networks with 6442 example topology type."; 6443 } 6444 case "example" { 6445 container example { 6446 description "Attributes for example technology."; 6447 leaf bandwidth-1 { 6448 type uint32; 6449 description "Attribute 11 for example technology."; 6450 } 6451 } 6452 } 6453 description "Augment TE bandwidth."; 6454 } 6456 augment "/nw:networks/nw:network/nt:link/tet:te/" 6457 + "tet:information-source-entry/" 6458 + "tet:unreserved-bandwidth/" 6459 + "tet:te-bandwidth/tet:technology" { 6460 when "../../../../../../../nw:network-types/tet:te-topology/" 6461 + "ex-topo:example-topology" { 6462 description 6463 "Augmentation parameters apply only for networks with 6464 example topology type."; 6465 } 6466 case "example" { 6467 container example { 6468 description "Attributes for example technology."; 6469 leaf bandwidth-1 { 6470 type uint32; 6471 description "Attribute 11 for example technology."; 6472 } 6473 } 6474 } 6475 description "Augment TE bandwidth."; 6476 } 6478 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 6479 + "tet:te/" 6480 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 6481 + "tet:te-bandwidth/tet:technology" { 6482 when "../../../../../../../../nw:network-types/tet:te-topology/" 6483 + "ex-topo:example-topology" { 6484 description 6485 "Augmentation parameters apply only for networks with 6486 example topology type."; 6487 } 6488 case "example" { 6489 container example { 6490 description "Attributes for example technology."; 6491 leaf bandwidth-1 { 6492 type uint32; 6493 description "Attribute 11 for example technology."; 6494 } 6495 } 6496 } 6497 description "Augment TE bandwidth."; 6498 } 6499 /* 6500 * Augment TE label. 6501 */ 6503 augment "/nw:networks/tet:te/tet:templates/" 6504 + "tet:link-template/tet:te-link-attributes/" 6505 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 6506 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6507 case "example" { 6508 container example { 6509 description "Attributes for example technology."; 6510 leaf label-1 { 6511 type uint32; 6512 description "Attribute 11 for example technology."; 6513 } 6514 } 6515 } 6516 description "Augment TE label."; 6517 } 6519 augment "/nw:networks/tet:te/tet:templates/" 6520 + "tet:link-template/tet:te-link-attributes/" 6521 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 6522 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6523 case "example" { 6524 container example { 6525 description "Attributes for example technology."; 6526 leaf label-1 { 6527 type uint32; 6528 description "Attribute 11 for example technology."; 6529 } 6530 } 6531 } 6532 description "Augment TE label."; 6533 } 6535 augment "/nw:networks/tet:te/tet:templates/" 6536 + "tet:link-template/tet:te-link-attributes/" 6537 + "tet:label-restriction/tet:label-start/tet:te-label/" 6538 + "tet:technology" { 6539 case "example" { 6540 container example { 6541 description "Attributes for example technology."; 6542 leaf label-1 { 6543 type uint32; 6544 description "Attribute 11 for example technology."; 6545 } 6546 } 6547 } 6548 description "Augment TE label."; 6549 } 6551 augment "/nw:networks/tet:te/tet:templates/" 6552 + "tet:link-template/tet:te-link-attributes/" 6553 + "tet:label-restriction/tet:label-end/tet:te-label/" 6554 + "tet:technology" { 6555 case "example" { 6556 container example { 6557 description "Attributes for example technology."; 6558 leaf label-1 { 6559 type uint32; 6560 description "Attribute 11 for example technology."; 6561 } 6562 } 6563 } 6564 description "Augment TE label."; 6565 } 6567 /* Under te-node-attributes/connectivity-matrices */ 6569 augment "/nw:networks/nw:network/nw:node/tet:te/" 6570 + "tet:te-node-attributes/tet:connectivity-matrices/" 6571 + "tet:label-restriction/tet:label-start/tet:te-label/" 6572 + "tet:technology" { 6573 when "../../../../../../../../nw:network-types/tet:te-topology/" 6574 + "ex-topo:example-topology" { 6575 description 6576 "Augmentation parameters apply only for networks with 6577 example topology type."; 6578 } 6579 case "example" { 6580 container example { 6581 description "Attributes for example technology."; 6582 leaf label-1 { 6583 type uint32; 6584 description "Attribute 11 for example technology."; 6585 } 6586 } 6587 } 6588 description "Augment TE label."; 6589 } 6591 augment "/nw:networks/nw:network/nw:node/tet:te/" 6592 + "tet:te-node-attributes/tet:connectivity-matrices/" 6593 + "tet:label-restriction/tet:label-end/tet:te-label/" 6594 + "tet:technology" { 6595 when "../../../../../../../../nw:network-types/tet:te-topology/" 6596 + "ex-topo:example-topology" { 6597 description 6598 "Augmentation parameters apply only for networks with 6599 example topology type."; 6600 } 6601 case "example" { 6602 container example { 6603 description "Attributes for example technology."; 6604 leaf label-1 { 6605 type uint32; 6606 description "Attribute 11 for example technology."; 6607 } 6608 } 6609 } 6610 description "Augment TE label."; 6611 } 6613 augment "/nw:networks/nw:network/nw:node/tet:te/" 6614 + "tet:te-node-attributes/tet:connectivity-matrices/" 6615 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 6616 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6617 when "../../../../../../../../../../../../nw:network-types/" 6618 + "tet:te-topology/ex-topo:example-topology" { 6619 description 6620 "Augmentation parameters apply only for networks with 6621 example topology type."; 6623 } 6624 case "example" { 6625 container example { 6626 description "Attributes for example technology."; 6627 leaf label-1 { 6628 type uint32; 6629 description "Attribute 11 for example technology."; 6630 } 6631 } 6632 } 6633 description "Augment TE label."; 6634 } 6636 augment "/nw:networks/nw:network/nw:node/tet:te/" 6637 + "tet:te-node-attributes/tet:connectivity-matrices/" 6638 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 6639 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6640 when "../../../../../../../../../../../../nw:network-types/" 6641 + "tet:te-topology/ex-topo:example-topology" { 6642 description 6643 "Augmentation parameters apply only for networks with 6644 example topology type."; 6645 } 6646 case "example" { 6647 container example { 6648 description "Attributes for example technology."; 6649 leaf label-1 { 6650 type uint32; 6651 description "Attribute 11 for example technology."; 6652 } 6653 } 6654 } 6655 description "Augment TE label."; 6656 } 6658 augment "/nw:networks/nw:network/nw:node/tet:te/" 6659 + "tet:te-node-attributes/tet:connectivity-matrices/" 6660 + "tet:computed-path-properties/tet:path-computed-route-objects/" 6661 + "tet:path-computed-route-object/tet:type/" 6662 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6663 when "../../../../../../../../../../../../nw:network-types/" 6664 + "tet:te-topology/ex-topo:example-topology" { 6665 description 6666 "Augmentation parameters apply only for networks with 6667 example topology type."; 6668 } 6669 case "example" { 6670 container example { 6671 description "Attributes for example technology."; 6672 leaf label-1 { 6673 type uint32; 6674 description "Attribute 11 for example technology."; 6675 } 6676 } 6677 } 6678 description "Augment TE label."; 6679 } 6681 /* Under te-node-attributes/.../connectivity-matrix */ 6683 augment "/nw:networks/nw:network/nw:node/tet:te/" 6684 + "tet:te-node-attributes/tet:connectivity-matrices/" 6685 + "tet:connectivity-matrix/tet:from/" 6686 + "tet:label-restriction/tet:label-start/tet:te-label/" 6687 + "tet:technology" { 6688 when "../../../../../../../../../../nw:network-types/" 6689 + "tet:te-topology/ex-topo:example-topology" { 6690 description 6691 "Augmentation parameters apply only for networks with 6692 example topology type."; 6693 } 6694 case "example" { 6695 container example { 6696 description "Attributes for example technology."; 6697 leaf label-1 { 6698 type uint32; 6699 description "Attribute 11 for example technology."; 6700 } 6701 } 6702 } 6703 description "Augment TE label."; 6704 } 6705 augment "/nw:networks/nw:network/nw:node/tet:te/" 6706 + "tet:te-node-attributes/tet:connectivity-matrices/" 6707 + "tet:connectivity-matrix/tet:from/" 6708 + "tet:label-restriction/tet:label-end/tet:te-label/" 6709 + "tet:technology" { 6710 when "../../../../../../../../../../nw:network-types/" 6711 + "tet:te-topology/ex-topo:example-topology" { 6712 description 6713 "Augmentation parameters apply only for networks with 6714 example topology type."; 6715 } 6716 case "example" { 6717 container example { 6718 description "Attributes for example technology."; 6719 leaf label-1 { 6720 type uint32; 6721 description "Attribute 11 for example technology."; 6722 } 6723 } 6724 } 6725 description "Augment TE label."; 6726 } 6728 augment "/nw:networks/nw:network/nw:node/tet:te/" 6729 + "tet:te-node-attributes/tet:connectivity-matrices/" 6730 + "tet:connectivity-matrix/tet:to/" 6731 + "tet:label-restriction/tet:label-start/tet:te-label/" 6732 + "tet:technology" { 6733 when "../../../../../../../../../../nw:network-types/" 6734 + "tet:te-topology/ex-topo:example-topology" { 6735 description 6736 "Augmentation parameters apply only for networks with 6737 example topology type."; 6738 } 6739 case "example" { 6740 container example { 6741 description "Attributes for example technology."; 6742 leaf label-1 { 6743 type uint32; 6744 description "Attribute 11 for example technology."; 6746 } 6747 } 6748 } 6749 description "Augment TE label."; 6750 } 6752 augment "/nw:networks/nw:network/nw:node/tet:te/" 6753 + "tet:te-node-attributes/tet:connectivity-matrices/" 6754 + "tet:connectivity-matrix/tet:to/" 6755 + "tet:label-restriction/tet:label-end/tet:te-label/" 6756 + "tet:technology" { 6757 when "../../../../../../../../../../nw:network-types/" 6758 + "tet:te-topology/ex-topo:example-topology" { 6759 description 6760 "Augmentation parameters apply only for networks with 6761 example topology type."; 6762 } 6763 case "example" { 6764 container example { 6765 description "Attributes for example technology."; 6766 leaf label-1 { 6767 type uint32; 6768 description "Attribute 11 for example technology."; 6769 } 6770 } 6771 } 6772 description "Augment TE label."; 6773 } 6775 augment "/nw:networks/nw:network/nw:node/tet:te/" 6776 + "tet:te-node-attributes/tet:connectivity-matrices/" 6777 + "tet:connectivity-matrix/" 6778 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 6779 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6780 when "../../../../../../../../../../../../../nw:network-types/" 6781 + "tet:te-topology/ex-topo:example-topology" { 6782 description 6783 "Augmentation parameters apply only for networks with 6784 example topology type."; 6785 } 6786 case "example" { 6787 container example { 6788 description "Attributes for example technology."; 6789 leaf label-1 { 6790 type uint32; 6791 description "Attribute 11 for example technology."; 6792 } 6793 } 6794 } 6795 description "Augment TE label."; 6796 } 6798 augment "/nw:networks/nw:network/nw:node/tet:te/" 6799 + "tet:te-node-attributes/tet:connectivity-matrices/" 6800 + "tet:connectivity-matrix/" 6801 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 6802 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6803 when "../../../../../../../../../../../../nw:network-types/" 6804 + "tet:te-topology/ex-topo:example-topology" { 6805 description 6806 "Augmentation parameters apply only for networks with 6807 example topology type."; 6808 } 6809 case "example" { 6810 container example { 6811 description "Attributes for example technology."; 6812 leaf label-1 { 6813 type uint32; 6814 description "Attribute 11 for example technology."; 6815 } 6816 } 6817 } 6818 description "Augment TE label."; 6819 } 6821 augment "/nw:networks/nw:network/nw:node/tet:te/" 6822 + "tet:te-node-attributes/tet:connectivity-matrices/" 6823 + "tet:connectivity-matrix/" 6824 + "tet:computed-path-properties/tet:path-computed-route-objects/" 6825 + "tet:path-computed-route-object/tet:type/" 6826 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6827 when "../../../../../../../../../../../../../nw:network-types/" 6828 + "tet:te-topology/ex-topo:example-topology" { 6829 description 6830 "Augmentation parameters apply only for networks with 6831 example topology type."; 6832 } 6833 case "example" { 6834 container example { 6835 description "Attributes for example technology."; 6836 leaf label-1 { 6837 type uint32; 6838 description "Attribute 11 for example technology."; 6839 } 6840 } 6841 } 6842 description "Augment TE label."; 6843 } 6845 /* Under information-source-entry/connectivity-matrices */ 6847 augment "/nw:networks/nw:network/nw:node/tet:te/" 6848 + "tet:information-source-entry/tet:connectivity-matrices/" 6849 + "tet:label-restriction/tet:label-start/tet:te-label/" 6850 + "tet:technology" { 6851 when "../../../../../../../../nw:network-types/tet:te-topology/" 6852 + "ex-topo:example-topology" { 6853 description 6854 "Augmentation parameters apply only for networks with 6855 example topology type."; 6856 } 6857 case "example" { 6858 container example { 6859 description "Attributes for example technology."; 6860 leaf label-1 { 6861 type uint32; 6862 description "Attribute 11 for example technology."; 6863 } 6864 } 6865 } 6866 description "Augment TE label."; 6867 } 6868 augment "/nw:networks/nw:network/nw:node/tet:te/" 6869 + "tet:information-source-entry/tet:connectivity-matrices/" 6870 + "tet:label-restriction/tet:label-end/tet:te-label/" 6871 + "tet:technology" { 6872 when "../../../../../../../../nw:network-types/tet:te-topology/" 6873 + "ex-topo:example-topology" { 6874 description 6875 "Augmentation parameters apply only for networks with 6876 example topology type."; 6877 } 6878 case "example" { 6879 container example { 6880 description "Attributes for example technology."; 6881 leaf label-1 { 6882 type uint32; 6883 description "Attribute 11 for example technology."; 6884 } 6885 } 6886 } 6887 description "Augment TE label."; 6888 } 6890 augment "/nw:networks/nw:network/nw:node/tet:te/" 6891 + "tet:information-source-entry/tet:connectivity-matrices/" 6892 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 6893 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6894 when "../../../../../../../../../../../../nw:network-types/" 6895 + "tet:te-topology/ex-topo:example-topology" { 6896 description 6897 "Augmentation parameters apply only for networks with 6898 example topology type."; 6899 } 6900 case "example" { 6901 container example { 6902 description "Attributes for example technology."; 6903 leaf label-1 { 6904 type uint32; 6905 description "Attribute 11 for example technology."; 6906 } 6907 } 6908 } 6909 description "Augment TE label."; 6910 } 6912 augment "/nw:networks/nw:network/nw:node/tet:te/" 6913 + "tet:information-source-entry/tet:connectivity-matrices/" 6914 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 6915 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6916 when "../../../../../../../../../../../../nw:network-types/" 6917 + "tet:te-topology/ex-topo:example-topology" { 6918 description 6919 "Augmentation parameters apply only for networks with 6920 example topology type."; 6921 } 6922 case "example" { 6923 container example { 6924 description "Attributes for example technology."; 6925 leaf label-1 { 6926 type uint32; 6927 description "Attribute 11 for example technology."; 6928 } 6929 } 6930 } 6931 description "Augment TE label."; 6932 } 6934 augment "/nw:networks/nw:network/nw:node/tet:te/" 6935 + "tet:information-source-entry/tet:connectivity-matrices/" 6936 + "tet:computed-path-properties/tet:path-computed-route-objects/" 6937 + "tet:path-computed-route-object/tet:type/" 6938 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 6939 when "../../../../../../../../../../../../nw:network-types/" 6940 + "tet:te-topology/ex-topo:example-topology" { 6941 description 6942 "Augmentation parameters apply only for networks with 6943 example topology type."; 6944 } 6945 case "example" { 6946 container example { 6947 description "Attributes for example technology."; 6948 leaf label-1 { 6949 type uint32; 6950 description "Attribute 11 for example technology."; 6951 } 6952 } 6953 } 6954 description "Augment TE label."; 6955 } 6957 /* Under information-source-entry/.../connectivity-matrix */ 6959 augment "/nw:networks/nw:network/nw:node/tet:te/" 6960 + "tet:information-source-entry/tet:connectivity-matrices/" 6961 + "tet:connectivity-matrix/tet:from/" 6962 + "tet:label-restriction/tet:label-start/tet:te-label/" 6963 + "tet:technology" { 6964 when "../../../../../../../../../../nw:network-types/" 6965 + "tet:te-topology/ex-topo:example-topology" { 6966 description 6967 "Augmentation parameters apply only for networks with 6968 example topology type."; 6969 } 6970 case "example" { 6971 container example { 6972 description "Attributes for example technology."; 6973 leaf label-1 { 6974 type uint32; 6975 description "Attribute 11 for example technology."; 6976 } 6977 } 6978 } 6979 description "Augment TE label."; 6980 } 6982 augment "/nw:networks/nw:network/nw:node/tet:te/" 6983 + "tet:information-source-entry/tet:connectivity-matrices/" 6984 + "tet:connectivity-matrix/tet:from/" 6985 + "tet:label-restriction/tet:label-end/tet:te-label/" 6986 + "tet:technology" { 6987 when "../../../../../../../../../../nw:network-types/" 6988 + "tet:te-topology/ex-topo:example-topology" { 6989 description 6990 "Augmentation parameters apply only for networks with 6991 example topology type."; 6992 } 6993 case "example" { 6994 container example { 6995 description "Attributes for example technology."; 6996 leaf label-1 { 6997 type uint32; 6998 description "Attribute 11 for example technology."; 6999 } 7000 } 7001 } 7002 description "Augment TE label."; 7003 } 7005 augment "/nw:networks/nw:network/nw:node/tet:te/" 7006 + "tet:information-source-entry/tet:connectivity-matrices/" 7007 + "tet:connectivity-matrix/tet:to/" 7008 + "tet:label-restriction/tet:label-start/tet:te-label/" 7009 + "tet:technology" { 7010 when "../../../../../../../../../../nw:network-types/" 7011 + "tet:te-topology/ex-topo:example-topology" { 7012 description 7013 "Augmentation parameters apply only for networks with 7014 example topology type."; 7015 } 7016 case "example" { 7017 container example { 7018 description "Attributes for example technology."; 7019 leaf label-1 { 7020 type uint32; 7021 description "Attribute 11 for example technology."; 7022 } 7023 } 7024 } 7025 description "Augment TE label."; 7026 } 7028 augment "/nw:networks/nw:network/nw:node/tet:te/" 7029 + "tet:information-source-entry/tet:connectivity-matrices/" 7030 + "tet:connectivity-matrix/tet:to/" 7031 + "tet:label-restriction/tet:label-end/tet:te-label/" 7032 + "tet:technology" { 7033 when "../../../../../../../../../../nw:network-types/" 7034 + "tet:te-topology/ex-topo:example-topology" { 7035 description 7036 "Augmentation parameters apply only for networks with 7037 example topology type."; 7038 } 7039 case "example" { 7040 container example { 7041 description "Attributes for example technology."; 7042 leaf label-1 { 7043 type uint32; 7044 description "Attribute 11 for example technology."; 7045 } 7046 } 7047 } 7048 description "Augment TE label."; 7049 } 7051 augment "/nw:networks/nw:network/nw:node/tet:te/" 7052 + "tet:information-source-entry/tet:connectivity-matrices/" 7053 + "tet:connectivity-matrix/" 7054 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7055 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7056 when "../../../../../../../../../../../../../nw:network-types/" 7057 + "tet:te-topology/ex-topo:example-topology" { 7058 description 7059 "Augmentation parameters apply only for networks with 7060 example topology type."; 7061 } 7062 case "example" { 7063 container example { 7064 description "Attributes for example technology."; 7065 leaf label-1 { 7066 type uint32; 7067 description "Attribute 11 for example technology."; 7068 } 7069 } 7070 } 7071 description "Augment TE label."; 7072 } 7073 augment "/nw:networks/nw:network/nw:node/tet:te/" 7074 + "tet:information-source-entry/tet:connectivity-matrices/" 7075 + "tet:connectivity-matrix/" 7076 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7077 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7078 when "../../../../../../../../../../../../nw:network-types/" 7079 + "tet:te-topology/ex-topo:example-topology" { 7080 description 7081 "Augmentation parameters apply only for networks with 7082 example topology type."; 7083 } 7084 case "example" { 7085 container example { 7086 description "Attributes for example technology."; 7087 leaf label-1 { 7088 type uint32; 7089 description "Attribute 11 for example technology."; 7090 } 7091 } 7092 } 7093 description "Augment TE label."; 7094 } 7096 augment "/nw:networks/nw:network/nw:node/tet:te/" 7097 + "tet:information-source-entry/tet:connectivity-matrices/" 7098 + "tet:connectivity-matrix/" 7099 + "tet:computed-path-properties/tet:path-computed-route-objects/" 7100 + "tet:path-computed-route-object/tet:type/" 7101 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7102 when "../../../../../../../../../../../../../nw:network-types/" 7103 + "tet:te-topology/ex-topo:example-topology" { 7104 description 7105 "Augmentation parameters apply only for networks with 7106 example topology type."; 7107 } 7108 case "example" { 7109 container example { 7110 description "Attributes for example technology."; 7111 leaf label-1 { 7112 type uint32; 7113 description "Attribute 11 for example technology."; 7114 } 7115 } 7116 } 7117 description "Augment TE label."; 7118 } 7120 /* Under tunnel-termination-point/local-link-connectivities */ 7122 augment "/nw:networks/nw:network/nw:node/tet:te/" 7123 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7124 + "tet:label-restriction/tet:label-start/tet:te-label/" 7125 + "tet:technology" { 7126 when "../../../../../../../../nw:network-types/tet:te-topology/" 7127 + "ex-topo:example-topology" { 7128 description 7129 "Augmentation parameters apply only for networks with 7130 example topology type."; 7131 } 7132 case "example" { 7133 container example { 7134 description "Attributes for example technology."; 7135 leaf label-1 { 7136 type uint32; 7137 description "Attribute 11 for example technology."; 7138 } 7139 } 7140 } 7141 description "Augment TE label."; 7142 } 7144 augment "/nw:networks/nw:network/nw:node/tet:te/" 7145 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7146 + "tet:label-restriction/tet:label-end/tet:te-label/" 7147 + "tet:technology" { 7148 when "../../../../../../../../nw:network-types/tet:te-topology/" 7149 + "ex-topo:example-topology" { 7150 description 7151 "Augmentation parameters apply only for networks with 7152 example topology type."; 7153 } 7154 case "example" { 7155 container example { 7156 description "Attributes for example technology."; 7157 leaf label-1 { 7158 type uint32; 7159 description "Attribute 11 for example technology."; 7160 } 7161 } 7162 } 7163 description "Augment TE label."; 7164 } 7166 augment "/nw:networks/nw:network/nw:node/tet:te/" 7167 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7168 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7169 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7170 when "../../../../../../../../../../../../nw:network-types/" 7171 + "tet:te-topology/ex-topo:example-topology" { 7172 description 7173 "Augmentation parameters apply only for networks with 7174 example topology type."; 7175 } 7176 case "example" { 7177 container example { 7178 description "Attributes for example technology."; 7179 leaf label-1 { 7180 type uint32; 7181 description "Attribute 11 for example technology."; 7182 } 7183 } 7184 } 7185 description "Augment TE label."; 7186 } 7188 augment "/nw:networks/nw:network/nw:node/tet:te/" 7189 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7190 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7191 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7192 when "../../../../../../../../../../../../nw:network-types/" 7193 + "tet:te-topology/ex-topo:example-topology" { 7194 description 7195 "Augmentation parameters apply only for networks with 7196 example topology type."; 7197 } 7198 case "example" { 7199 container example { 7200 description "Attributes for example technology."; 7201 leaf label-1 { 7202 type uint32; 7203 description "Attribute 11 for example technology."; 7204 } 7205 } 7206 } 7207 description "Augment TE label."; 7208 } 7210 augment "/nw:networks/nw:network/nw:node/tet:te/" 7211 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7212 + "tet:computed-path-properties/tet:path-computed-route-objects/" 7213 + "tet:path-computed-route-object/tet:type/" 7214 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7215 when "../../../../../../../../../../../../nw:network-types/" 7216 + "tet:te-topology/ex-topo:example-topology" { 7217 description 7218 "Augmentation parameters apply only for networks with 7219 example topology type."; 7220 } 7221 case "example" { 7222 container example { 7223 description "Attributes for example technology."; 7224 leaf label-1 { 7225 type uint32; 7226 description "Attribute 11 for example technology."; 7227 } 7228 } 7229 } 7230 description "Augment TE label."; 7231 } 7233 /* Under tunnel-termination-point/.../local-link-connectivity */ 7235 augment "/nw:networks/nw:network/nw:node/tet:te/" 7236 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7237 + "tet:local-link-connectivity/" 7238 + "tet:label-restriction/tet:label-start/tet:te-label/" 7239 + "tet:technology" { 7240 when "../../../../../../../../../nw:network-types/" 7241 + "tet:te-topology/ex-topo:example-topology" { 7242 description 7243 "Augmentation parameters apply only for networks with 7244 example topology type."; 7245 } 7246 case "example" { 7247 container example { 7248 description "Attributes for example technology."; 7249 leaf label-1 { 7250 type uint32; 7251 description "Attribute 11 for example technology."; 7252 } 7253 } 7254 } 7255 description "Augment TE label."; 7256 } 7258 augment "/nw:networks/nw:network/nw:node/tet:te/" 7259 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7260 + "tet:local-link-connectivity/" 7261 + "tet:label-restriction/tet:label-end/tet:te-label/" 7262 + "tet:technology" { 7263 when "../../../../../../../../../nw:network-types/" 7264 + "tet:te-topology/ex-topo:example-topology" { 7265 description 7266 "Augmentation parameters apply only for networks with 7267 example topology type."; 7268 } 7269 case "example" { 7270 container example { 7271 description "Attributes for example technology."; 7272 leaf label-1 { 7273 type uint32; 7274 description "Attribute 11 for example technology."; 7275 } 7276 } 7278 } 7279 description "Augment TE label."; 7280 } 7282 augment "/nw:networks/nw:network/nw:node/tet:te/" 7283 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7284 + "tet:local-link-connectivity/" 7285 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7286 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7287 when "../../../../../../../../../../../../../nw:network-types/" 7288 + "tet:te-topology/ex-topo:example-topology" { 7289 description 7290 "Augmentation parameters apply only for networks with 7291 example topology type."; 7292 } 7293 case "example" { 7294 container example { 7295 description "Attributes for example technology."; 7296 leaf label-1 { 7297 type uint32; 7298 description "Attribute 11 for example technology."; 7299 } 7300 } 7301 } 7302 description "Augment TE label."; 7303 } 7305 augment "/nw:networks/nw:network/nw:node/tet:te/" 7306 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7307 + "tet:local-link-connectivity/" 7308 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7309 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7310 when "../../../../../../../../../../../../nw:network-types/" 7311 + "tet:te-topology/ex-topo:example-topology" { 7312 description 7313 "Augmentation parameters apply only for networks with 7314 example topology type."; 7315 } 7316 case "example" { 7317 container example { 7318 description "Attributes for example technology."; 7319 leaf label-1 { 7320 type uint32; 7321 description "Attribute 11 for example technology."; 7322 } 7323 } 7324 } 7325 description "Augment TE label."; 7326 } 7328 augment "/nw:networks/nw:network/nw:node/tet:te/" 7329 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7330 + "tet:local-link-connectivity/" 7331 + "tet:computed-path-properties/tet:path-computed-route-objects/" 7332 + "tet:path-computed-route-object/tet:type/" 7333 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7334 when "../../../../../../../../../../../../../nw:network-types/" 7335 + "tet:te-topology/ex-topo:example-topology" { 7336 description 7337 "Augmentation parameters apply only for networks with 7338 example topology type."; 7339 } 7340 case "example" { 7341 container example { 7342 description "Attributes for example technology."; 7343 leaf label-1 { 7344 type uint32; 7345 description "Attribute 11 for example technology."; 7346 } 7347 } 7348 } 7349 description "Augment TE label."; 7350 } 7352 /* Under te-link-attributes */ 7354 augment "/nw:networks/nw:network/nt:link/tet:te/" 7355 + "tet:te-link-attributes/" 7356 + "tet:label-restriction/tet:label-start/tet:te-label/" 7357 + "tet:technology" { 7358 when "../../../../../../../nw:network-types/" 7359 + "tet:te-topology/ex-topo:example-topology" { 7360 description 7361 "Augmentation parameters apply only for networks with 7362 example topology type."; 7363 } 7364 case "example" { 7365 container example { 7366 description "Attributes for example technology."; 7367 leaf label-1 { 7368 type uint32; 7369 description "Attribute 11 for example technology."; 7370 } 7371 } 7372 } 7373 description "Augment TE label."; 7374 } 7376 augment "/nw:networks/nw:network/nt:link/tet:te/" 7377 + "tet:te-link-attributes/" 7378 + "tet:label-restriction/tet:label-end/tet:te-label/" 7379 + "tet:technology" { 7380 when "../../../../../../../nw:network-types/" 7381 + "tet:te-topology/ex-topo:example-topology" { 7382 description 7383 "Augmentation parameters apply only for networks with 7384 example topology type."; 7385 } 7386 case "example" { 7387 container example { 7388 description "Attributes for example technology."; 7389 leaf label-1 { 7390 type uint32; 7391 description "Attribute 11 for example technology."; 7392 } 7393 } 7394 } 7395 description "Augment TE label."; 7396 } 7398 augment "/nw:networks/nw:network/nt:link/tet:te/" 7399 + "tet:te-link-attributes/" 7400 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7401 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7402 when "../../../../../../../../../../../nw:network-types/" 7403 + "tet:te-topology/ex-topo:example-topology" { 7404 description 7405 "Augmentation parameters apply only for networks with 7406 example topology type."; 7407 } 7408 case "example" { 7409 container example { 7410 description "Attributes for example technology."; 7411 leaf label-1 { 7412 type uint32; 7413 description "Attribute 11 for example technology."; 7414 } 7415 } 7416 } 7417 description "Augment TE label."; 7418 } 7420 augment "/nw:networks/nw:network/nt:link/tet:te/" 7421 + "tet:te-link-attributes/" 7422 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7423 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7424 when "../../../../../../../../../../nw:network-types/" 7425 + "tet:te-topology/ex-topo:example-topology" { 7426 description 7427 "Augmentation parameters apply only for networks with 7428 example topology type."; 7429 } 7430 case "example" { 7431 container example { 7432 description "Attributes for example technology."; 7433 leaf label-1 { 7434 type uint32; 7435 description "Attribute 11 for example technology."; 7436 } 7437 } 7438 } 7439 description "Augment TE label."; 7440 } 7441 /* Under te-link information-source-entry */ 7443 augment "/nw:networks/nw:network/nt:link/tet:te/" 7444 + "tet:information-source-entry/" 7445 + "tet:label-restriction/tet:label-start/tet:te-label/" 7446 + "tet:technology" { 7447 when "../../../../../../../nw:network-types/" 7448 + "tet:te-topology/ex-topo:example-topology" { 7449 description 7450 "Augmentation parameters apply only for networks with 7451 example topology type."; 7452 } 7453 case "example" { 7454 container example { 7455 description "Attributes for example technology."; 7456 leaf label-1 { 7457 type uint32; 7458 description "Attribute 11 for example technology."; 7459 } 7460 } 7461 } 7462 description "Augment TE label."; 7463 } 7465 augment "/nw:networks/nw:network/nt:link/tet:te/" 7466 + "tet:information-source-entry/" 7467 + "tet:label-restriction/tet:label-end/tet:te-label/" 7468 + "tet:technology" { 7469 when "../../../../../../../nw:network-types/" 7470 + "tet:te-topology/ex-topo:example-topology" { 7471 description 7472 "Augmentation parameters apply only for networks with 7473 example topology type."; 7474 } 7475 case "example" { 7476 container example { 7477 description "Attributes for example technology."; 7478 leaf label-1 { 7479 type uint32; 7480 description "Attribute 11 for example technology."; 7481 } 7483 } 7484 } 7485 description "Augment TE label."; 7486 } 7487 } 7489 Contributors 7491 Sergio Belotti 7492 Nokia 7493 Email: sergio.belotti@nokia.com 7495 Dieter Beller 7496 Nokia 7497 Email: Dieter.Beller@nokia.com 7499 Carlo Perocchio 7500 Ericsson 7501 Email: carlo.perocchio@ericsson.com 7503 Italo Busi 7504 Huawei Technologies 7505 Email: Italo.Busi@huawei.com 7507 Authors' Addresses 7509 Xufeng Liu 7510 Jabil 7511 Email: Xufeng_Liu@jabil.com 7513 Igor Bryskin 7514 Huawei Technologies 7515 Email: Igor.Bryskin@huawei.com 7517 Vishnu Pavan Beeram 7518 Juniper Networks 7519 Email: vbeeram@juniper.net 7521 Tarek Saad 7522 Cisco Systems Inc 7523 Email: tsaad@cisco.com 7525 Himanshu Shah 7526 Ciena 7527 Email: hshah@ciena.com 7528 Oscar Gonzalez De Dios 7529 Telefonica 7530 Email: oscar.gonzalezdedios@telefonica.com