idnits 2.17.1 draft-ietf-teas-yang-te-24.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 110 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 530 has weird spacing: '...ic-type ide...' == Line 534 has weird spacing: '...w usage ide...' == Line 540 has weird spacing: '...rw name str...' == Line 547 has weird spacing: '...w usage ide...' == Line 561 has weird spacing: '...k-tp-id te-...' == (105 more instances...) == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (July 12, 2020) is 1382 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-19) exists of draft-ietf-teas-yang-rsvp-12 Summary: 1 error (**), 0 flaws (~~), 9 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 TEAS Working Group T. Saad 3 Internet-Draft Juniper Networks 4 Intended status: Standards Track R. Gandhi 5 Expires: January 13, 2021 Cisco Systems Inc 6 X. Liu 7 Volta Networks 8 V. Beeram 9 Juniper Networks 10 I. Bryskin 11 Individual 12 July 12, 2020 14 A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths 15 and Interfaces 16 draft-ietf-teas-yang-te-24 18 Abstract 20 This document defines a YANG data model for the configuration and 21 management of Traffic Engineering (TE) tunnels, Label Switched Paths 22 (LSPs). and interfaces. The model is divided into YANG modules that 23 classify data into generic, device-specific, technology agnostic, and 24 technology-specific elements. 26 This model covers data for configuration, operational state, remote 27 procedural calls, and event notifications. 29 Status of This Memo 31 This Internet-Draft is submitted in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF). Note that other groups may also distribute 36 working documents as Internet-Drafts. The list of current Internet- 37 Drafts is at https://datatracker.ietf.org/drafts/current/. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 This Internet-Draft will expire on January 13, 2021. 46 Copyright Notice 48 Copyright (c) 2020 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents 53 (https://trustee.ietf.org/license-info) in effect on the date of 54 publication of this document. Please review these documents 55 carefully, as they describe your rights and restrictions with respect 56 to this document. Code Components extracted from this document must 57 include Simplified BSD License text as described in Section 4.e of 58 the Trust Legal Provisions and are provided without warranty as 59 described in the Simplified BSD License. 61 Table of Contents 63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 64 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 65 2.1. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3 66 3. Design Considerations . . . . . . . . . . . . . . . . . . . . 4 67 3.1. State Data Organization . . . . . . . . . . . . . . . . . 5 68 4. Model Overview . . . . . . . . . . . . . . . . . . . . . . . 5 69 4.1. Module Relationship . . . . . . . . . . . . . . . . . . . 5 70 5. TE YANG Model . . . . . . . . . . . . . . . . . . . . . . . . 6 71 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 6 72 5.1.1. TE Globals . . . . . . . . . . . . . . . . . . . . . 7 73 5.1.2. TE Tunnels . . . . . . . . . . . . . . . . . . . . . 8 74 5.1.3. TE LSPs . . . . . . . . . . . . . . . . . . . . . . . 12 75 5.2. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 12 76 5.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 59 77 6. TE Device YANG Model . . . . . . . . . . . . . . . . . . . . 95 78 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 95 79 6.1.1. TE Interfaces . . . . . . . . . . . . . . . . . . . . 96 80 6.2. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 97 81 6.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 100 82 7. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 114 83 8. TE Generic and Helper YANG Modules . . . . . . . . . . . . . 115 84 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 115 85 10. Security Considerations . . . . . . . . . . . . . . . . . . . 115 86 11. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 116 87 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 116 88 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 117 89 13.1. Normative References . . . . . . . . . . . . . . . . . . 117 90 13.2. Informative References . . . . . . . . . . . . . . . . . 120 91 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 120 93 1. Introduction 95 YANG [RFC6020] and [RFC7950] is a data modeling language that was 96 introduced to define the contents of a conceptual data store that 97 allows networked devices to be managed using NETCONF [RFC6241]. YANG 98 has proved relevant beyond its initial confines, as bindings to other 99 interfaces (e.g. RESTCONF [RFC8040]) and encoding other than XML 100 (e.g. JSON) are being defined. Furthermore, YANG data models can be 101 used as the basis of implementation for other interfaces, such as CLI 102 and programmatic APIs. 104 This document describes YANG data model for Traffic Engineering (TE) 105 tunnels, Label Switched Paths (LSPs), and interfaces. The model 106 covers data applicable to generic or device-independent, device- 107 specific, and Multiprotocol Label Switching (MPLS) technology 108 specific. 110 The document describes a high-level relationship between the modules 111 defined in this document, as well as other external protocol YANG 112 modules. The TE generic YANG data model does not include any data 113 specific to a signaling protocol. It is expected other data plane 114 technology model(s) will augment the TE generic YANG data model. 116 Also, it is expected other YANG module(s) that model TE signaling 117 protocols, such as RSVP-TE ([RFC3209], [RFC3473]), or Segment-Routing 118 TE (SR-TE) will augment the generic TE YANG module. 120 2. Requirements Language 122 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 123 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 124 "OPTIONAL" in this document are to be interpreted as described in BCP 125 14 [RFC2119] [RFC8174] when, and only when, they appear in all 126 capitals, as shown here. 128 The terminology for describing YANG data models is found in 129 [RFC7950]. 131 2.1. Prefixes in Data Node Names 133 In this document, names of data nodes and other data model objects 134 are prefixed using the standard prefix associated with the 135 corresponding YANG imported modules, as shown in Table 1. 137 +-----------------+--------------------+--------------------+ 138 | Prefix | YANG module | Reference | 139 +-----------------+--------------------+--------------------+ 140 | yang | ietf-yang-types | [RFC6991] | 141 | inet | ietf-inet-types | [RFC6991] | 142 | rt-types | ietf-routing-types | [RFC8294] | 143 | te | ietf-te | this document | 144 | te-dev | ietf-te-device | this document | 145 | te-types | ietf-te-types | [RFC8776] | 146 | te-packet-types | ietf-te-mpls-types | [RFC8776] | 147 +---------------+--------------------+----------------------+ 149 Table 1: Prefixes and corresponding YANG modules 151 3. Design Considerations 153 This document describes a generic TE YANG data model that is 154 independent of any dataplane technology. One of the design 155 objectives is to allow specific data plane technology models to reuse 156 the TE generic data model and possibly augment it with technology 157 specific data. 159 The elements of the generic TE YANG data model, including TE tunnels, 160 LSPs, and interfaces have leaf(s) that identify the technology layer 161 where they reside. For example, the LSP encoding type can identify 162 the technology associated with a TE tunnel or LSP. 164 Also, the generic TE YANG data model does not cover signaling 165 protocol data. The signaling protocol used to instantiate TE LSPs 166 are outside the scope of this document and expected to be covered by 167 augmentations defined in other document(s). 169 The following other design considerations are taken into account with 170 respect data organization: 172 o The generic TE YANG data model 'ietf-te' contains device 173 independent data and can be used to model data off a device (e.g. 174 on a TE controller). The device-specific TE data is defined in 175 module 'ietf-te-device' as shown in Figure 1, 177 o In general, minimal elements in the model are designated as 178 "mandatory" to allow freedom to vendors to adapt the data model to 179 their specific product implementation. 181 o Suitable defaults are specified for all configurable elements. 183 o The model declares a number of TE functions as features that can 184 be optionally supported. 186 3.1. State Data Organization 188 The Network Management Datastore Architecture (NMDA) [RFC8342] 189 addresses modeling state data for ephemeral objects. This document 190 adopts the NMDA model for configuration and state data representation 191 as per IETF guidelines for new IETF YANG models. 193 4. Model Overview 195 The data models defined in this document cover the core TE features 196 that are commonly supported by different vendor implementations. The 197 support of extended or vendor specific TE feature(s) is expected to 198 be in either augmentations, or deviations to the model defined in 199 this document. 201 4.1. Module Relationship 203 The generic TE YANG data model that is defined in "ietf-te.yang" 204 covers the building blocks that are device independent and agnostic 205 of any specific technology or control plane instances. The TE device 206 model defined in "ietf-te-device.yang" augments the generic TE YANG 207 data model and covers data that is specific to a device - for 208 example, attributes of TE interfaces, or TE timers that are local to 209 a TE node. 211 The TE data model for specific instances of data plane technology 212 exist in a separate YANG module(s) that augment the generic TE YANG 213 data model. For example, the MPLS-TE module "ietf-te-mpls.yang" is 214 defined in another document and augments the TE generic model as 215 shown in Figure 1. 217 The TE data model for specific instances of signaling protocol are 218 outside the scope of this document and are defined in other 219 documents. For example, the RSVP-TE YANG model augmentation of the 220 TE model is covered in [I-D.ietf-teas-yang-rsvp]. 222 TE generic +---------+ o: augment 223 module | ietf-te |o-------------+ 224 +---------+ \ 225 o \ 226 |\ \ 227 | \ \ 228 | +----------------+ \ 229 | | ietf-te-device | TE device module 230 | +----------------+ \ 231 | o o \ 232 | / \ \ 233 | / \ \ 234 +--------------+ +---------------+ 235 RSVP-TE module | ietf-rsvp-te |o . | ietf-te-mpls^ | 236 +--------------+ \ +---------------+ 237 | \ 238 | \ 239 | \ 240 | \ 241 | \ 242 o +-------------------+ 243 +-----------+ | ietf-rsvp-otn-te^ | 244 RSVP module | ietf-rsvp | +-------------------+ 245 +-----------+ RSVP-TE with OTN 246 extensions 248 ^ shown for illustration 249 (not in this document) 251 Figure 1: Relationship of TE module(s) with other signaling protocol 252 modules 254 5. TE YANG Model 256 The generic TE YANG module ('ietf-te') is meant to manage and operate 257 a TE network. This includes creating, modifying and retrieving TE 258 tunnels, LSPs, and interfaces and their associated attributes (e.g. 259 Administrative-Groups, SRLGs, etc.). 261 The detailed tree structure is provided in Figure 2.. 263 5.1. Module Structure 265 The 'ietf-te' uses three main containers grouped under the main 'te' 266 container (see Figure 2). 268 The 'te' container is the top level container in the data model. The 269 presence of this container enables TE function system wide. 271 The 'globals' container maintains the set of global TE attributes 272 that can be applicable to TE tunnel(s) and interface(s). 274 The 'tunnels' container includes the list of TE tunnels that are 275 instantiated. 277 The 'lsps' container includes the list of TE LSP(s) that are 278 instantiated. 280 module: ietf-te 281 +--rw te! 282 +--rw globals 283 . 284 . 286 +--rw tunnels 287 . 288 . 290 +-- lsps 292 rpcs: 293 +---x tunnels-path-compute 294 +---x tunnels-action 296 Figure 2: TE generic highlevel model view 298 5.1.1. TE Globals 300 The 'globals' container covers properties that control TE features 301 behavior system-wide, and its respective state (see Figure 3). The 302 TE globals configuration include: 304 o Table of named (extended) administrative groups mappings 306 o Table of named SRLG mappings 308 o Table of named path-constraints sets 310 o System-wide capabilities for LSP reoptimization 312 * Reoptimization timers (periodic interval, LSP installation and 313 cleanup) 315 * Link state flooding thresholds 316 * Periodic flooding interval 318 o Global capabilities that affect originating, transiting and 319 terminating LSPs. For example: 321 * Path selection parameters (e.g. metric to optimize, etc.) 323 * Path or segment protection parameters 325 +--rw globals 326 | +--rw named-admin-groups 327 | | +--rw named-admin-group* [name] 328 .. 329 | +--rw named-srlgs 330 | | +--rw named-srlg* [name] {te-types:named-srlg-groups}? 331 .. 332 | +--rw named-path-constraints 333 | | +--rw named-path-constraint* [name] 334 .. 336 Figure 3: TE globals tree structure 338 5.1.2. TE Tunnels 340 The set of TE tunnels are provisioned under the 'tunnels' container 341 (see Figure 4). A TE tunnel in the list is uniquely identified by a 342 name. When the model is used to manage a specific device, the 343 'tunnels' list contains the TE tunnels originating from the specific 344 device. When the model is used to manage a TE controller, the 345 'tunnels' list contains all TE tunnels originating from device(s) 346 that the TE controller manages. 348 The TE tunnel has a number of attributes that are set directly under 349 the tunnel. The 'encoding' and 'switching-type' nodes define the 350 specific technology that the tunnel operates in. 352 +--rw tunnels 353 | +--rw tunnel* [name] 354 | +--ro operational-state? identityref 355 | +--rw name string 356 | +--rw identifier? uint32 357 | +--rw description? string 358 | +--rw encoding? identityref 359 | +--rw switching-type? identityref 360 | +--rw admin-state? identityref 361 | +--rw reoptimize-timer? uint16 362 | +--rw source? te-types:te-node-id 363 | +--rw destination? te-types:te-node-id 364 | +--rw src-tunnel-tp-id? binary 365 | +--rw dst-tunnel-tp-id? binary 366 | +--rw bidirectional? boolean 368 Figure 4: TE tunnel list structure 370 The TE tunnel has the following main attributes: 372 association-objects: 374 A container that includes the set of associations of the TE tunnel 375 with other TE tunnels. 377 protection: 379 A container that includes the TE tunnel protection properties. 381 restoration: 383 A container that includes the TE tunnel restoration properties. 385 primary-paths: 387 A container that includes the set of primary paths (see Figure 5). 388 A primary path is identified by 'name'. A primary path is 389 selected from the list to instantiate an LSP for the tunnel. The 390 list of primary paths is visited by order of preference. A 391 primary path has the following attributes: 393 * primary-reverse-path: A container that includes properties of 394 the primary reverse path. The reverse path is applicable to 395 bidirectional TE tunnels. 397 * candidate-secondary-paths: A container that includes a list of 398 candidate secondary paths which may be used for the primary 399 path. The candidate secondary path(s) reference path(s)m from 400 the secondary paths list. The preference of the secondary 401 paths is specified within the list and dictates the order of 402 visiting the secondary path from the list. 404 * compute-only: A primary path of TE tunnel is, by default, 405 provisioned so that it can is instantiated in forwarding to 406 carry traffic as soon as a valid path is compute. In some 407 cases, a TE tunnel may be provisioned for the only purpose of 408 computing a path and reporting it without the need to 409 instantiate the LSP or commit any resources. In such a case, 410 the primary-path is configured in 'compute-only' mode to 411 distinguish it from default behavior. A 'compute-only' primary 412 path is configured as a usual TE tunnel with associated per 413 path constraint(s) and properties on a device or controller. 414 The device or controller computes the feasible path(s) subject 415 to configured constraints. A client may query the 'compute- 416 only' computed path properties 'on-demand', or alternatively, 417 can subscribe notified of computed path(s) and whenever the 418 path properties change. 420 +--rw primary-paths 421 | +--rw primary-path* [name] 422 | +--rw name string 423 | +--rw path-computation-method? identityref 424 | +--rw path-computation-server 425 | | +--rw id? te-generic-node-id 426 | | +--rw type? enumeration 427 | +--rw compute-only? empty 428 | +--rw use-path-computation? boolean 429 | +--rw lockdown? empty 430 | +--ro path-scope? identityref 431 | +--rw preference? uint8 432 | +--rw k-requested-paths? uint8 434 Figure 5: TE tunnel primary paths. 436 secondary-paths: 438 A container that includes the set of secondary paths. The 439 secondary paths are identified by 'name'. A secondary path can be 440 reference by a TE tunnel's 'candidate-secondary-path'. A 441 secondary path contains attributes similar to a primary path. 443 hierarchy: 445 A container that includes hierarchy related properties of the 446 tunnel (see Figure 6. A TE LSP can be set up in MPLS or 447 Generalized MPLS (GMPLS) networks to be used as a TE links to 448 carry traffic in other (client) networks [RFC6107]. In this case, 449 the model introduces the TE tunnel hierarchical link endpoint 450 parameters to identify the specific link in the client layer that 451 the underlying TE tunnel is associated with. The hierarchy 452 container includes the following: 454 * dependency-tunnels: a hierarchical TE tunnel provisioned or to 455 be provisioned in an immediately adjacent server layer a given 456 client layer TE tunnel depends on for multi-layer path 457 computation. A dependency TE tunnel is provisioned if and only 458 if it is used (selected by path computation) at least by one 459 client layer TE tunnel. The TE link in the client layer 460 network topology supported by a dependent TE tunnel is 461 dynamically created only when the dependency TE tunnel is 462 actually provisioned. 464 * hierarchical-link: A container that includes the identity of a 465 hierarchical link (in client layer) that this tunnel is 466 associated with. 468 * te-topology-identifier: A container that includes the topology 469 identifier associated with the tunnel. 471 +--rw hierarchy 472 | +--rw dependency-tunnels 473 | | +--rw dependency-tunnel* [name] 474 | | +--rw name 475 | | | -> ../../../../../../tunnels/tunnel/name 476 | | +--rw encoding? identityref 477 | | +--rw switching-type? identityref 478 | +--rw hierarchical-link 479 | +--rw local-te-node-id? te-types:te-node-id 480 | +--rw local-te-link-tp-id? te-types:te-tp-id 481 | +--rw remote-te-node-id? te-types:te-node-id 482 | +--rw te-topology-identifier 483 | +--rw provider-id? te-global-id 484 | +--rw client-id? te-global-id 485 | +--rw topology-id? te-topology-id 487 Figure 6: TE tunnel primary paths. 489 5.1.3. TE LSPs 491 The 'lsps' container includes the set of TE LSP(s) that are 492 instantiated. A TE LSP is identified by a 3-tuple ('tunnel-name', 493 'node', 'lsp-id'). When the model is used to manage a specific 494 device, the 'lsps' list contains all TE LSP(s) that traverse the 495 device (including ingressing, transiting and egressing the device). 497 5.2. Tree Diagram 499 Figure 7 shows the tree diagram of the generic TE YANG model defined 500 in modules 'ietf-te.yang'. 502 module: ietf-te 503 +--rw te! 504 +--rw globals 505 | +--rw named-admin-groups 506 | | +--rw named-admin-group* [name] 507 | | {te-types:extended-admin-groups, 508 te-types:named-extended-admin-groups}? 509 | | +--rw name string 510 | | +--rw bit-position? uint32 511 | +--rw named-srlgs 512 | | +--rw named-srlg* [name] {te-types:named-srlg-groups}? 513 | | +--rw name string 514 | | +--rw group? te-types:srlg 515 | | +--rw cost? uint32 516 | +--rw named-path-constraints 517 | +--rw named-path-constraint* [name] 518 | {te-types:named-path-constraints}? 519 | +--rw name string 520 | +--rw te-bandwidth 521 | | +--rw (technology)? 522 | | +--:(generic) 523 | | +--rw generic? te-bandwidth 524 | +--rw link-protection? identityref 525 | +--rw setup-priority? uint8 526 | +--rw hold-priority? uint8 527 | +--rw signaling-type? identityref 528 | +--rw path-metric-bounds 529 | | +--rw path-metric-bound* [metric-type] 530 | | +--rw metric-type identityref 531 | | +--rw upper-bound? uint64 532 | +--rw path-affinities-values 533 | | +--rw path-affinities-value* [usage] 534 | | +--rw usage identityref 535 | | +--rw value? admin-groups 536 | +--rw path-affinity-names 537 | | +--rw path-affinity-name* [usage] 538 | | +--rw usage identityref 539 | | +--rw affinity-name* [name] 540 | | +--rw name string 541 | +--rw path-srlgs-lists 542 | | +--rw path-srlgs-list* [usage] 543 | | +--rw usage identityref 544 | | +--rw values* srlg 545 | +--rw path-srlgs-names 546 | | +--rw path-srlgs-name* [usage] 547 | | +--rw usage identityref 548 | | +--rw names* string 549 | +--rw disjointness? 550 | | te-path-disjointness 551 | +--rw explicit-route-objects-always 552 | | +--rw route-object-exclude-always* [index] 553 | | | +--rw index uint32 554 | | | +--rw (type)? 555 | | | +--:(numbered-node-hop) 556 | | | | +--rw numbered-node-hop 557 | | | | +--rw node-id te-node-id 558 | | | | +--rw hop-type? te-hop-type 559 | | | +--:(numbered-link-hop) 560 | | | | +--rw numbered-link-hop 561 | | | | +--rw link-tp-id te-tp-id 562 | | | | +--rw hop-type? te-hop-type 563 | | | | +--rw direction? te-link-direction 564 | | | +--:(unnumbered-link-hop) 565 | | | | +--rw unnumbered-link-hop 566 | | | | +--rw link-tp-id te-tp-id 567 | | | | +--rw node-id te-node-id 568 | | | | +--rw hop-type? te-hop-type 569 | | | | +--rw direction? te-link-direction 570 | | | +--:(as-number) 571 | | | | +--rw as-number-hop 572 | | | | +--rw as-number inet:as-number 573 | | | | +--rw hop-type? te-hop-type 574 | | | +--:(label) 575 | | | +--rw label-hop 576 | | | +--rw te-label 577 | | | +--rw (technology)? 578 | | | | +--:(generic) 579 | | | | +--rw generic? 580 | | | |rt-types:generalized-label 581 | | | +--rw direction? 582 | | | te-label-direction 583 | | +--rw route-object-include-exclude* [index] 584 | | +--rw explicit-route-usage? identityref 585 | | +--rw index uint32 586 | | +--rw (type)? 587 | | +--:(numbered-node-hop) 588 | | | +--rw numbered-node-hop 589 | | | +--rw node-id te-node-id 590 | | | +--rw hop-type? te-hop-type 591 | | +--:(numbered-link-hop) 592 | | | +--rw numbered-link-hop 593 | | | +--rw link-tp-id te-tp-id 594 | | | +--rw hop-type? te-hop-type 595 | | | +--rw direction? te-link-direction 596 | | +--:(unnumbered-link-hop) 597 | | | +--rw unnumbered-link-hop 598 | | | +--rw link-tp-id te-tp-id 599 | | | +--rw node-id te-node-id 600 | | | +--rw hop-type? te-hop-type 601 | | | +--rw direction? te-link-direction 602 | | +--:(as-number) 603 | | | +--rw as-number-hop 604 | | | +--rw as-number inet:as-number 605 | | | +--rw hop-type? te-hop-type 606 | | +--:(label) 607 | | | +--rw label-hop 608 | | | +--rw te-label 609 | | | +--rw (technology)? 610 | | | | +--:(generic) 611 | | | | +--rw generic? 612 | | | |rt-types:generalized-label 613 | | | +--rw direction? 614 | | | te-label-direction 615 | | +--:(srlg) 616 | | +--rw srlg 617 | | +--rw srlg? uint32 618 | +--rw path-in-segment! 619 | | +--rw label-restrictions 620 | | +--rw label-restriction* [index] 621 | | +--rw restriction? enumeration 622 | | +--rw index uint32 623 | | +--rw label-start 624 | | | +--rw te-label 625 | | | +--rw (technology)? 626 | | | | +--:(generic) 627 | | | | +--rw generic? 628 | | | |rt-types:generalized-label 629 | | | +--rw direction? 630 | | | te-label-direction 631 | | +--rw label-end 632 | | | +--rw te-label 633 | | | +--rw (technology)? 634 | | | | +--:(generic) 635 | | | | +--rw generic? 636 | | | |rt-types:generalized-label 637 | | | +--rw direction? 638 | | | te-label-direction 639 | | +--rw label-step 640 | | | +--rw (technology)? 641 | | | +--:(generic) 642 | | | +--rw generic? int32 643 | | +--rw range-bitmap? yang:hex-string 644 | +--rw path-out-segment! 645 | +--rw label-restrictions 646 | +--rw label-restriction* [index] 647 | +--rw restriction? enumeration 648 | +--rw index uint32 649 | +--rw label-start 650 | | +--rw te-label 651 | | +--rw (technology)? 652 | | | +--:(generic) 653 | | | +--rw generic? 654 | | |rt-types:generalized-label 655 | | +--rw direction? 656 | | te-label-direction 657 | +--rw label-end 658 | | +--rw te-label 659 | | +--rw (technology)? 660 | | | +--:(generic) 661 | | | +--rw generic? 662 | | |rt-types:generalized-label 663 | | +--rw direction? 664 | | te-label-direction 665 | +--rw label-step 666 | | +--rw (technology)? 667 | | +--:(generic) 668 | | +--rw generic? int32 669 | +--rw range-bitmap? yang:hex-string 670 +--rw tunnels 671 | +--rw tunnel* [name] 672 | +--ro operational-state? identityref 673 | +--rw name string 674 | +--rw identifier? uint32 675 | +--rw description? string 676 | +--rw encoding? identityref 677 | +--rw switching-type? identityref 678 | +--rw admin-state? identityref 679 | +--rw reoptimize-timer? uint16 680 | +--rw source? te-types:te-node-id 681 | +--rw destination? te-types:te-node-id 682 | +--rw src-tunnel-tp-id? binary 683 | +--rw dst-tunnel-tp-id? binary 684 | +--rw bidirectional? boolean 685 | +--rw association-objects 686 | | +--rw association-object* [association-key] 687 | | | +--rw association-key string 688 | | | +--rw type? identityref 689 | | | +--rw id? uint16 690 | | | +--rw source 691 | | | +--rw id? te-generic-node-id 692 | | | +--rw type? enumeration 693 | | +--rw association-object-extended* [association-key] 694 | | +--rw association-key string 695 | | +--rw type? identityref 696 | | +--rw id? uint16 697 | | +--rw source 698 | | | +--rw id? te-generic-node-id 699 | | | +--rw type? enumeration 700 | | +--rw global-source? uint32 701 | | +--rw extended-id? yang:hex-string 702 | +--rw protection 703 | | +--rw enable? boolean 704 | | +--rw protection-type? identityref 705 | | +--rw protection-reversion-disable? boolean 706 | | +--rw hold-off-time? uint32 707 | | +--rw wait-to-revert? uint16 708 | | +--rw aps-signal-id? uint8 709 | +--rw restoration 710 | | +--rw enable? boolean 711 | | +--rw restoration-type? identityref 712 | | +--rw restoration-scheme? identityref 713 | | +--rw restoration-reversion-disable? boolean 714 | | +--rw hold-off-time? uint32 715 | | +--rw wait-to-restore? uint16 716 | | +--rw wait-to-revert? uint16 717 | +--rw te-topology-identifier 718 | | +--rw provider-id? te-global-id 719 | | +--rw client-id? te-global-id 720 | | +--rw topology-id? te-topology-id 721 | +--rw te-bandwidth 722 | | +--rw (technology)? 723 | | +--:(generic) 724 | | +--rw generic? te-bandwidth 725 | +--rw link-protection? identityref 726 | +--rw setup-priority? uint8 727 | +--rw hold-priority? uint8 728 | +--rw signaling-type? identityref 729 | +--rw hierarchy 730 | | +--rw dependency-tunnels 731 | | | +--rw dependency-tunnel* [name] 732 | | | +--rw name 733 | | | | -> ../../../../../../tunnels/tunnel/name 734 | | | +--rw encoding? identityref 735 | | | +--rw switching-type? identityref 736 | | +--rw hierarchical-link 737 | | +--rw local-te-node-id? te-types:te-node-id 738 | | +--rw local-te-link-tp-id? te-types:te-tp-id 739 | | +--rw remote-te-node-id? te-types:te-node-id 740 | | +--rw te-topology-identifier 741 | | +--rw provider-id? te-global-id 742 | | +--rw client-id? te-global-id 743 | | +--rw topology-id? te-topology-id 744 | +--rw primary-paths 745 | | +--rw primary-path* [name] 746 | | +--rw name string 747 | | +--rw path-computation-method? identityref 748 | | +--rw path-computation-server 749 | | | +--rw id? te-generic-node-id 750 | | | +--rw type? enumeration 751 | | +--rw compute-only? empty 752 | | +--rw use-path-computation? boolean 753 | | +--rw lockdown? empty 754 | | +--ro path-scope? identityref 755 | | +--rw preference? uint8 756 | | +--rw k-requested-paths? uint8 757 | | +--rw association-objects 758 | | | +--rw association-object* [association-key] 759 | | | | +--rw association-key string 760 | | | | +--rw type? identityref 761 | | | | +--rw id? uint16 762 | | | | +--rw source 763 | | | | +--rw id? te-generic-node-id 764 | | | | +--rw type? enumeration 765 | | | +--rw association-object-extended* 766 | | | [association-key] 767 | | | +--rw association-key string 768 | | | +--rw type? identityref 769 | | | +--rw id? uint16 770 | | | +--rw source 771 | | | | +--rw id? te-generic-node-id 772 | | | | +--rw type? enumeration 773 | | | +--rw global-source? uint32 774 | | | +--rw extended-id? yang:hex-string 775 | | +--rw optimizations 776 | | | +--rw (algorithm)? 777 | | | +--:(metric) {path-optimization-metric}? 778 | | | | +--rw optimization-metric* [metric-type] 779 | | | | | +--rw metric-type 780 | | | | | | identityref 781 | | | | | +--rw weight? 782 | | | | | | uint8 783 | | | | | +--rw explicit-route-exclude-objects 784 | | | | | | +--rw route-object-exclude-object* 785 | | | | | | [index] 786 | | | | | | +--rw index 787 | | | | | | | uint32 788 | | | | | | +--rw (type)? 789 | | | | | | +--:(numbered-node-hop) 790 | | | | | | | +--rw numbered-node-hop 791 | | | | | | | +--rw node-id 792 | | | | | | | | te-node-id 793 | | | | | | | +--rw hop-type? 794 | | | | | | | te-hop-type 795 | | | | | | +--:(numbered-link-hop) 796 | | | | | | | +--rw numbered-link-hop 797 | | | | | | | +--rw link-tp-id 798 | | | | | | | | te-tp-id 799 | | | | | | | +--rw hop-type? 800 | | | | | | | | te-hop-type 801 | | | | | | | +--rw direction? 802 | | | | | | | te-link-direction 803 | | | | | | +--:(unnumbered-link-hop) 804 | | | | | | | +--rw unnumbered-link-hop 805 | | | | | | | +--rw link-tp-id 806 | | | | | | | | te-tp-id 807 | | | | | | | +--rw node-id 808 | | | | | | | | te-node-id 809 | | | | | | | +--rw hop-type? 810 | | | | | | | | te-hop-type 811 | | | | | | | +--rw direction? 812 | | | | | | | te-link-direction 813 | | | | | | +--:(as-number) 814 | | | | | | | +--rw as-number-hop 815 | | | | | | | +--rw as-number 816 | | | | | | | | inet:as-number 817 | | | | | | | +--rw hop-type? 818 | | | | | | | te-hop-type 819 | | | | | | +--:(label) 820 | | | | | | | +--rw label-hop 821 | | | | | | | +--rw te-label 822 | | | | | | | +--rw (technology)? 823 | | | | | | | | +--:(generic) 824 | | | | | | | | +--rw generic? 825 | | | | | | | |rt-types:generalized-label 826 | | | | | | | +--rw direction? 827 | | | | | | | te-label-direction 828 | | | | | | +--:(srlg) 829 | | | | | | +--rw srlg 830 | | | | | | +--rw srlg? uint32 831 | | | | | +--rw explicit-route-include-objects 832 | | | | | +--rw route-object-include-object* 833 | | | | | [index] 834 | | | | | +--rw index 835 | | | | | | uint32 836 | | | | | +--rw (type)? 837 | | | | | +--:(numbered-node-hop) 838 | | | | | | +--rw numbered-node-hop 839 | | | | | | +--rw node-id 840 | | | | | | | te-node-id 841 | | | | | | +--rw hop-type? 842 | | | | | | te-hop-type 843 | | | | | +--:(numbered-link-hop) 844 | | | | | | +--rw numbered-link-hop 845 | | | | | | +--rw link-tp-id 846 | | | | | | | te-tp-id 847 | | | | | | +--rw hop-type? 848 | | | | | | | te-hop-type 849 | | | | | | +--rw direction? 850 | | | | | | te-link-direction 851 | | | | | +--:(unnumbered-link-hop) 852 | | | | | | +--rw unnumbered-link-hop 853 | | | | | | +--rw link-tp-id 854 | | | | | | | te-tp-id 855 | | | | | | +--rw node-id 856 | | | | | | | te-node-id 857 | | | | | | +--rw hop-type? 858 | | | | | | | te-hop-type 859 | | | | | | +--rw direction? 860 | | | | | | te-link-direction 861 | | | | | +--:(as-number) 862 | | | | | | +--rw as-number-hop 863 | | | | | | +--rw as-number 864 | | | | | | | inet:as-number 865 | | | | | | +--rw hop-type? 866 | | | | | | te-hop-type 867 | | | | | +--:(label) 868 | | | | | +--rw label-hop 869 | | | | | +--rw te-label 870 | | | | | +--rw (technology)? 871 | | | | | | +--:(generic) 872 | | | | | | +--rw generic? 873 | | | | | |rt-types:generalized-label 874 | | | | | +--rw direction? 875 | | | | | te-label-direction 876 | | | | +--rw tiebreakers 877 | | | | +--rw tiebreaker* [tiebreaker-type] 878 | | | | +--rw tiebreaker-type identityref 879 | | | +--:(objective-function) 880 | | | {path-optimization-objective-function}? 881 | | | +--rw objective-function 882 | | | +--rw objective-function-type? 883 | | | identityref 884 | | +--rw named-path-constraint? leafref 885 | | | {te-types:named-path-constraints}? 886 | | +--rw te-bandwidth 887 | | | +--rw (technology)? 888 | | | +--:(generic) 889 | | | +--rw generic? te-bandwidth 890 | | +--rw link-protection? identityref 891 | | +--rw setup-priority? uint8 892 | | +--rw hold-priority? uint8 893 | | +--rw signaling-type? identityref 894 | | +--rw path-metric-bounds 895 | | | +--rw path-metric-bound* [metric-type] 896 | | | +--rw metric-type identityref 897 | | | +--rw upper-bound? uint64 898 | | +--rw path-affinities-values 899 | | | +--rw path-affinities-value* [usage] 900 | | | +--rw usage identityref 901 | | | +--rw value? admin-groups 902 | | +--rw path-affinity-names 903 | | | +--rw path-affinity-name* [usage] 904 | | | +--rw usage identityref 905 | | | +--rw affinity-name* [name] 906 | | | +--rw name string 907 | | +--rw path-srlgs-lists 908 | | | +--rw path-srlgs-list* [usage] 909 | | | +--rw usage identityref 910 | | | +--rw values* srlg 911 | | +--rw path-srlgs-names 912 | | | +--rw path-srlgs-name* [usage] 913 | | | +--rw usage identityref 914 | | | +--rw names* string 915 | | +--rw disjointness? 916 | | | te-path-disjointness 917 | | +--rw explicit-route-objects-always 918 | | | +--rw route-object-exclude-always* [index] 919 | | | | +--rw index uint32 920 | | | | +--rw (type)? 921 | | | | +--:(numbered-node-hop) 922 | | | | | +--rw numbered-node-hop 923 | | | | | +--rw node-id te-node-id 924 | | | | | +--rw hop-type? te-hop-type 925 | | | | +--:(numbered-link-hop) 926 | | | | | +--rw numbered-link-hop 927 | | | | | +--rw link-tp-id te-tp-id 928 | | | | | +--rw hop-type? te-hop-type 929 | | | | | +--rw direction? te-link-direction 930 | | | | +--:(unnumbered-link-hop) 931 | | | | | +--rw unnumbered-link-hop 932 | | | | | +--rw link-tp-id te-tp-id 933 | | | | | +--rw node-id te-node-id 934 | | | | | +--rw hop-type? te-hop-type 935 | | | | | +--rw direction? te-link-direction 936 | | | | +--:(as-number) 937 | | | | | +--rw as-number-hop 938 | | | | | +--rw as-number inet:as-number 939 | | | | | +--rw hop-type? te-hop-type 940 | | | | +--:(label) 941 | | | | +--rw label-hop 942 | | | | +--rw te-label 943 | | | | +--rw (technology)? 944 | | | | | +--:(generic) 945 | | | | | +--rw generic? 946 | | | | |rt-types:generalized-label 947 | | | | +--rw direction? 948 | | | | te-label-direction 949 | | | +--rw route-object-include-exclude* [index] 950 | | | +--rw explicit-route-usage? identityref 951 | | | +--rw index uint32 952 | | | +--rw (type)? 953 | | | +--:(numbered-node-hop) 954 | | | | +--rw numbered-node-hop 955 | | | | +--rw node-id te-node-id 956 | | | | +--rw hop-type? te-hop-type 957 | | | +--:(numbered-link-hop) 958 | | | | +--rw numbered-link-hop 959 | | | | +--rw link-tp-id te-tp-id 960 | | | | +--rw hop-type? te-hop-type 961 | | | | +--rw direction? te-link-direction 962 | | | +--:(unnumbered-link-hop) 963 | | | | +--rw unnumbered-link-hop 964 | | | | +--rw link-tp-id te-tp-id 965 | | | | +--rw node-id te-node-id 966 | | | | +--rw hop-type? te-hop-type 967 | | | | +--rw direction? te-link-direction 968 | | | +--:(as-number) 969 | | | | +--rw as-number-hop 970 | | | | +--rw as-number inet:as-number 971 | | | | +--rw hop-type? te-hop-type 972 | | | +--:(label) 973 | | | | +--rw label-hop 974 | | | | +--rw te-label 975 | | | | +--rw (technology)? 976 | | | | | +--:(generic) 977 | | | | | +--rw generic? 978 | | | | |rt-types:generalized-label 979 | | | | +--rw direction? 980 | | | | te-label-direction 981 | | | +--:(srlg) 982 | | | +--rw srlg 983 | | | +--rw srlg? uint32 984 | | +--rw path-in-segment! 985 | | | +--rw label-restrictions 986 | | | +--rw label-restriction* [index] 987 | | | +--rw restriction? enumeration 988 | | | +--rw index uint32 989 | | | +--rw label-start 990 | | | | +--rw te-label 991 | | | | +--rw (technology)? 992 | | | | | +--:(generic) 993 | | | | | +--rw generic? 994 | | | | |rt-types:generalized-label 995 | | | | +--rw direction? 996 | | | | te-label-direction 997 | | | +--rw label-end 998 | | | | +--rw te-label 999 | | | | +--rw (technology)? 1000 | | | | | +--:(generic) 1001 | | | | | +--rw generic? 1002 | | | | |rt-types:generalized-label 1003 | | | | +--rw direction? 1004 | | | | te-label-direction 1005 | | | +--rw label-step 1006 | | | | +--rw (technology)? 1007 | | | | +--:(generic) 1008 | | | | +--rw generic? int32 1009 | | | +--rw range-bitmap? yang:hex-string 1010 | | +--rw path-out-segment! 1011 | | | +--rw label-restrictions 1012 | | | +--rw label-restriction* [index] 1013 | | | +--rw restriction? enumeration 1014 | | | +--rw index uint32 1015 | | | +--rw label-start 1016 | | | | +--rw te-label 1017 | | | | +--rw (technology)? 1018 | | | | | +--:(generic) 1019 | | | | | +--rw generic? 1020 | | | | |rt-types:generalized-label 1021 | | | | +--rw direction? 1022 | | | | te-label-direction 1023 | | | +--rw label-end 1024 | | | | +--rw te-label 1025 | | | | +--rw (technology)? 1026 | | | | | +--:(generic) 1027 | | | | | +--rw generic? 1028 | | | | |rt-types:generalized-label 1029 | | | | +--rw direction? 1030 | | | | te-label-direction 1031 | | | +--rw label-step 1032 | | | | +--rw (technology)? 1033 | | | | +--:(generic) 1034 | | | | +--rw generic? int32 1035 | | | +--rw range-bitmap? yang:hex-string 1036 | | +--ro computed-paths-properties 1037 | | | +--ro computed-path-properties* [k-index] 1038 | | | +--ro k-index uint8 1039 | | | +--ro path-properties 1040 | | | +--ro path-metric* [metric-type] 1041 | | | | +--ro metric-type identityref 1042 | | | | +--ro accumulative-value? uint64 1043 | | | +--ro path-affinities-values 1044 | | | | +--ro path-affinities-value* [usage] 1045 | | | | +--ro usage identityref 1046 | | | | +--ro value? admin-groups 1047 | | | +--ro path-affinity-names 1048 | | | | +--ro path-affinity-name* [usage] 1049 | | | | +--ro usage identityref 1050 | | | | +--ro affinity-name* [name] 1051 | | | | +--ro name string 1052 | | | +--ro path-srlgs-lists 1053 | | | | +--ro path-srlgs-list* [usage] 1054 | | | | +--ro usage identityref 1055 | | | | +--ro values* srlg 1056 | | | +--ro path-srlgs-names 1057 | | | | +--ro path-srlgs-name* [usage] 1058 | | | | +--ro usage identityref 1059 | | | | +--ro names* string 1060 | | | +--ro path-route-objects 1061 | | | | +--ro path-route-object* [index] 1062 | | | | +--ro index 1063 | | | | | uint32 1064 | | | | +--ro (type)? 1065 | | | | +--:(numbered-node-hop) 1066 | | | | | +--ro numbered-node-hop 1067 | | | | | +--ro node-id te-node-id 1068 | | | | | +--ro hop-type? 1069 | | | | | te-hop-type 1070 | | | | +--:(numbered-link-hop) 1071 | | | | | +--ro numbered-link-hop 1072 | | | | | +--ro link-tp-id te-tp-id 1073 | | | | | +--ro hop-type? 1074 | | | | | | te-hop-type 1075 | | | | | +--ro direction? 1076 | | | | | te-link-direction 1077 | | | | +--:(unnumbered-link-hop) 1078 | | | | | +--ro unnumbered-link-hop 1079 | | | | | +--ro link-tp-id te-tp-id 1080 | | | | | +--ro node-id 1081 | | | | | | te-node-id 1082 | | | | | +--ro hop-type? 1083 | | | | | | te-hop-type 1084 | | | | | +--ro direction? 1085 | | | | | te-link-direction 1086 | | | | +--:(as-number) 1087 | | | | | +--ro as-number-hop 1088 | | | | | +--ro as-number 1089 | | | | | | inet:as-number 1090 | | | | | +--ro hop-type? 1091 | | | | | te-hop-type 1092 | | | | +--:(label) 1093 | | | | +--ro label-hop 1094 | | | | +--ro te-label 1095 | | | | +--ro (technology)? 1096 | | | | | +--:(generic) 1097 | | | | | +--ro generic? 1098 | | | | |rt-types:generalized-label 1099 | | | | +--ro direction? 1100 | | | | te-label-direction 1101 | | | +--ro te-bandwidth 1102 | | | | +--ro (technology)? 1103 | | | | +--:(generic) 1104 | | | | +--ro generic? te-bandwidth 1105 | | | +--ro disjointness-type? 1106 | | | te-types:te-path-disjointness 1107 | | +--ro computed-path-error-infos 1108 | | | +--ro computed-path-error-info* [] 1109 | | | +--ro error-description? string 1110 | | | +--ro error-timestamp? yang:date-and-time 1111 | | | +--ro error-reason? identityref 1112 | | +--ro lsp-provisioning-error-infos 1113 | | | +--ro lsp-provisioning-error-info* [] 1114 | | | +--ro error-description? string 1115 | | | +--ro error-timestamp? yang:date-and-time 1116 | | | +--ro error-node-id? te-types:te-node-id 1117 | | | +--ro error-link-id? te-types:te-tp-id 1118 | | | +--ro lsp-id? uint16 1119 | | +--ro lsps 1120 | | | +--ro lsp* [node lsp-id] 1121 | | | +--ro tunnel-name? 1122 | | | | -> /te/lsps/lsp/tunnel-name 1123 | | | +--ro node 1124 | | | | -> /te/lsps/lsp/node 1125 | | | +--ro lsp-id 1126 | | | | -> /te/lsps/lsp/lsp-id 1127 | | | +--ro lsp-provisioning-error-infos 1128 | | | | +--ro lsp-provisioning-error-info* [] 1129 | | | | +--ro error-description? string 1130 | | | | +--ro error-timestamp? 1131 | | | | | yang:date-and-time 1132 | | | | +--ro error-node-id? 1133 | | | | | te-types:te-node-id 1134 | | | | +--ro error-link-id? 1135 | | | | te-types:te-tp-id 1136 | | | +--ro path-properties 1137 | | | +--ro path-metric* [metric-type] 1138 | | | | +--ro metric-type identityref 1139 | | | | +--ro accumulative-value? uint64 1140 | | | +--ro path-affinities-values 1141 | | | | +--ro path-affinities-value* [usage] 1142 | | | | +--ro usage identityref 1143 | | | | +--ro value? admin-groups 1144 | | | +--ro path-affinity-names 1145 | | | | +--ro path-affinity-name* [usage] 1146 | | | | +--ro usage identityref 1147 | | | | +--ro affinity-name* [name] 1148 | | | | +--ro name string 1149 | | | +--ro path-srlgs-lists 1150 | | | | +--ro path-srlgs-list* [usage] 1151 | | | | +--ro usage identityref 1152 | | | | +--ro values* srlg 1153 | | | +--ro path-srlgs-names 1154 | | | | +--ro path-srlgs-name* [usage] 1155 | | | | +--ro usage identityref 1156 | | | | +--ro names* string 1157 | | | +--ro path-route-objects 1158 | | | | +--ro path-route-object* [index] 1159 | | | | +--ro index 1160 | | | | | uint32 1161 | | | | +--ro (type)? 1162 | | | | +--:(numbered-node-hop) 1163 | | | | | +--ro numbered-node-hop 1164 | | | | | +--ro node-id te-node-id 1165 | | | | | +--ro hop-type? 1166 | | | | | te-hop-type 1167 | | | | +--:(numbered-link-hop) 1168 | | | | | +--ro numbered-link-hop 1169 | | | | | +--ro link-tp-id te-tp-id 1170 | | | | | +--ro hop-type? 1171 | | | | | | te-hop-type 1172 | | | | | +--ro direction? 1173 | | | | | te-link-direction 1174 | | | | +--:(unnumbered-link-hop) 1175 | | | | | +--ro unnumbered-link-hop 1176 | | | | | +--ro link-tp-id te-tp-id 1177 | | | | | +--ro node-id 1178 | | | | | | te-node-id 1179 | | | | | +--ro hop-type? 1180 | | | | | | te-hop-type 1181 | | | | | +--ro direction? 1182 | | | | | te-link-direction 1183 | | | | +--:(as-number) 1184 | | | | | +--ro as-number-hop 1185 | | | | | +--ro as-number 1186 | | | | | | inet:as-number 1187 | | | | | +--ro hop-type? 1188 | | | | | te-hop-type 1189 | | | | +--:(label) 1190 | | | | +--ro label-hop 1191 | | | | +--ro te-label 1192 | | | | +--ro (technology)? 1193 | | | | | +--:(generic) 1194 | | | | | +--ro generic? 1195 | | | | |rt-types:generalized-label 1196 | | | | +--ro direction? 1197 | | | | te-label-direction 1198 | | | +--ro te-bandwidth 1199 | | | | +--ro (technology)? 1200 | | | | +--:(generic) 1201 | | | | +--ro generic? te-bandwidth 1202 | | | +--ro disjointness-type? 1203 | | | te-types:te-path-disjointness 1204 | | +--rw primary-reverse-path 1205 | | | +--rw name? string 1206 | | | +--rw path-computation-method? 1207 | | | | identityref 1208 | | | +--rw path-computation-server 1209 | | | | +--rw id? te-generic-node-id 1210 | | | | +--rw type? enumeration 1211 | | | +--rw compute-only? empty 1212 | | | +--rw use-path-computation? 1213 | | | | boolean 1214 | | | +--rw lockdown? empty 1215 | | | +--ro path-scope? 1216 | | | | identityref 1217 | | | +--rw association-objects 1218 | | | | +--rw association-object* [association-key] 1219 | | | | | +--rw association-key string 1220 | | | | | +--rw type? identityref 1221 | | | | | +--rw id? uint16 1222 | | | | | +--rw source 1223 | | | | | +--rw id? te-generic-node-id 1224 | | | | | +--rw type? enumeration 1225 | | | | +--rw association-object-extended* 1226 | | | | [association-key] 1227 | | | | +--rw association-key string 1228 | | | | +--rw type? identityref 1229 | | | | +--rw id? uint16 1230 | | | | +--rw source 1231 | | | | | +--rw id? te-generic-node-id 1232 | | | | | +--rw type? enumeration 1233 | | | | +--rw global-source? uint32 1234 | | | | +--rw extended-id? yang:hex-string 1235 | | | +--rw optimizations 1236 | | | | +--rw (algorithm)? 1237 | | | | +--:(metric) {path-optimization-metric}? 1238 | | | | | +--rw optimization-metric* [metric-type] 1239 | | | | | | +--rw metric-type 1240 | | | | | | | identityref 1241 | | | | | | +--rw weight? 1242 | | | | | | | uint8 1243 | | | | | | +--rw explicit-route-exclude-objects 1244 | | | | | | | +--rw route-object-exclude-object* 1245 | | | | | | | [index] 1246 | | | | | | | +--rw index 1247 | | | | | | | | uint32 1248 | | | | | | | +--rw (type)? 1249 | | | | | | | +--:(numbered-node-hop) 1250 | | | | | | | | +--rw numbered-node-hop 1251 | | | | | | | | +--rw node-id 1252 | | | | | | | | | te-node-id 1253 | | | | | | | | +--rw hop-type? 1254 | | | | | | | | te-hop-type 1255 | | | | | | | +--:(numbered-link-hop) 1256 | | | | | | | | +--rw numbered-link-hop 1257 | | | | | | | | +--rw link-tp-id 1258 | | | | | | | | | te-tp-id 1259 | | | | | | | | +--rw hop-type? 1260 | | | | | | | | | te-hop-type 1261 | | | | | | | | +--rw direction? 1262 | | | | | | | | te-link-direction 1263 | | | | | | | +--:(unnumbered-link-hop) 1264 | | | | | | | | +--rw unnumbered-link-hop 1265 | | | | | | | | +--rw link-tp-id 1266 | | | | | | | | | te-tp-id 1267 | | | | | | | | +--rw node-id 1268 | | | | | | | | | te-node-id 1269 | | | | | | | | +--rw hop-type? 1270 | | | | | | | | | te-hop-type 1271 | | | | | | | | +--rw direction? 1272 | | | | | | | | te-link-direction 1273 | | | | | | | +--:(as-number) 1274 | | | | | | | | +--rw as-number-hop 1275 | | | | | | | | +--rw as-number 1276 | | | | | | | | | inet:as-number 1277 | | | | | | | | +--rw hop-type? 1278 | | | | | | | | te-hop-type 1279 | | | | | | | +--:(label) 1280 | | | | | | | | +--rw label-hop 1281 | | | | | | | | +--rw te-label 1282 | | | | | | | | +--rw (technology)? 1283 | | | | | | | | | +--:(generic) 1284 | | | | | | | | | +--rw generic? 1285 | | | | | | | | |rt-types:generalized-label 1286 | | | | | | | | +--rw direction? 1287 | | | | | | | | te-label-direction 1288 | | | | | | | +--:(srlg) 1289 | | | | | | | +--rw srlg 1290 | | | | | | | +--rw srlg? uint32 1291 | | | | | | +--rw explicit-route-include-objects 1292 | | | | | | +--rw route-object-include-object* 1293 | | | | | | [index] 1294 | | | | | | +--rw index 1295 | | | | | | | uint32 1296 | | | | | | +--rw (type)? 1297 | | | | | | +--:(numbered-node-hop) 1298 | | | | | | | +--rw numbered-node-hop 1299 | | | | | | | +--rw node-id 1300 | | | | | | | | te-node-id 1301 | | | | | | | +--rw hop-type? 1302 | | | | | | | te-hop-type 1303 | | | | | | +--:(numbered-link-hop) 1304 | | | | | | | +--rw numbered-link-hop 1305 | | | | | | | +--rw link-tp-id 1306 | | | | | | | | te-tp-id 1307 | | | | | | | +--rw hop-type? 1308 | | | | | | | | te-hop-type 1309 | | | | | | | +--rw direction? 1310 | | | | | | | te-link-direction 1311 | | | | | | +--:(unnumbered-link-hop) 1312 | | | | | | | +--rw unnumbered-link-hop 1313 | | | | | | | +--rw link-tp-id 1314 | | | | | | | | te-tp-id 1315 | | | | | | | +--rw node-id 1316 | | | | | | | | te-node-id 1317 | | | | | | | +--rw hop-type? 1318 | | | | | | | | te-hop-type 1319 | | | | | | | +--rw direction? 1320 | | | | | | | te-link-direction 1321 | | | | | | +--:(as-number) 1322 | | | | | | | +--rw as-number-hop 1323 | | | | | | | +--rw as-number 1324 | | | | | | | | inet:as-number 1325 | | | | | | | +--rw hop-type? 1326 | | | | | | | te-hop-type 1327 | | | | | | +--:(label) 1328 | | | | | | +--rw label-hop 1329 | | | | | | +--rw te-label 1330 | | | | | | +--rw (technology)? 1331 | | | | | | | +--:(generic) 1332 | | | | | | | +--rw generic? 1333 | | | | | | |rt-types:generalized-label 1334 | | | | | | +--rw direction? 1335 | | | | | | te-label-direction 1336 | | | | | +--rw tiebreakers 1337 | | | | | +--rw tiebreaker* [tiebreaker-type] 1338 | | | | | +--rw tiebreaker-type 1339 | | | | | identityref 1340 | | | | +--:(objective-function) 1341 | | | | {path-optimization-objective-function}? 1342 | | | | +--rw objective-function 1343 | | | | +--rw objective-function-type? 1344 | | | | identityref 1345 | | | +--rw named-path-constraint? leafref 1346 | | | | {te-types:named-path-constraints}? 1347 | | | +--rw te-bandwidth 1348 | | | | +--rw (technology)? 1349 | | | | +--:(generic) 1350 | | | | +--rw generic? te-bandwidth 1351 | | | +--rw link-protection? 1352 | | | | identityref 1353 | | | +--rw setup-priority? uint8 1354 | | | +--rw hold-priority? uint8 1355 | | | +--rw signaling-type? 1356 | | | | identityref 1357 | | | +--rw path-metric-bounds 1358 | | | | +--rw path-metric-bound* [metric-type] 1359 | | | | +--rw metric-type identityref 1360 | | | | +--rw upper-bound? uint64 1361 | | | +--rw path-affinities-values 1362 | | | | +--rw path-affinities-value* [usage] 1363 | | | | +--rw usage identityref 1364 | | | | +--rw value? admin-groups 1365 | | | +--rw path-affinity-names 1366 | | | | +--rw path-affinity-name* [usage] 1367 | | | | +--rw usage identityref 1368 | | | | +--rw affinity-name* [name] 1369 | | | | +--rw name string 1370 | | | +--rw path-srlgs-lists 1371 | | | | +--rw path-srlgs-list* [usage] 1372 | | | | +--rw usage identityref 1373 | | | | +--rw values* srlg 1374 | | | +--rw path-srlgs-names 1375 | | | | +--rw path-srlgs-name* [usage] 1376 | | | | +--rw usage identityref 1377 | | | | +--rw names* string 1378 | | | +--rw disjointness? 1379 | | | | te-path-disjointness 1380 | | | +--rw explicit-route-objects-always 1381 | | | | +--rw route-object-exclude-always* [index] 1382 | | | | | +--rw index uint32 1383 | | | | | +--rw (type)? 1384 | | | | | +--:(numbered-node-hop) 1385 | | | | | | +--rw numbered-node-hop 1386 | | | | | | +--rw node-id te-node-id 1387 | | | | | | +--rw hop-type? te-hop-type 1388 | | | | | +--:(numbered-link-hop) 1389 | | | | | | +--rw numbered-link-hop 1390 | | | | | | +--rw link-tp-id te-tp-id 1391 | | | | | | +--rw hop-type? te-hop-type 1392 | | | | | | +--rw direction? 1393 | | | | | | te-link-direction 1394 | | | | | +--:(unnumbered-link-hop) 1395 | | | | | | +--rw unnumbered-link-hop 1396 | | | | | | +--rw link-tp-id te-tp-id 1397 | | | | | | +--rw node-id te-node-id 1398 | | | | | | +--rw hop-type? te-hop-type 1399 | | | | | | +--rw direction? 1400 | | | | | | te-link-direction 1401 | | | | | +--:(as-number) 1402 | | | | | | +--rw as-number-hop 1403 | | | | | | +--rw as-number inet:as-number 1404 | | | | | | +--rw hop-type? te-hop-type 1405 | | | | | +--:(label) 1406 | | | | | +--rw label-hop 1407 | | | | | +--rw te-label 1408 | | | | | +--rw (technology)? 1409 | | | | | | +--:(generic) 1410 | | | | | | +--rw generic? 1411 | | | | | |rt-types:generalized-label 1412 | | | | | +--rw direction? 1413 | | | | | te-label-direction 1414 | | | | +--rw route-object-include-exclude* [index] 1415 | | | | +--rw explicit-route-usage? 1416 | | | | | identityref 1417 | | | | +--rw index uint32 1418 | | | | +--rw (type)? 1419 | | | | +--:(numbered-node-hop) 1420 | | | | | +--rw numbered-node-hop 1421 | | | | | +--rw node-id te-node-id 1422 | | | | | +--rw hop-type? te-hop-type 1423 | | | | +--:(numbered-link-hop) 1424 | | | | | +--rw numbered-link-hop 1425 | | | | | +--rw link-tp-id te-tp-id 1426 | | | | | +--rw hop-type? te-hop-type 1427 | | | | | +--rw direction? 1428 | | | | | te-link-direction 1429 | | | | +--:(unnumbered-link-hop) 1430 | | | | | +--rw unnumbered-link-hop 1431 | | | | | +--rw link-tp-id te-tp-id 1432 | | | | | +--rw node-id te-node-id 1433 | | | | | +--rw hop-type? te-hop-type 1434 | | | | | +--rw direction? 1435 | | | | | te-link-direction 1436 | | | | +--:(as-number) 1437 | | | | | +--rw as-number-hop 1438 | | | | | +--rw as-number inet:as-number 1439 | | | | | +--rw hop-type? te-hop-type 1440 | | | | +--:(label) 1441 | | | | | +--rw label-hop 1442 | | | | | +--rw te-label 1443 | | | | | +--rw (technology)? 1444 | | | | | | +--:(generic) 1445 | | | | | | +--rw generic? 1446 | | | | | |rt-types:generalized-label 1447 | | | | | +--rw direction? 1448 | | | | | te-label-direction 1449 | | | | +--:(srlg) 1450 | | | | +--rw srlg 1451 | | | | +--rw srlg? uint32 1452 | | | +--rw path-in-segment! 1453 | | | | +--rw label-restrictions 1454 | | | | +--rw label-restriction* [index] 1455 | | | | +--rw restriction? enumeration 1456 | | | | +--rw index uint32 1457 | | | | +--rw label-start 1458 | | | | | +--rw te-label 1459 | | | | | +--rw (technology)? 1460 | | | | | | +--:(generic) 1461 | | | | | | +--rw generic? 1462 | | | | | |rt-types:generalized-label 1463 | | | | | +--rw direction? 1464 | | | | | te-label-direction 1465 | | | | +--rw label-end 1466 | | | | | +--rw te-label 1467 | | | | | +--rw (technology)? 1468 | | | | | | +--:(generic) 1469 | | | | | | +--rw generic? 1470 | | | | | |rt-types:generalized-label 1471 | | | | | +--rw direction? 1472 | | | | | te-label-direction 1473 | | | | +--rw label-step 1474 | | | | | +--rw (technology)? 1475 | | | | | +--:(generic) 1476 | | | | | +--rw generic? int32 1477 | | | | +--rw range-bitmap? yang:hex-string 1478 | | | +--rw path-out-segment! 1479 | | | | +--rw label-restrictions 1480 | | | | +--rw label-restriction* [index] 1481 | | | | +--rw restriction? enumeration 1482 | | | | +--rw index uint32 1483 | | | | +--rw label-start 1484 | | | | | +--rw te-label 1485 | | | | | +--rw (technology)? 1486 | | | | | | +--:(generic) 1487 | | | | | | +--rw generic? 1488 | | | | | |rt-types:generalized-label 1489 | | | | | +--rw direction? 1490 | | | | | te-label-direction 1491 | | | | +--rw label-end 1492 | | | | | +--rw te-label 1493 | | | | | +--rw (technology)? 1494 | | | | | | +--:(generic) 1495 | | | | | | +--rw generic? 1496 | | | | | |rt-types:generalized-label 1497 | | | | | +--rw direction? 1498 | | | | | te-label-direction 1499 | | | | +--rw label-step 1500 | | | | | +--rw (technology)? 1501 | | | | | +--:(generic) 1502 | | | | | +--rw generic? int32 1503 | | | | +--rw range-bitmap? yang:hex-string 1504 | | | +--ro computed-paths-properties 1505 | | | | +--ro computed-path-properties* [k-index] 1506 | | | | +--ro k-index uint8 1507 | | | | +--ro path-properties 1508 | | | | +--ro path-metric* [metric-type] 1509 | | | | | +--ro metric-type 1510 | | | | | | identityref 1511 | | | | | +--ro accumulative-value? uint64 1512 | | | | +--ro path-affinities-values 1513 | | | | | +--ro path-affinities-value* [usage] 1514 | | | | | +--ro usage identityref 1515 | | | | | +--ro value? admin-groups 1516 | | | | +--ro path-affinity-names 1517 | | | | | +--ro path-affinity-name* [usage] 1518 | | | | | +--ro usage identityref 1519 | | | | | +--ro affinity-name* [name] 1520 | | | | | +--ro name string 1521 | | | | +--ro path-srlgs-lists 1522 | | | | | +--ro path-srlgs-list* [usage] 1523 | | | | | +--ro usage identityref 1524 | | | | | +--ro values* srlg 1525 | | | | +--ro path-srlgs-names 1526 | | | | | +--ro path-srlgs-name* [usage] 1527 | | | | | +--ro usage identityref 1528 | | | | | +--ro names* string 1529 | | | | +--ro path-route-objects 1530 | | | | | +--ro path-route-object* [index] 1531 | | | | | +--ro index 1532 | | | | | | uint32 1533 | | | | | +--ro (type)? 1534 | | | | | +--:(numbered-node-hop) 1535 | | | | | | +--ro numbered-node-hop 1536 | | | | | | +--ro node-id 1537 | | | | | | | te-node-id 1538 | | | | | | +--ro hop-type? 1539 | | | | | | te-hop-type 1540 | | | | | +--:(numbered-link-hop) 1541 | | | | | | +--ro numbered-link-hop 1542 | | | | | | +--ro link-tp-id 1543 | | | | | | | te-tp-id 1544 | | | | | | +--ro hop-type? 1545 | | | | | | | te-hop-type 1546 | | | | | | +--ro direction? 1547 | | | | | | te-link-direction 1548 | | | | | +--:(unnumbered-link-hop) 1549 | | | | | | +--ro unnumbered-link-hop 1550 | | | | | | +--ro link-tp-id 1551 | | | | | | | te-tp-id 1552 | | | | | | +--ro node-id 1553 | | | | | | | te-node-id 1554 | | | | | | +--ro hop-type? 1555 | | | | | | | te-hop-type 1556 | | | | | | +--ro direction? 1557 | | | | | | te-link-direction 1558 | | | | | +--:(as-number) 1559 | | | | | | +--ro as-number-hop 1560 | | | | | | +--ro as-number 1561 | | | | | | | inet:as-number 1562 | | | | | | +--ro hop-type? 1563 | | | | | | te-hop-type 1564 | | | | | +--:(label) 1565 | | | | | +--ro label-hop 1566 | | | | | +--ro te-label 1567 | | | | | +--ro (technology)? 1568 | | | | | | +--:(generic) 1569 | | | | | | +--ro generic? 1570 | | | | | |rt-types:generalized-label 1571 | | | | | +--ro direction? 1572 | | | | | te-label-direction 1573 | | | | +--ro te-bandwidth 1574 | | | | | +--ro (technology)? 1575 | | | | | +--:(generic) 1576 | | | | | +--ro generic? te-bandwidth 1577 | | | | +--ro disjointness-type? 1578 | | | | te-types:te-path-disjointness 1579 | | | +--ro computed-path-error-infos 1580 | | | | +--ro computed-path-error-info* [] 1581 | | | | +--ro error-description? string 1582 | | | | +--ro error-timestamp? 1583 | | | | | yang:date-and-time 1584 | | | | +--ro error-reason? identityref 1585 | | | +--ro lsp-provisioning-error-infos 1586 | | | | +--ro lsp-provisioning-error-info* [] 1587 | | | | +--ro error-description? string 1588 | | | | +--ro error-timestamp? 1589 | | | | | yang:date-and-time 1590 | | | | +--ro error-node-id? 1591 | | | | | te-types:te-node-id 1592 | | | | +--ro error-link-id? 1593 | | | | | te-types:te-tp-id 1594 | | | | +--ro lsp-id? uint16 1595 | | | +--ro lsps 1596 | | | | +--ro lsp* [node lsp-id] 1597 | | | | +--ro tunnel-name? 1598 | | | | | -> /te/lsps/lsp/tunnel-name 1599 | | | | +--ro node 1600 | | | | | -> /te/lsps/lsp/node 1601 | | | | +--ro lsp-id 1602 | | | | | -> /te/lsps/lsp/lsp-id 1603 | | | | +--ro lsp-provisioning-error-infos 1604 | | | | | +--ro lsp-provisioning-error-info* [] 1605 | | | | | +--ro error-description? string 1606 | | | | | +--ro error-timestamp? 1607 | | | | | | yang:date-and-time 1608 | | | | | +--ro error-node-id? 1609 | | | | | | te-types:te-node-id 1610 | | | | | +--ro error-link-id? 1611 | | | | | te-types:te-tp-id 1612 | | | | +--ro path-properties 1613 | | | | +--ro path-metric* [metric-type] 1614 | | | | | +--ro metric-type 1615 | | | | | | identityref 1616 | | | | | +--ro accumulative-value? uint64 1617 | | | | +--ro path-affinities-values 1618 | | | | | +--ro path-affinities-value* [usage] 1619 | | | | | +--ro usage identityref 1620 | | | | | +--ro value? admin-groups 1621 | | | | +--ro path-affinity-names 1622 | | | | | +--ro path-affinity-name* [usage] 1623 | | | | | +--ro usage identityref 1624 | | | | | +--ro affinity-name* [name] 1625 | | | | | +--ro name string 1626 | | | | +--ro path-srlgs-lists 1627 | | | | | +--ro path-srlgs-list* [usage] 1628 | | | | | +--ro usage identityref 1629 | | | | | +--ro values* srlg 1630 | | | | +--ro path-srlgs-names 1631 | | | | | +--ro path-srlgs-name* [usage] 1632 | | | | | +--ro usage identityref 1633 | | | | | +--ro names* string 1634 | | | | +--ro path-route-objects 1635 | | | | | +--ro path-route-object* [index] 1636 | | | | | +--ro index 1637 | | | | | | uint32 1638 | | | | | +--ro (type)? 1639 | | | | | +--:(numbered-node-hop) 1640 | | | | | | +--ro numbered-node-hop 1641 | | | | | | +--ro node-id 1642 | | | | | | | te-node-id 1643 | | | | | | +--ro hop-type? 1644 | | | | | | te-hop-type 1645 | | | | | +--:(numbered-link-hop) 1646 | | | | | | +--ro numbered-link-hop 1647 | | | | | | +--ro link-tp-id 1648 | | | | | | | te-tp-id 1649 | | | | | | +--ro hop-type? 1650 | | | | | | | te-hop-type 1651 | | | | | | +--ro direction? 1652 | | | | | | te-link-direction 1653 | | | | | +--:(unnumbered-link-hop) 1654 | | | | | | +--ro unnumbered-link-hop 1655 | | | | | | +--ro link-tp-id 1656 | | | | | | | te-tp-id 1657 | | | | | | +--ro node-id 1658 | | | | | | | te-node-id 1659 | | | | | | +--ro hop-type? 1660 | | | | | | | te-hop-type 1661 | | | | | | +--ro direction? 1662 | | | | | | te-link-direction 1663 | | | | | +--:(as-number) 1664 | | | | | | +--ro as-number-hop 1665 | | | | | | +--ro as-number 1666 | | | | | | | inet:as-number 1667 | | | | | | +--ro hop-type? 1668 | | | | | | te-hop-type 1669 | | | | | +--:(label) 1670 | | | | | +--ro label-hop 1671 | | | | | +--ro te-label 1672 | | | | | +--ro (technology)? 1673 | | | | | | +--:(generic) 1674 | | | | | | +--ro generic? 1675 | | | | | |rt-types:generalized-label 1676 | | | | | +--ro direction? 1677 | | | | | te-label-direction 1678 | | | | +--ro te-bandwidth 1679 | | | | | +--ro (technology)? 1680 | | | | | +--:(generic) 1681 | | | | | +--ro generic? te-bandwidth 1682 | | | | +--ro disjointness-type? 1683 | | | | te-types:te-path-disjointness 1684 | | | +--rw candidate-secondary-reverse-paths 1685 | | | +--rw candidate-secondary-reverse-path* 1686 | | | [secondary-path] 1687 | | | +--rw secondary-path leafref 1688 | | +--rw candidate-secondary-paths 1689 | | +--rw candidate-secondary-path* [secondary-path] 1690 | | +--rw secondary-path leafref 1691 | | +--ro active? boolean 1692 | +--rw secondary-paths 1693 | | +--rw secondary-path* [name] 1694 | | +--rw name string 1695 | | +--rw path-computation-method? identityref 1696 | | +--rw path-computation-server 1697 | | | +--rw id? te-generic-node-id 1698 | | | +--rw type? enumeration 1699 | | +--rw compute-only? empty 1700 | | +--rw use-path-computation? boolean 1701 | | +--rw lockdown? empty 1702 | | +--ro path-scope? identityref 1703 | | +--rw preference? uint8 1704 | | +--rw association-objects 1705 | | | +--rw association-object* [association-key] 1706 | | | | +--rw association-key string 1707 | | | | +--rw type? identityref 1708 | | | | +--rw id? uint16 1709 | | | | +--rw source 1710 | | | | +--rw id? te-generic-node-id 1711 | | | | +--rw type? enumeration 1712 | | | +--rw association-object-extended* 1713 | | | [association-key] 1714 | | | +--rw association-key string 1715 | | | +--rw type? identityref 1716 | | | +--rw id? uint16 1717 | | | +--rw source 1718 | | | | +--rw id? te-generic-node-id 1719 | | | | +--rw type? enumeration 1720 | | | +--rw global-source? uint32 1721 | | | +--rw extended-id? yang:hex-string 1722 | | +--rw optimizations 1723 | | | +--rw (algorithm)? 1724 | | | +--:(metric) {path-optimization-metric}? 1725 | | | | +--rw optimization-metric* [metric-type] 1726 | | | | | +--rw metric-type 1727 | | | | | | identityref 1728 | | | | | +--rw weight? 1729 | | | | | | uint8 1730 | | | | | +--rw explicit-route-exclude-objects 1731 | | | | | | +--rw route-object-exclude-object* 1732 | | | | | | [index] 1733 | | | | | | +--rw index 1734 | | | | | | | uint32 1735 | | | | | | +--rw (type)? 1736 | | | | | | +--:(numbered-node-hop) 1737 | | | | | | | +--rw numbered-node-hop 1738 | | | | | | | +--rw node-id 1739 | | | | | | | | te-node-id 1740 | | | | | | | +--rw hop-type? 1741 | | | | | | | te-hop-type 1742 | | | | | | +--:(numbered-link-hop) 1743 | | | | | | | +--rw numbered-link-hop 1744 | | | | | | | +--rw link-tp-id 1745 | | | | | | | | te-tp-id 1746 | | | | | | | +--rw hop-type? 1747 | | | | | | | | te-hop-type 1748 | | | | | | | +--rw direction? 1749 | | | | | | | te-link-direction 1750 | | | | | | +--:(unnumbered-link-hop) 1751 | | | | | | | +--rw unnumbered-link-hop 1752 | | | | | | | +--rw link-tp-id 1753 | | | | | | | | te-tp-id 1754 | | | | | | | +--rw node-id 1755 | | | | | | | | te-node-id 1756 | | | | | | | +--rw hop-type? 1757 | | | | | | | | te-hop-type 1758 | | | | | | | +--rw direction? 1759 | | | | | | | te-link-direction 1760 | | | | | | +--:(as-number) 1761 | | | | | | | +--rw as-number-hop 1762 | | | | | | | +--rw as-number 1763 | | | | | | | | inet:as-number 1764 | | | | | | | +--rw hop-type? 1765 | | | | | | | te-hop-type 1766 | | | | | | +--:(label) 1767 | | | | | | | +--rw label-hop 1768 | | | | | | | +--rw te-label 1769 | | | | | | | +--rw (technology)? 1770 | | | | | | | | +--:(generic) 1771 | | | | | | | | +--rw generic? 1772 | | | | | | | |rt-types:generalized-label 1773 | | | | | | | +--rw direction? 1774 | | | | | | | te-label-direction 1775 | | | | | | +--:(srlg) 1776 | | | | | | +--rw srlg 1777 | | | | | | +--rw srlg? uint32 1778 | | | | | +--rw explicit-route-include-objects 1779 | | | | | +--rw route-object-include-object* 1780 | | | | | [index] 1781 | | | | | +--rw index 1782 | | | | | | uint32 1783 | | | | | +--rw (type)? 1784 | | | | | +--:(numbered-node-hop) 1785 | | | | | | +--rw numbered-node-hop 1786 | | | | | | +--rw node-id 1787 | | | | | | | te-node-id 1788 | | | | | | +--rw hop-type? 1789 | | | | | | te-hop-type 1790 | | | | | +--:(numbered-link-hop) 1791 | | | | | | +--rw numbered-link-hop 1792 | | | | | | +--rw link-tp-id 1793 | | | | | | | te-tp-id 1794 | | | | | | +--rw hop-type? 1795 | | | | | | | te-hop-type 1796 | | | | | | +--rw direction? 1797 | | | | | | te-link-direction 1798 | | | | | +--:(unnumbered-link-hop) 1799 | | | | | | +--rw unnumbered-link-hop 1800 | | | | | | +--rw link-tp-id 1801 | | | | | | | te-tp-id 1802 | | | | | | +--rw node-id 1803 | | | | | | | te-node-id 1804 | | | | | | +--rw hop-type? 1805 | | | | | | | te-hop-type 1806 | | | | | | +--rw direction? 1807 | | | | | | te-link-direction 1808 | | | | | +--:(as-number) 1809 | | | | | | +--rw as-number-hop 1810 | | | | | | +--rw as-number 1811 | | | | | | | inet:as-number 1812 | | | | | | +--rw hop-type? 1813 | | | | | | te-hop-type 1814 | | | | | +--:(label) 1815 | | | | | +--rw label-hop 1816 | | | | | +--rw te-label 1817 | | | | | +--rw (technology)? 1818 | | | | | | +--:(generic) 1819 | | | | | | +--rw generic? 1820 | | | | | |rt-types:generalized-label 1821 | | | | | +--rw direction? 1822 | | | | | te-label-direction 1823 | | | | +--rw tiebreakers 1824 | | | | +--rw tiebreaker* [tiebreaker-type] 1825 | | | | +--rw tiebreaker-type identityref 1826 | | | +--:(objective-function) 1827 | | | {path-optimization-objective-function}? 1828 | | | +--rw objective-function 1829 | | | +--rw objective-function-type? 1830 | | | identityref 1831 | | +--rw named-path-constraint? leafref 1832 | | | {te-types:named-path-constraints}? 1833 | | +--rw te-bandwidth 1834 | | | +--rw (technology)? 1835 | | | +--:(generic) 1836 | | | +--rw generic? te-bandwidth 1837 | | +--rw link-protection? identityref 1838 | | +--rw setup-priority? uint8 1839 | | +--rw hold-priority? uint8 1840 | | +--rw signaling-type? identityref 1841 | | +--rw path-metric-bounds 1842 | | | +--rw path-metric-bound* [metric-type] 1843 | | | +--rw metric-type identityref 1844 | | | +--rw upper-bound? uint64 1845 | | +--rw path-affinities-values 1846 | | | +--rw path-affinities-value* [usage] 1847 | | | +--rw usage identityref 1848 | | | +--rw value? admin-groups 1849 | | +--rw path-affinity-names 1850 | | | +--rw path-affinity-name* [usage] 1851 | | | +--rw usage identityref 1852 | | | +--rw affinity-name* [name] 1853 | | | +--rw name string 1854 | | +--rw path-srlgs-lists 1855 | | | +--rw path-srlgs-list* [usage] 1856 | | | +--rw usage identityref 1857 | | | +--rw values* srlg 1858 | | +--rw path-srlgs-names 1859 | | | +--rw path-srlgs-name* [usage] 1860 | | | +--rw usage identityref 1861 | | | +--rw names* string 1862 | | +--rw disjointness? 1863 | | | te-path-disjointness 1864 | | +--rw explicit-route-objects-always 1865 | | | +--rw route-object-exclude-always* [index] 1866 | | | | +--rw index uint32 1867 | | | | +--rw (type)? 1868 | | | | +--:(numbered-node-hop) 1869 | | | | | +--rw numbered-node-hop 1870 | | | | | +--rw node-id te-node-id 1871 | | | | | +--rw hop-type? te-hop-type 1872 | | | | +--:(numbered-link-hop) 1873 | | | | | +--rw numbered-link-hop 1874 | | | | | +--rw link-tp-id te-tp-id 1875 | | | | | +--rw hop-type? te-hop-type 1876 | | | | | +--rw direction? te-link-direction 1877 | | | | +--:(unnumbered-link-hop) 1878 | | | | | +--rw unnumbered-link-hop 1879 | | | | | +--rw link-tp-id te-tp-id 1880 | | | | | +--rw node-id te-node-id 1881 | | | | | +--rw hop-type? te-hop-type 1882 | | | | | +--rw direction? te-link-direction 1883 | | | | +--:(as-number) 1884 | | | | | +--rw as-number-hop 1885 | | | | | +--rw as-number inet:as-number 1886 | | | | | +--rw hop-type? te-hop-type 1887 | | | | +--:(label) 1888 | | | | +--rw label-hop 1889 | | | | +--rw te-label 1890 | | | | +--rw (technology)? 1891 | | | | | +--:(generic) 1892 | | | | | +--rw generic? 1893 | | | | |rt-types:generalized-label 1894 | | | | +--rw direction? 1895 | | | | te-label-direction 1896 | | | +--rw route-object-include-exclude* [index] 1897 | | | +--rw explicit-route-usage? identityref 1898 | | | +--rw index uint32 1899 | | | +--rw (type)? 1900 | | | +--:(numbered-node-hop) 1901 | | | | +--rw numbered-node-hop 1902 | | | | +--rw node-id te-node-id 1903 | | | | +--rw hop-type? te-hop-type 1904 | | | +--:(numbered-link-hop) 1905 | | | | +--rw numbered-link-hop 1906 | | | | +--rw link-tp-id te-tp-id 1907 | | | | +--rw hop-type? te-hop-type 1908 | | | | +--rw direction? te-link-direction 1909 | | | +--:(unnumbered-link-hop) 1910 | | | | +--rw unnumbered-link-hop 1911 | | | | +--rw link-tp-id te-tp-id 1912 | | | | +--rw node-id te-node-id 1913 | | | | +--rw hop-type? te-hop-type 1914 | | | | +--rw direction? te-link-direction 1915 | | | +--:(as-number) 1916 | | | | +--rw as-number-hop 1917 | | | | +--rw as-number inet:as-number 1918 | | | | +--rw hop-type? te-hop-type 1919 | | | +--:(label) 1920 | | | | +--rw label-hop 1921 | | | | +--rw te-label 1922 | | | | +--rw (technology)? 1923 | | | | | +--:(generic) 1924 | | | | | +--rw generic? 1925 | | | | |rt-types:generalized-label 1926 | | | | +--rw direction? 1927 | | | | te-label-direction 1928 | | | +--:(srlg) 1929 | | | +--rw srlg 1930 | | | +--rw srlg? uint32 1931 | | +--rw path-in-segment! 1932 | | | +--rw label-restrictions 1933 | | | +--rw label-restriction* [index] 1934 | | | +--rw restriction? enumeration 1935 | | | +--rw index uint32 1936 | | | +--rw label-start 1937 | | | | +--rw te-label 1938 | | | | +--rw (technology)? 1939 | | | | | +--:(generic) 1940 | | | | | +--rw generic? 1941 | | | | |rt-types:generalized-label 1942 | | | | +--rw direction? 1943 | | | | te-label-direction 1944 | | | +--rw label-end 1945 | | | | +--rw te-label 1946 | | | | +--rw (technology)? 1947 | | | | | +--:(generic) 1948 | | | | | +--rw generic? 1949 | | | | |rt-types:generalized-label 1950 | | | | +--rw direction? 1951 | | | | te-label-direction 1952 | | | +--rw label-step 1953 | | | | +--rw (technology)? 1954 | | | | +--:(generic) 1955 | | | | +--rw generic? int32 1956 | | | +--rw range-bitmap? yang:hex-string 1957 | | +--rw path-out-segment! 1958 | | | +--rw label-restrictions 1959 | | | +--rw label-restriction* [index] 1960 | | | +--rw restriction? enumeration 1961 | | | +--rw index uint32 1962 | | | +--rw label-start 1963 | | | | +--rw te-label 1964 | | | | +--rw (technology)? 1965 | | | | | +--:(generic) 1966 | | | | | +--rw generic? 1967 | | | | |rt-types:generalized-label 1968 | | | | +--rw direction? 1969 | | | | te-label-direction 1970 | | | +--rw label-end 1971 | | | | +--rw te-label 1972 | | | | +--rw (technology)? 1973 | | | | | +--:(generic) 1974 | | | | | +--rw generic? 1975 | | | | |rt-types:generalized-label 1976 | | | | +--rw direction? 1977 | | | | te-label-direction 1978 | | | +--rw label-step 1979 | | | | +--rw (technology)? 1980 | | | | +--:(generic) 1981 | | | | +--rw generic? int32 1982 | | | +--rw range-bitmap? yang:hex-string 1983 | | +--rw protection 1984 | | | +--rw enable? boolean 1985 | | | +--rw protection-type? identityref 1986 | | | +--rw protection-reversion-disable? boolean 1987 | | | +--rw hold-off-time? uint32 1988 | | | +--rw wait-to-revert? uint16 1989 | | | +--rw aps-signal-id? uint8 1990 | | +--rw restoration 1991 | | | +--rw enable? boolean 1992 | | | +--rw restoration-type? 1993 | | | | identityref 1994 | | | +--rw restoration-scheme? 1995 | | | | identityref 1996 | | | +--rw restoration-reversion-disable? boolean 1997 | | | +--rw hold-off-time? uint32 1998 | | | +--rw wait-to-restore? uint16 1999 | | | +--rw wait-to-revert? uint16 2000 | | +--ro computed-paths-properties 2001 | | | +--ro computed-path-properties* [k-index] 2002 | | | +--ro k-index uint8 2003 | | | +--ro path-properties 2004 | | | +--ro path-metric* [metric-type] 2005 | | | | +--ro metric-type identityref 2006 | | | | +--ro accumulative-value? uint64 2007 | | | +--ro path-affinities-values 2008 | | | | +--ro path-affinities-value* [usage] 2009 | | | | +--ro usage identityref 2010 | | | | +--ro value? admin-groups 2011 | | | +--ro path-affinity-names 2012 | | | | +--ro path-affinity-name* [usage] 2013 | | | | +--ro usage identityref 2014 | | | | +--ro affinity-name* [name] 2015 | | | | +--ro name string 2016 | | | +--ro path-srlgs-lists 2017 | | | | +--ro path-srlgs-list* [usage] 2018 | | | | +--ro usage identityref 2019 | | | | +--ro values* srlg 2020 | | | +--ro path-srlgs-names 2021 | | | | +--ro path-srlgs-name* [usage] 2022 | | | | +--ro usage identityref 2023 | | | | +--ro names* string 2024 | | | +--ro path-route-objects 2025 | | | | +--ro path-route-object* [index] 2026 | | | | +--ro index 2027 | | | | | uint32 2028 | | | | +--ro (type)? 2029 | | | | +--:(numbered-node-hop) 2030 | | | | | +--ro numbered-node-hop 2031 | | | | | +--ro node-id te-node-id 2032 | | | | | +--ro hop-type? 2033 | | | | | te-hop-type 2034 | | | | +--:(numbered-link-hop) 2035 | | | | | +--ro numbered-link-hop 2036 | | | | | +--ro link-tp-id te-tp-id 2037 | | | | | +--ro hop-type? 2038 | | | | | | te-hop-type 2039 | | | | | +--ro direction? 2040 | | | | | te-link-direction 2041 | | | | +--:(unnumbered-link-hop) 2042 | | | | | +--ro unnumbered-link-hop 2043 | | | | | +--ro link-tp-id te-tp-id 2044 | | | | | +--ro node-id 2045 | | | | | | te-node-id 2046 | | | | | +--ro hop-type? 2047 | | | | | | te-hop-type 2048 | | | | | +--ro direction? 2049 | | | | | te-link-direction 2050 | | | | +--:(as-number) 2051 | | | | | +--ro as-number-hop 2052 | | | | | +--ro as-number 2053 | | | | | | inet:as-number 2054 | | | | | +--ro hop-type? 2055 | | | | | te-hop-type 2056 | | | | +--:(label) 2057 | | | | +--ro label-hop 2058 | | | | +--ro te-label 2059 | | | | +--ro (technology)? 2060 | | | | | +--:(generic) 2061 | | | | | +--ro generic? 2062 | | | | |rt-types:generalized-label 2063 | | | | +--ro direction? 2064 | | | | te-label-direction 2065 | | | +--ro te-bandwidth 2066 | | | | +--ro (technology)? 2067 | | | | +--:(generic) 2068 | | | | +--ro generic? te-bandwidth 2069 | | | +--ro disjointness-type? 2070 | | | te-types:te-path-disjointness 2071 | | +--ro computed-path-error-infos 2072 | | | +--ro computed-path-error-info* [] 2073 | | | +--ro error-description? string 2074 | | | +--ro error-timestamp? yang:date-and-time 2075 | | | +--ro error-reason? identityref 2076 | | +--ro lsp-provisioning-error-infos 2077 | | | +--ro lsp-provisioning-error-info* [] 2078 | | | +--ro error-description? string 2079 | | | +--ro error-timestamp? yang:date-and-time 2080 | | | +--ro error-node-id? te-types:te-node-id 2081 | | | +--ro error-link-id? te-types:te-tp-id 2082 | | | +--ro lsp-id? uint16 2083 | | +--ro lsps 2084 | | +--ro lsp* [node lsp-id] 2085 | | +--ro tunnel-name? 2086 | | | -> /te/lsps/lsp/tunnel-name 2087 | | +--ro node 2088 | | | -> /te/lsps/lsp/node 2089 | | +--ro lsp-id 2090 | | | -> /te/lsps/lsp/lsp-id 2091 | | +--ro lsp-provisioning-error-infos 2092 | | | +--ro lsp-provisioning-error-info* [] 2093 | | | +--ro error-description? string 2094 | | | +--ro error-timestamp? 2095 | | | | yang:date-and-time 2096 | | | +--ro error-node-id? 2097 | | | | te-types:te-node-id 2098 | | | +--ro error-link-id? 2099 | | | te-types:te-tp-id 2100 | | +--ro path-properties 2101 | | +--ro path-metric* [metric-type] 2102 | | | +--ro metric-type identityref 2103 | | | +--ro accumulative-value? uint64 2104 | | +--ro path-affinities-values 2105 | | | +--ro path-affinities-value* [usage] 2106 | | | +--ro usage identityref 2107 | | | +--ro value? admin-groups 2108 | | +--ro path-affinity-names 2109 | | | +--ro path-affinity-name* [usage] 2110 | | | +--ro usage identityref 2111 | | | +--ro affinity-name* [name] 2112 | | | +--ro name string 2113 | | +--ro path-srlgs-lists 2114 | | | +--ro path-srlgs-list* [usage] 2115 | | | +--ro usage identityref 2116 | | | +--ro values* srlg 2117 | | +--ro path-srlgs-names 2118 | | | +--ro path-srlgs-name* [usage] 2119 | | | +--ro usage identityref 2120 | | | +--ro names* string 2121 | | +--ro path-route-objects 2122 | | | +--ro path-route-object* [index] 2123 | | | +--ro index 2124 | | | | uint32 2125 | | | +--ro (type)? 2126 | | | +--:(numbered-node-hop) 2127 | | | | +--ro numbered-node-hop 2128 | | | | +--ro node-id te-node-id 2129 | | | | +--ro hop-type? 2130 | | | | te-hop-type 2131 | | | +--:(numbered-link-hop) 2132 | | | | +--ro numbered-link-hop 2133 | | | | +--ro link-tp-id te-tp-id 2134 | | | | +--ro hop-type? 2135 | | | | | te-hop-type 2136 | | | | +--ro direction? 2137 | | | | te-link-direction 2138 | | | +--:(unnumbered-link-hop) 2139 | | | | +--ro unnumbered-link-hop 2140 | | | | +--ro link-tp-id te-tp-id 2141 | | | | +--ro node-id 2142 | | | | | te-node-id 2143 | | | | +--ro hop-type? 2144 | | | | | te-hop-type 2145 | | | | +--ro direction? 2146 | | | | te-link-direction 2147 | | | +--:(as-number) 2148 | | | | +--ro as-number-hop 2149 | | | | +--ro as-number 2150 | | | | | inet:as-number 2151 | | | | +--ro hop-type? 2152 | | | | te-hop-type 2153 | | | +--:(label) 2154 | | | +--ro label-hop 2155 | | | +--ro te-label 2156 | | | +--ro (technology)? 2157 | | | | +--:(generic) 2158 | | | | +--ro generic? 2159 | | | |rt-types:generalized-label 2160 | | | +--ro direction? 2161 | | | te-label-direction 2162 | | +--ro te-bandwidth 2163 | | | +--ro (technology)? 2164 | | | +--:(generic) 2165 | | | +--ro generic? te-bandwidth 2166 | | +--ro disjointness-type? 2167 | | te-types:te-path-disjointness 2168 | +--rw secondary-reverse-paths 2169 | | +--rw secondary-reverse-path* [name] 2170 | | +--rw name string 2171 | | +--rw path-computation-method? identityref 2172 | | +--rw path-computation-server 2173 | | | +--rw id? te-generic-node-id 2174 | | | +--rw type? enumeration 2175 | | +--rw compute-only? empty 2176 | | +--rw use-path-computation? boolean 2177 | | +--rw lockdown? empty 2178 | | +--ro path-scope? identityref 2179 | | +--rw preference? uint8 2180 | | +--rw association-objects 2181 | | | +--rw association-object* [association-key] 2182 | | | | +--rw association-key string 2183 | | | | +--rw type? identityref 2184 | | | | +--rw id? uint16 2185 | | | | +--rw source 2186 | | | | +--rw id? te-generic-node-id 2187 | | | | +--rw type? enumeration 2188 | | | +--rw association-object-extended* 2189 | | | [association-key] 2190 | | | +--rw association-key string 2191 | | | +--rw type? identityref 2192 | | | +--rw id? uint16 2193 | | | +--rw source 2194 | | | | +--rw id? te-generic-node-id 2195 | | | | +--rw type? enumeration 2196 | | | +--rw global-source? uint32 2197 | | | +--rw extended-id? yang:hex-string 2198 | | +--rw optimizations 2199 | | | +--rw (algorithm)? 2200 | | | +--:(metric) {path-optimization-metric}? 2201 | | | | +--rw optimization-metric* [metric-type] 2202 | | | | | +--rw metric-type 2203 | | | | | | identityref 2204 | | | | | +--rw weight? 2205 | | | | | | uint8 2206 | | | | | +--rw explicit-route-exclude-objects 2207 | | | | | | +--rw route-object-exclude-object* 2208 | | | | | | [index] 2209 | | | | | | +--rw index 2210 | | | | | | | uint32 2211 | | | | | | +--rw (type)? 2212 | | | | | | +--:(numbered-node-hop) 2213 | | | | | | | +--rw numbered-node-hop 2214 | | | | | | | +--rw node-id 2215 | | | | | | | | te-node-id 2216 | | | | | | | +--rw hop-type? 2217 | | | | | | | te-hop-type 2218 | | | | | | +--:(numbered-link-hop) 2219 | | | | | | | +--rw numbered-link-hop 2220 | | | | | | | +--rw link-tp-id 2221 | | | | | | | | te-tp-id 2222 | | | | | | | +--rw hop-type? 2223 | | | | | | | | te-hop-type 2224 | | | | | | | +--rw direction? 2225 | | | | | | | te-link-direction 2226 | | | | | | +--:(unnumbered-link-hop) 2227 | | | | | | | +--rw unnumbered-link-hop 2228 | | | | | | | +--rw link-tp-id 2229 | | | | | | | | te-tp-id 2230 | | | | | | | +--rw node-id 2231 | | | | | | | | te-node-id 2232 | | | | | | | +--rw hop-type? 2233 | | | | | | | | te-hop-type 2234 | | | | | | | +--rw direction? 2235 | | | | | | | te-link-direction 2236 | | | | | | +--:(as-number) 2237 | | | | | | | +--rw as-number-hop 2238 | | | | | | | +--rw as-number 2239 | | | | | | | | inet:as-number 2240 | | | | | | | +--rw hop-type? 2241 | | | | | | | te-hop-type 2242 | | | | | | +--:(label) 2243 | | | | | | | +--rw label-hop 2244 | | | | | | | +--rw te-label 2245 | | | | | | | +--rw (technology)? 2246 | | | | | | | | +--:(generic) 2247 | | | | | | | | +--rw generic? 2248 | | | | | | | |rt-types:generalized-label 2249 | | | | | | | +--rw direction? 2250 | | | | | | | te-label-direction 2251 | | | | | | +--:(srlg) 2252 | | | | | | +--rw srlg 2253 | | | | | | +--rw srlg? uint32 2254 | | | | | +--rw explicit-route-include-objects 2255 | | | | | +--rw route-object-include-object* 2256 | | | | | [index] 2257 | | | | | +--rw index 2258 | | | | | | uint32 2259 | | | | | +--rw (type)? 2260 | | | | | +--:(numbered-node-hop) 2261 | | | | | | +--rw numbered-node-hop 2262 | | | | | | +--rw node-id 2263 | | | | | | | te-node-id 2264 | | | | | | +--rw hop-type? 2265 | | | | | | te-hop-type 2266 | | | | | +--:(numbered-link-hop) 2267 | | | | | | +--rw numbered-link-hop 2268 | | | | | | +--rw link-tp-id 2269 | | | | | | | te-tp-id 2270 | | | | | | +--rw hop-type? 2271 | | | | | | | te-hop-type 2272 | | | | | | +--rw direction? 2273 | | | | | | te-link-direction 2274 | | | | | +--:(unnumbered-link-hop) 2275 | | | | | | +--rw unnumbered-link-hop 2276 | | | | | | +--rw link-tp-id 2277 | | | | | | | te-tp-id 2278 | | | | | | +--rw node-id 2279 | | | | | | | te-node-id 2280 | | | | | | +--rw hop-type? 2281 | | | | | | | te-hop-type 2282 | | | | | | +--rw direction? 2283 | | | | | | te-link-direction 2284 | | | | | +--:(as-number) 2285 | | | | | | +--rw as-number-hop 2286 | | | | | | +--rw as-number 2287 | | | | | | | inet:as-number 2288 | | | | | | +--rw hop-type? 2289 | | | | | | te-hop-type 2290 | | | | | +--:(label) 2291 | | | | | +--rw label-hop 2292 | | | | | +--rw te-label 2293 | | | | | +--rw (technology)? 2294 | | | | | | +--:(generic) 2295 | | | | | | +--rw generic? 2296 | | | | | |rt-types:generalized-label 2297 | | | | | +--rw direction? 2298 | | | | | te-label-direction 2299 | | | | +--rw tiebreakers 2300 | | | | +--rw tiebreaker* [tiebreaker-type] 2301 | | | | +--rw tiebreaker-type identityref 2302 | | | +--:(objective-function) 2303 | | | {path-optimization-objective-function}? 2304 | | | +--rw objective-function 2305 | | | +--rw objective-function-type? 2306 | | | identityref 2307 | | +--rw named-path-constraint? leafref 2308 | | | {te-types:named-path-constraints}? 2309 | | +--rw te-bandwidth 2310 | | | +--rw (technology)? 2311 | | | +--:(generic) 2312 | | | +--rw generic? te-bandwidth 2313 | | +--rw link-protection? identityref 2314 | | +--rw setup-priority? uint8 2315 | | +--rw hold-priority? uint8 2316 | | +--rw signaling-type? identityref 2317 | | +--rw path-metric-bounds 2318 | | | +--rw path-metric-bound* [metric-type] 2319 | | | +--rw metric-type identityref 2320 | | | +--rw upper-bound? uint64 2321 | | +--rw path-affinities-values 2322 | | | +--rw path-affinities-value* [usage] 2323 | | | +--rw usage identityref 2324 | | | +--rw value? admin-groups 2325 | | +--rw path-affinity-names 2326 | | | +--rw path-affinity-name* [usage] 2327 | | | +--rw usage identityref 2328 | | | +--rw affinity-name* [name] 2329 | | | +--rw name string 2330 | | +--rw path-srlgs-lists 2331 | | | +--rw path-srlgs-list* [usage] 2332 | | | +--rw usage identityref 2333 | | | +--rw values* srlg 2334 | | +--rw path-srlgs-names 2335 | | | +--rw path-srlgs-name* [usage] 2336 | | | +--rw usage identityref 2337 | | | +--rw names* string 2338 | | +--rw disjointness? 2339 | | | te-path-disjointness 2340 | | +--rw explicit-route-objects-always 2341 | | | +--rw route-object-exclude-always* [index] 2342 | | | | +--rw index uint32 2343 | | | | +--rw (type)? 2344 | | | | +--:(numbered-node-hop) 2345 | | | | | +--rw numbered-node-hop 2346 | | | | | +--rw node-id te-node-id 2347 | | | | | +--rw hop-type? te-hop-type 2348 | | | | +--:(numbered-link-hop) 2349 | | | | | +--rw numbered-link-hop 2350 | | | | | +--rw link-tp-id te-tp-id 2351 | | | | | +--rw hop-type? te-hop-type 2352 | | | | | +--rw direction? te-link-direction 2353 | | | | +--:(unnumbered-link-hop) 2354 | | | | | +--rw unnumbered-link-hop 2355 | | | | | +--rw link-tp-id te-tp-id 2356 | | | | | +--rw node-id te-node-id 2357 | | | | | +--rw hop-type? te-hop-type 2358 | | | | | +--rw direction? te-link-direction 2359 | | | | +--:(as-number) 2360 | | | | | +--rw as-number-hop 2361 | | | | | +--rw as-number inet:as-number 2362 | | | | | +--rw hop-type? te-hop-type 2363 | | | | +--:(label) 2364 | | | | +--rw label-hop 2365 | | | | +--rw te-label 2366 | | | | +--rw (technology)? 2367 | | | | | +--:(generic) 2368 | | | | | +--rw generic? 2369 | | | | |rt-types:generalized-label 2370 | | | | +--rw direction? 2371 | | | | te-label-direction 2372 | | | +--rw route-object-include-exclude* [index] 2373 | | | +--rw explicit-route-usage? identityref 2374 | | | +--rw index uint32 2375 | | | +--rw (type)? 2376 | | | +--:(numbered-node-hop) 2377 | | | | +--rw numbered-node-hop 2378 | | | | +--rw node-id te-node-id 2379 | | | | +--rw hop-type? te-hop-type 2380 | | | +--:(numbered-link-hop) 2381 | | | | +--rw numbered-link-hop 2382 | | | | +--rw link-tp-id te-tp-id 2383 | | | | +--rw hop-type? te-hop-type 2384 | | | | +--rw direction? te-link-direction 2385 | | | +--:(unnumbered-link-hop) 2386 | | | | +--rw unnumbered-link-hop 2387 | | | | +--rw link-tp-id te-tp-id 2388 | | | | +--rw node-id te-node-id 2389 | | | | +--rw hop-type? te-hop-type 2390 | | | | +--rw direction? te-link-direction 2391 | | | +--:(as-number) 2392 | | | | +--rw as-number-hop 2393 | | | | +--rw as-number inet:as-number 2394 | | | | +--rw hop-type? te-hop-type 2395 | | | +--:(label) 2396 | | | | +--rw label-hop 2397 | | | | +--rw te-label 2398 | | | | +--rw (technology)? 2399 | | | | | +--:(generic) 2400 | | | | | +--rw generic? 2401 | | | | |rt-types:generalized-label 2402 | | | | +--rw direction? 2403 | | | | te-label-direction 2404 | | | +--:(srlg) 2405 | | | +--rw srlg 2406 | | | +--rw srlg? uint32 2407 | | +--rw path-in-segment! 2408 | | | +--rw label-restrictions 2409 | | | +--rw label-restriction* [index] 2410 | | | +--rw restriction? enumeration 2411 | | | +--rw index uint32 2412 | | | +--rw label-start 2413 | | | | +--rw te-label 2414 | | | | +--rw (technology)? 2415 | | | | | +--:(generic) 2416 | | | | | +--rw generic? 2417 | | | | |rt-types:generalized-label 2418 | | | | +--rw direction? 2419 | | | | te-label-direction 2420 | | | +--rw label-end 2421 | | | | +--rw te-label 2422 | | | | +--rw (technology)? 2423 | | | | | +--:(generic) 2424 | | | | | +--rw generic? 2425 | | | | |rt-types:generalized-label 2426 | | | | +--rw direction? 2427 | | | | te-label-direction 2428 | | | +--rw label-step 2429 | | | | +--rw (technology)? 2430 | | | | +--:(generic) 2431 | | | | +--rw generic? int32 2432 | | | +--rw range-bitmap? yang:hex-string 2433 | | +--rw path-out-segment! 2434 | | | +--rw label-restrictions 2435 | | | +--rw label-restriction* [index] 2436 | | | +--rw restriction? enumeration 2437 | | | +--rw index uint32 2438 | | | +--rw label-start 2439 | | | | +--rw te-label 2440 | | | | +--rw (technology)? 2441 | | | | | +--:(generic) 2442 | | | | | +--rw generic? 2443 | | | | |rt-types:generalized-label 2444 | | | | +--rw direction? 2445 | | | | te-label-direction 2446 | | | +--rw label-end 2447 | | | | +--rw te-label 2448 | | | | +--rw (technology)? 2449 | | | | | +--:(generic) 2450 | | | | | +--rw generic? 2451 | | | | |rt-types:generalized-label 2452 | | | | +--rw direction? 2453 | | | | te-label-direction 2454 | | | +--rw label-step 2455 | | | | +--rw (technology)? 2456 | | | | +--:(generic) 2457 | | | | +--rw generic? int32 2458 | | | +--rw range-bitmap? yang:hex-string 2459 | | +--rw protection 2460 | | | +--rw enable? boolean 2461 | | | +--rw protection-type? identityref 2462 | | | +--rw protection-reversion-disable? boolean 2463 | | | +--rw hold-off-time? uint32 2464 | | | +--rw wait-to-revert? uint16 2465 | | | +--rw aps-signal-id? uint8 2466 | | +--rw restoration 2467 | | | +--rw enable? boolean 2468 | | | +--rw restoration-type? 2469 | | | | identityref 2470 | | | +--rw restoration-scheme? 2471 | | | | identityref 2472 | | | +--rw restoration-reversion-disable? boolean 2473 | | | +--rw hold-off-time? uint32 2474 | | | +--rw wait-to-restore? uint16 2475 | | | +--rw wait-to-revert? uint16 2476 | | +--ro computed-paths-properties 2477 | | | +--ro computed-path-properties* [k-index] 2478 | | | +--ro k-index uint8 2479 | | | +--ro path-properties 2480 | | | +--ro path-metric* [metric-type] 2481 | | | | +--ro metric-type identityref 2482 | | | | +--ro accumulative-value? uint64 2483 | | | +--ro path-affinities-values 2484 | | | | +--ro path-affinities-value* [usage] 2485 | | | | +--ro usage identityref 2486 | | | | +--ro value? admin-groups 2487 | | | +--ro path-affinity-names 2488 | | | | +--ro path-affinity-name* [usage] 2489 | | | | +--ro usage identityref 2490 | | | | +--ro affinity-name* [name] 2491 | | | | +--ro name string 2492 | | | +--ro path-srlgs-lists 2493 | | | | +--ro path-srlgs-list* [usage] 2494 | | | | +--ro usage identityref 2495 | | | | +--ro values* srlg 2496 | | | +--ro path-srlgs-names 2497 | | | | +--ro path-srlgs-name* [usage] 2498 | | | | +--ro usage identityref 2499 | | | | +--ro names* string 2500 | | | +--ro path-route-objects 2501 | | | | +--ro path-route-object* [index] 2502 | | | | +--ro index 2503 | | | | | uint32 2504 | | | | +--ro (type)? 2505 | | | | +--:(numbered-node-hop) 2506 | | | | | +--ro numbered-node-hop 2507 | | | | | +--ro node-id te-node-id 2508 | | | | | +--ro hop-type? 2509 | | | | | te-hop-type 2510 | | | | +--:(numbered-link-hop) 2511 | | | | | +--ro numbered-link-hop 2512 | | | | | +--ro link-tp-id te-tp-id 2513 | | | | | +--ro hop-type? 2514 | | | | | | te-hop-type 2515 | | | | | +--ro direction? 2516 | | | | | te-link-direction 2517 | | | | +--:(unnumbered-link-hop) 2518 | | | | | +--ro unnumbered-link-hop 2519 | | | | | +--ro link-tp-id te-tp-id 2520 | | | | | +--ro node-id 2521 | | | | | | te-node-id 2522 | | | | | +--ro hop-type? 2523 | | | | | | te-hop-type 2524 | | | | | +--ro direction? 2525 | | | | | te-link-direction 2526 | | | | +--:(as-number) 2527 | | | | | +--ro as-number-hop 2528 | | | | | +--ro as-number 2529 | | | | | | inet:as-number 2530 | | | | | +--ro hop-type? 2531 | | | | | te-hop-type 2532 | | | | +--:(label) 2533 | | | | +--ro label-hop 2534 | | | | +--ro te-label 2535 | | | | +--ro (technology)? 2536 | | | | | +--:(generic) 2537 | | | | | +--ro generic? 2538 | | | | |rt-types:generalized-label 2539 | | | | +--ro direction? 2540 | | | | te-label-direction 2541 | | | +--ro te-bandwidth 2542 | | | | +--ro (technology)? 2543 | | | | +--:(generic) 2544 | | | | +--ro generic? te-bandwidth 2545 | | | +--ro disjointness-type? 2546 | | | te-types:te-path-disjointness 2547 | | +--ro computed-path-error-infos 2548 | | | +--ro computed-path-error-info* [] 2549 | | | +--ro error-description? string 2550 | | | +--ro error-timestamp? yang:date-and-time 2551 | | | +--ro error-reason? identityref 2552 | | +--ro lsp-provisioning-error-infos 2553 | | | +--ro lsp-provisioning-error-info* [] 2554 | | | +--ro error-description? string 2555 | | | +--ro error-timestamp? yang:date-and-time 2556 | | | +--ro error-node-id? te-types:te-node-id 2557 | | | +--ro error-link-id? te-types:te-tp-id 2558 | | | +--ro lsp-id? uint16 2559 | | +--ro lsps 2560 | | +--ro lsp* [node lsp-id] 2561 | | +--ro tunnel-name? 2562 | | | -> /te/lsps/lsp/tunnel-name 2563 | | +--ro node 2564 | | | -> /te/lsps/lsp/node 2565 | | +--ro lsp-id 2566 | | | -> /te/lsps/lsp/lsp-id 2567 | | +--ro lsp-provisioning-error-infos 2568 | | | +--ro lsp-provisioning-error-info* [] 2569 | | | +--ro error-description? string 2570 | | | +--ro error-timestamp? 2571 | | | | yang:date-and-time 2572 | | | +--ro error-node-id? 2573 | | | | te-types:te-node-id 2574 | | | +--ro error-link-id? 2575 | | | te-types:te-tp-id 2576 | | +--ro path-properties 2577 | | +--ro path-metric* [metric-type] 2578 | | | +--ro metric-type identityref 2579 | | | +--ro accumulative-value? uint64 2580 | | +--ro path-affinities-values 2581 | | | +--ro path-affinities-value* [usage] 2582 | | | +--ro usage identityref 2583 | | | +--ro value? admin-groups 2584 | | +--ro path-affinity-names 2585 | | | +--ro path-affinity-name* [usage] 2586 | | | +--ro usage identityref 2587 | | | +--ro affinity-name* [name] 2588 | | | +--ro name string 2589 | | +--ro path-srlgs-lists 2590 | | | +--ro path-srlgs-list* [usage] 2591 | | | +--ro usage identityref 2592 | | | +--ro values* srlg 2593 | | +--ro path-srlgs-names 2594 | | | +--ro path-srlgs-name* [usage] 2595 | | | +--ro usage identityref 2596 | | | +--ro names* string 2597 | | +--ro path-route-objects 2598 | | | +--ro path-route-object* [index] 2599 | | | +--ro index 2600 | | | | uint32 2601 | | | +--ro (type)? 2602 | | | +--:(numbered-node-hop) 2603 | | | | +--ro numbered-node-hop 2604 | | | | +--ro node-id te-node-id 2605 | | | | +--ro hop-type? 2606 | | | | te-hop-type 2607 | | | +--:(numbered-link-hop) 2608 | | | | +--ro numbered-link-hop 2609 | | | | +--ro link-tp-id te-tp-id 2610 | | | | +--ro hop-type? 2611 | | | | | te-hop-type 2612 | | | | +--ro direction? 2613 | | | | te-link-direction 2614 | | | +--:(unnumbered-link-hop) 2615 | | | | +--ro unnumbered-link-hop 2616 | | | | +--ro link-tp-id te-tp-id 2617 | | | | +--ro node-id 2618 | | | | | te-node-id 2619 | | | | +--ro hop-type? 2620 | | | | | te-hop-type 2621 | | | | +--ro direction? 2622 | | | | te-link-direction 2623 | | | +--:(as-number) 2624 | | | | +--ro as-number-hop 2625 | | | | +--ro as-number 2626 | | | | | inet:as-number 2627 | | | | +--ro hop-type? 2628 | | | | te-hop-type 2629 | | | +--:(label) 2630 | | | +--ro label-hop 2631 | | | +--ro te-label 2632 | | | +--ro (technology)? 2633 | | | | +--:(generic) 2634 | | | | +--ro generic? 2635 | | | |rt-types:generalized-label 2636 | | | +--ro direction? 2637 | | | te-label-direction 2638 | | +--ro te-bandwidth 2639 | | | +--ro (technology)? 2640 | | | +--:(generic) 2641 | | | +--ro generic? te-bandwidth 2642 | | +--ro disjointness-type? 2643 | | te-types:te-path-disjointness 2644 | +---x tunnel-action 2645 | | +---w input 2646 | | | +---w action-type? identityref 2647 | | +--ro output 2648 | | +--ro action-result? identityref 2649 | +---x protection-external-commands 2650 | +---w input 2651 | +---w protection-external-command? 2652 | | identityref 2653 | +---w protection-group-ingress-node-id? 2654 | | te-types:te-node-id 2655 | +---w protection-group-egress-node-id? 2656 | | te-types:te-node-id 2657 | +---w path-ref? path-ref 2658 | +---w traffic-type? 2659 | | enumeration 2660 | +---w extra-traffic-tunnel-ref? tunnel-ref 2661 +--ro lsps 2662 +--ro lsp* [tunnel-name lsp-id node] 2663 +--ro tunnel-name string 2664 +--ro lsp-id uint16 2665 +--ro node 2666 | te-types:te-node-id 2667 +--ro source? 2668 | te-types:te-node-id 2669 +--ro destination? 2670 | te-types:te-node-id 2671 +--ro tunnel-id? uint16 2672 +--ro extended-tunnel-id? yang:dotted-quad 2673 +--ro operational-state? identityref 2674 +--ro signaling-type? identityref 2675 +--ro origin-type? enumeration 2676 +--ro lsp-resource-status? enumeration 2677 +--ro lockout-of-normal? boolean 2678 +--ro freeze? boolean 2679 +--ro lsp-protection-role? enumeration 2680 +--ro lsp-protection-state? identityref 2681 +--ro protection-group-ingress-node-id? 2682 | te-types:te-node-id 2683 +--ro protection-group-egress-node-id? 2684 | te-types:te-node-id 2685 +--ro lsp-record-route-information 2686 +--ro lsp-record-route-information* [index] 2687 +--ro index uint32 2688 +--ro (type)? 2689 +--:(numbered-node-hop) 2690 | +--ro numbered-node-hop 2691 | +--ro node-id te-node-id 2692 | +--ro flags* path-attribute-flags 2693 +--:(numbered-link-hop) 2694 | +--ro numbered-link-hop 2695 | +--ro link-tp-id te-tp-id 2696 | +--ro flags* path-attribute-flags 2697 +--:(unnumbered-link-hop) 2698 | +--ro unnumbered-link-hop 2699 | +--ro link-tp-id te-tp-id 2700 | +--ro node-id? te-node-id 2701 | +--ro flags* path-attribute-flags 2702 +--:(label) 2703 +--ro label-hop 2704 +--ro te-label 2705 | +--ro (technology)? 2706 | | +--:(generic) 2707 | | +--ro generic? 2708 | |rt-types:generalized-label 2709 | +--ro direction? 2710 | te-label-direction 2711 +--ro flags* path-attribute-flags 2713 rpcs: 2714 +---x tunnels-path-compute 2715 | +---w input 2716 | | +---w path-compute-info 2717 | +--ro output 2718 | +--ro path-compute-result 2719 +---x tunnels-actions 2720 +---w input 2721 | +---w tunnel-info 2722 | | +---w (filter-type) 2723 | | +--:(all-tunnels) 2724 | | | +---w all empty 2725 | | +--:(one-tunnel) 2726 | | +---w tunnel? tunnel-ref 2727 | +---w action-info 2728 | +---w action? identityref 2729 | +---w disruptive? empty 2730 +--ro output 2731 +--ro action-result? identityref 2733 Figure 7: TE generic YANG model tree diagram. 2735 5.3. YANG Module 2737 The generic TE YANG module 'ietf-te' imports the following modules: 2739 o ietf-yang-types and ietf-inet-types defined in [RFC6991] 2741 o ietf-te-types defined in [RFC8776] 2743 This module references the following documents: [RFC6991], [RFC4875], 2744 [RFC7551], [RFC4206], [RFC4427], [RFC4872], [RFC3945], [RFC3209], 2745 [RFC6780], and [RFC7308]. 2747 file "ietf-te@2020-07-12.yang" 2748 module ietf-te { 2749 yang-version 1.1; 2750 namespace "urn:ietf:params:xml:ns:yang:ietf-te"; 2752 /* Replace with IANA when assigned */ 2754 prefix te; 2756 /* Import TE generic types */ 2758 import ietf-te-types { 2759 prefix te-types; 2760 reference 2761 "RFC8776: Common YANG Data Types for Traffic Engineering."; 2762 } 2763 import ietf-inet-types { 2764 prefix inet; 2765 reference 2766 "RFC6991: Common YANG Data Types."; 2767 } 2768 import ietf-yang-types { 2769 prefix yang; 2770 reference 2771 "RFC6991: Common YANG Data Types."; 2772 } 2774 organization 2775 "IETF Traffic Engineering Architecture and Signaling (TEAS) 2776 Working Group."; 2777 contact 2778 "WG Web: 2779 WG List: 2781 Editor: Tarek Saad 2782 2784 Editor: Rakesh Gandhi 2785 2787 Editor: Vishnu Pavan Beeram 2788 2790 Editor: Himanshu Shah 2791 2793 Editor: Xufeng Liu 2794 2796 Editor: Igor Bryskin 2797 "; 2798 description 2799 "YANG data module for TE configuration, state, and RPCs. 2800 The model fully conforms to the Network Management 2801 Datastore Architecture (NMDA). 2803 Copyright (c) 2019 IETF Trust and the persons 2804 identified as authors of the code. All rights reserved. 2806 Redistribution and use in source and binary forms, with or 2807 without modification, is permitted pursuant to, and subject 2808 to the license terms contained in, the Simplified BSD License 2809 set forth in Section 4.c of the IETF Trust's Legal Provisions 2810 Relating to IETF Documents 2811 (https://trustee.ietf.org/license-info). 2812 This version of this YANG module is part of RFC XXXX; see 2813 the RFC itself for full legal notices."; 2815 // RFC Ed.: replace XXXX with actual RFC number and remove this 2816 // note. 2817 // RFC Ed.: update the date below with the date of RFC publication 2818 // and remove this note. 2820 revision 2020-07-12 { 2821 description 2822 "Latest update to TE generic YANG module."; 2824 reference 2825 "RFCXXXX: A YANG Data Model for Traffic Engineering Tunnels 2826 and Interfaces."; 2827 } 2829 identity path-computation-error-reason { 2830 description 2831 "Base identity for path computation error reasons."; 2832 } 2834 identity path-computation-error-no-topology { 2835 base path-computation-error-reason; 2836 description 2837 "Path computation has failed because there is no topology 2838 with the provided the topology-identifier."; 2839 } 2841 identity path-computation-error-no-dependent-server { 2842 base path-computation-error-reason; 2843 description 2844 "Path computation has failed because one or more dependent 2845 path computation servers are unavailable. 2846 The dependent path computation server could be 2847 a BRPC downstream PCE or a child PCE."; 2848 reference 2849 "RFC5441, RFC 8685"; 2850 } 2852 identity path-computation-error-pce-unavailable { 2853 base path-computation-error-reason; 2854 description 2855 "Path computation has failed because PCE is not available."; 2856 reference 2857 "RFC5440"; 2858 } 2860 identity path-computation-error-no-inclusion-hop { 2861 base path-computation-error-reason; 2862 description 2863 "Path computation has failed because there is no 2864 node or link provided by one or more inclusion hops."; 2865 reference 2866 "RFC8685"; 2867 } 2869 identity path-computation-error-destination-unknown-in-domain { 2870 base path-computation-error-reason; 2871 description 2872 "Path computation has failed because the destination node is 2873 unknown in indicated destination domain."; 2874 reference 2875 "RFC8685"; 2876 } 2878 identity path-computation-error-no-resource { 2879 base path-computation-error-reason; 2880 description 2881 "Path computation has failed because there is no 2882 available resource in one or more domains."; 2883 reference 2884 "RFC8685"; 2885 } 2887 identity path-computation-error-child-pce-unresponsive { 2888 base path-computation-error-reason; 2889 description 2890 "Path computation has failed because child PCE is not 2891 responsive."; 2892 reference 2893 "RFC8685"; 2894 } 2896 identity path-computation-error-destination-domain-unknown { 2897 base path-computation-error-reason; 2898 description 2899 "Path computation has failed because the destination domain 2900 was unknown."; 2901 reference 2902 "RFC8685"; 2903 } 2905 identity path-computation-error-p2mp { 2906 base path-computation-error-reason; 2907 description 2908 "Path computation has failed because of P2MP reachability 2909 problem."; 2910 reference 2911 "RFC8306"; 2912 } 2914 identity path-computation-error-no-gco-migration { 2915 base path-computation-error-reason; 2916 description 2917 "Path computation has failed because of no GCO migration 2918 path found."; 2919 reference 2920 "RFC5557"; 2921 } 2923 identity path-computation-error-no-gco-solution { 2924 base path-computation-error-reason; 2925 description 2926 "Path computation has failed because of no GCO solution 2927 found."; 2928 reference 2929 "RFC5557"; 2930 } 2932 identity path-computation-error-path-not-found { 2933 base path-computation-error-reason; 2934 description 2935 "Path computation no path found error reason."; 2936 reference 2937 "RFC5440"; 2938 } 2940 identity path-computation-error-pks-expansion { 2941 base path-computation-error-reason; 2942 description 2943 "Path computation has failed because of PKS expansion 2944 failure."; 2945 reference 2946 "RFC5520"; 2947 } 2949 identity path-computation-error-brpc-chain-unavailable { 2950 base path-computation-error-reason; 2951 description 2952 "Path computation has failed because PCE BRPC chain 2953 unavailable."; 2954 reference 2955 "RFC5441"; 2956 } 2958 identity path-computation-error-source-unknown { 2959 base path-computation-error-reason; 2960 description 2961 "Path computation has failed because source node is unknown."; 2962 reference 2963 "RFC5440"; 2964 } 2966 identity path-computation-error-destination-unknown { 2967 base path-computation-error-reason; 2968 description 2969 "Path computation has failed because destination node is 2970 unknown."; 2971 reference 2972 "RFC5440"; 2973 } 2975 identity path-computation-error-no-server { 2976 base path-computation-error-reason; 2977 description 2978 "Path computation has failed because path computation 2979 server is unavailable."; 2980 reference 2981 "RFC5440"; 2982 } 2984 identity tunnel-actions-type { 2985 description 2986 "TE tunnel actions type."; 2987 } 2989 identity tunnel-action-reoptimize { 2990 base tunnel-actions-type; 2991 description 2992 "Reoptimize tunnel action type."; 2993 } 2995 identity tunnel-admin-auto { 2996 base te-types:tunnel-admin-state-type; 2997 description 2998 "Tunnel administrative auto state. The administrative status in 2999 state datastore transitions to 'tunnel-admin-up' when the tunnel 3000 used by the client layer, and to 'tunnel-admin-down' when it is 3001 not used by the client layer."; 3002 } 3004 identity association-type-diversity { 3005 base te-types:association-type; 3006 description 3007 "Association Type diversity used to associate LSPs whose paths 3008 are to be diverse from each other."; 3009 reference 3010 "ID.ietf-pce-association-diversity."; 3011 } 3013 typedef tunnel-ref { 3014 type leafref { 3015 path "/te:te/te:tunnels/te:tunnel/te:name"; 3017 } 3018 description 3019 "This type is used by data models that need to reference 3020 configured TE tunnel."; 3021 } 3023 typedef path-ref { 3024 type union { 3025 type leafref { 3026 path "/te:te/te:tunnels/te:tunnel/" 3027 + "te:primary-paths/te:primary-path/te:name"; 3028 } 3029 type leafref { 3030 path "/te:te/te:tunnels/te:tunnel/" 3031 + "te:secondary-paths/te:secondary-path/te:name"; 3032 } 3033 } 3034 description 3035 "This type is used by data models that need to reference 3036 configured primary or secondary path of a TE tunnel."; 3037 } 3039 typedef te-gen-node-id { 3040 type union { 3041 type te-types:te-node-id; 3042 type inet:ip-address; 3043 } 3044 description 3045 "Generic type that identifies a node in a TE topology."; 3046 } 3048 /** 3049 * TE tunnel generic groupings 3050 */ 3052 grouping te-generic-node-id { 3053 description 3054 "A reusable grouping for a TE generic node identifier."; 3055 leaf id { 3056 type te-gen-node-id; 3057 description 3058 "The identifier of the node. Can be represented as IP 3059 address or dotted quad address."; 3060 } 3061 leaf type { 3062 type enumeration { 3063 enum ip { 3064 description 3065 "IP address representation of the node identifier."; 3066 } 3067 enum dotted-quad { 3068 description 3069 "Dotted quad address representation of the node 3070 identifier."; 3071 } 3072 } 3073 description 3074 "Type of node identifier representation."; 3075 } 3076 } 3078 grouping primary-path { 3079 description 3080 "The tunnel primary path properties."; 3081 uses path-common-properties; 3082 uses path-preference; 3083 uses k-requested-paths; 3084 uses path-compute-info; 3085 uses path-state; 3086 } 3088 grouping primary-reverse-path { 3089 description 3090 "The tunnel primary reverse path properties."; 3091 reference 3092 "RFC7551"; 3093 uses path-common-properties; 3094 uses path-compute-info; 3095 uses path-state; 3096 } 3098 grouping secondary-path { 3099 description 3100 "The tunnel secondary path properties."; 3101 uses path-common-properties; 3102 uses path-preference; 3103 uses path-compute-info; 3104 uses protection-restoration-properties; 3105 uses path-state; 3106 } 3108 grouping secondary-reverse-path { 3109 description 3110 "The tunnel secondary reverse path properties."; 3111 uses path-common-properties; 3112 uses path-preference; 3113 uses path-compute-info; 3114 uses protection-restoration-properties; 3115 uses path-state; 3116 } 3118 grouping path-common-properties { 3119 description 3120 "Common path attributes."; 3121 leaf name { 3122 type string; 3123 description 3124 "TE path name."; 3125 } 3126 leaf path-computation-method { 3127 type identityref { 3128 base te-types:path-computation-method; 3129 } 3130 default "te-types:path-locally-computed"; 3131 description 3132 "The method used for computing the path, either 3133 locally computed, queried from a server or not 3134 computed at all (explicitly configured)."; 3135 } 3136 container path-computation-server { 3137 when "derived-from-or-self(../path-computation-method, " 3138 + "'te-types:path-externally-queried')" { 3139 description 3140 "The path-computation server when the path is 3141 externally queried."; 3142 } 3143 uses te-generic-node-id; 3144 description 3145 "Address of the external path computation 3146 server."; 3147 } 3148 leaf compute-only { 3149 type empty; 3150 description 3151 "When set, the path is computed and updated whenever 3152 the topology is updated. No resources are committed 3153 or reserved in the network."; 3154 } 3155 leaf use-path-computation { 3156 when "derived-from-or-self(../path-computation-method, " 3157 + "'te-types:path-locally-computed')"; 3158 type boolean; 3159 default "true"; 3160 description 3161 "When 'true' indicates the path is dynamically computed and/or 3162 validated against the Traffic-Engineering Database (TED), 3163 and when 'false' indicates no validation against the TED is 3164 required."; 3165 } 3166 leaf lockdown { 3167 type empty; 3168 description 3169 "Indicates no reoptimization to be attempted for this path."; 3170 } 3171 leaf path-scope { 3172 type identityref { 3173 base te-types:path-scope-type; 3174 } 3175 default "te-types:path-scope-end-to-end"; 3176 config false; 3177 description 3178 "Path scope if segment or an end-to-end path."; 3179 } 3180 } 3182 /* This grouping will be re-used in path-computation rpc */ 3184 grouping path-compute-info { 3185 description 3186 "Attributes used for path computation request."; 3187 uses tunnel-associations-properties; 3188 uses te-types:generic-path-optimization; 3189 leaf named-path-constraint { 3190 if-feature "te-types:named-path-constraints"; 3191 type leafref { 3192 path "/te/globals/named-path-constraints/" 3193 + "named-path-constraint/name"; 3194 } 3195 description 3196 "Reference to a globally defined named path constraint set."; 3197 } 3198 uses path-constraints-common; 3199 } 3201 /* This grouping will be re-used in path-computation rpc */ 3203 grouping path-preference { 3204 description 3205 "The path preference."; 3206 leaf preference { 3207 type uint8 { 3208 range "1..255"; 3210 } 3211 default "1"; 3212 description 3213 "Specifies a preference for this path. The lower the number 3214 higher the preference."; 3215 } 3216 } 3218 /* This grouping will be re-used in path-computation rpc */ 3220 grouping k-requested-paths { 3221 description 3222 "The k-shortest paths requests."; 3223 leaf k-requested-paths { 3224 type uint8; 3225 default "1"; 3226 description 3227 "The number of k-shortest-paths requested from the path 3228 computation server and returned sorted by its optimization 3229 objective."; 3230 } 3231 } 3233 grouping path-properties { 3234 description 3235 "TE computed path properties grouping."; 3236 uses te-types:generic-path-properties { 3237 augment "path-properties" { 3238 description 3239 "additional path properties returned by path computation."; 3240 uses te-types:te-bandwidth; 3241 leaf disjointness-type { 3242 type te-types:te-path-disjointness; 3243 config false; 3244 description 3245 "The type of resource disjointness. 3246 When reported for a primary path, it represents the 3247 minimum level of disjointness of all the secondary 3248 paths. 3249 When reported for a secondary path, it represents the 3250 disjointness of the secondary path."; 3251 } 3252 } 3253 } 3254 } 3256 grouping path-state { 3257 description 3258 "TE per path state parameters."; 3259 uses path-computation-response; 3260 uses lsp-provisioning-error-info { 3261 augment "lsp-provisioning-error-infos/" 3262 + "lsp-provisioning-error-info" { 3263 description 3264 "Augmentation of LSP provisioning information under a 3265 specific path."; 3266 leaf lsp-id { 3267 type uint16; 3268 description 3269 "The LSP-ID for which path computation was performed."; 3270 } 3271 } 3272 } 3273 container lsps { 3274 config false; 3275 description 3276 "The TE LSPs container."; 3277 list lsp { 3278 key "node lsp-id"; 3279 description 3280 "List of LSPs associated with the tunnel."; 3281 leaf tunnel-name { 3282 type leafref { 3283 path "/te/lsps/lsp/te:tunnel-name"; 3284 } 3285 description "TE tunnel name."; 3286 } 3287 leaf node { 3288 type leafref { 3289 path "/te/lsps/lsp/te:node"; 3290 } 3291 description "The node where the LSP state resides on."; 3292 } 3293 leaf lsp-id { 3294 type leafref { 3295 path "/te/lsps/lsp/lsp-id"; 3296 } 3297 description "The TE LSP identifier."; 3298 } 3299 uses lsp-provisioning-error-info; 3300 uses path-properties { 3301 description 3302 "The TE path actual properties."; 3303 } 3304 } 3305 } 3307 } 3309 /* This grouping will be re-used in path-computation rpc */ 3311 grouping path-computation-response { 3312 description 3313 "Attributes reported by path computation response."; 3314 container computed-paths-properties { 3315 config false; 3316 description 3317 "Computed path properties container."; 3318 list computed-path-properties { 3319 key "k-index"; 3320 description 3321 "List of computed paths."; 3322 leaf k-index { 3323 type uint8; 3324 description 3325 "The k-th path returned from the computation server. 3326 A lower k value path is more optimal than higher k 3327 value path(s)"; 3328 } 3329 uses path-properties { 3330 description 3331 "The TE path computed properties."; 3332 } 3333 } 3334 } 3335 container computed-path-error-infos { 3336 config false; 3337 description 3338 "Path computation information container."; 3339 list computed-path-error-info { 3340 description 3341 "List of path computation info entries."; 3342 leaf error-description { 3343 type string; 3344 description 3345 "Textual representation of the error occurred during 3346 path computation."; 3347 } 3348 leaf error-timestamp { 3349 type yang:date-and-time; 3350 description 3351 "Timestamp of last path computation attempt."; 3352 } 3353 leaf error-reason { 3354 type identityref { 3355 base path-computation-error-reason; 3356 } 3357 description 3358 "Reason for the path computation error."; 3359 } 3360 } 3361 } 3362 } 3364 grouping lsp-provisioning-error-info { 3365 description 3366 "Grouping for LSP provisioning error information."; 3367 container lsp-provisioning-error-infos { 3368 config false; 3369 description 3370 "LSP provisioning error information."; 3371 list lsp-provisioning-error-info { 3372 description 3373 "List of LSP provisioning error info entries."; 3374 leaf error-description { 3375 type string; 3376 description 3377 "Textual representation of the error occurred during 3378 path computation."; 3379 } 3380 leaf error-timestamp { 3381 type yang:date-and-time; 3382 description 3383 "Timestamp of when the reported error occurred."; 3384 } 3385 leaf error-node-id { 3386 type te-types:te-node-id; 3387 default "0.0.0.0"; 3388 description 3389 "Node identifier of node where error occurred."; 3390 } 3391 leaf error-link-id { 3392 type te-types:te-tp-id; 3393 default "0"; 3394 description 3395 "Link ID where the error occurred."; 3396 } 3397 } 3398 } 3399 } 3401 grouping protection-restoration-properties-state { 3402 description 3403 "Protection parameters grouping."; 3404 leaf lockout-of-normal { 3405 type boolean; 3406 default "false"; 3407 description 3408 "When set to 'True', it represents a lockout of normal 3409 traffic external command. When set to 'False', it 3410 represents a clear lockout of normal traffic external 3411 command. The lockout of normal traffic command applies 3412 to this Tunnel."; 3413 reference 3414 "RFC4427"; 3415 } 3416 leaf freeze { 3417 type boolean; 3418 default "false"; 3419 description 3420 "When set to 'True', it represents a freeze external 3421 command. When set to 'False', it represents a clear 3422 freeze external command. The freeze command command 3423 applies to all the Tunnels which are sharing the 3424 protection resources with this Tunnel."; 3425 reference 3426 "RFC4427"; 3427 } 3428 leaf lsp-protection-role { 3429 type enumeration { 3430 enum working { 3431 description 3432 "A working LSP must be a primary LSP whilst a protecting 3433 LSP can be either a primary or a secondary LSP. Also, 3434 known as protected LSPs when working LSPs are associated 3435 with protecting LSPs."; 3436 } 3437 enum protecting { 3438 description 3439 "A secondary LSP is an LSP that has been provisioned 3440 in the control plane only; e.g. resource allocation 3441 has not been committed at the data plane."; 3442 } 3443 } 3444 default "working"; 3445 description 3446 "LSP role type."; 3447 reference 3448 "RFC4872, section 4.2.1"; 3449 } 3450 leaf lsp-protection-state { 3451 type identityref { 3452 base te-types:lsp-protection-state; 3453 } 3454 default "te-types:normal"; 3455 description 3456 "The state of the APS state machine controlling which 3457 tunnels is using the resources of the protecting LSP."; 3458 } 3459 leaf protection-group-ingress-node-id { 3460 type te-types:te-node-id; 3461 default "0.0.0.0"; 3462 description 3463 "Indicates the te-node-id of the protection group 3464 ingress node when the APS state represents an external 3465 command (LoP, SF, MS) applied to it or a WTR timer 3466 running on it. If the external command is not applied to 3467 the ingress node or the WTR timer is not running on it, 3468 this attribute is not specified. A value 0.0.0.0 is used 3469 when the te-node-id of the protection group ingress node is 3470 unknown (e.g., because the ingress node is outside the scope 3471 of control of the server)"; 3472 } 3473 leaf protection-group-egress-node-id { 3474 type te-types:te-node-id; 3475 default "0.0.0.0"; 3476 description 3477 "Indicates the te-node-id of the protection group egress node 3478 when the APS state represents an external command (LoP, SF, 3479 MS) applied to it or a WTR timer running on it. If the 3480 external command is not applied to the ingress node or 3481 the WTR timer is not running on it, this attribute is not 3482 specified. A value 0.0.0.0 is used when the te-node-id of 3483 the protection group ingress node is unknown (e.g., because 3484 the ingress node is outside the scope of control of the 3485 server)"; 3486 } 3487 } 3489 grouping protection-restoration-properties { 3490 description 3491 "Protection and restoration parameters."; 3492 container protection { 3493 description 3494 "Protection parameters."; 3495 leaf enable { 3496 type boolean; 3497 default "false"; 3498 description 3499 "A flag to specify if LSP protection is enabled."; 3500 reference 3501 "RFC4427"; 3502 } 3503 leaf protection-type { 3504 type identityref { 3505 base te-types:lsp-protection-type; 3506 } 3507 default "te-types:lsp-protection-unprotected"; 3508 description 3509 "LSP protection type."; 3510 } 3511 leaf protection-reversion-disable { 3512 type boolean; 3513 default "false"; 3514 description 3515 "Disable protection reversion to working path."; 3516 } 3517 leaf hold-off-time { 3518 type uint32; 3519 units "milli-seconds"; 3520 default "0"; 3521 description 3522 "The time between the declaration of an SF or SD condition 3523 and the initialization of the protection switching 3524 algorithm."; 3525 reference 3526 "RFC4427"; 3527 } 3528 leaf wait-to-revert { 3529 type uint16; 3530 units "seconds"; 3531 description 3532 "Time to wait before attempting LSP reversion."; 3533 reference 3534 "RFC4427"; 3535 } 3536 leaf aps-signal-id { 3537 type uint8 { 3538 range "1..255"; 3539 } 3540 default "1"; 3541 description 3542 "The APS signal number used to reference the traffic of this 3543 tunnel. The default value for normal traffic is 1. 3544 The default value for extra-traffic is 255. If not specified, 3545 non-default values can be assigned by the server, 3546 if and only if, the server controls both endpoints."; 3548 reference 3549 "RFC4427"; 3550 } 3551 } 3552 container restoration { 3553 description 3554 "Restoration parameters."; 3555 leaf enable { 3556 type boolean; 3557 default "false"; 3558 description 3559 "A flag to specify if LSP restoration is enabled."; 3560 reference 3561 "RFC4427"; 3562 } 3563 leaf restoration-type { 3564 type identityref { 3565 base te-types:lsp-restoration-type; 3566 } 3567 default "te-types:lsp-restoration-restore-any"; 3568 description 3569 "LSP restoration type."; 3570 } 3571 leaf restoration-scheme { 3572 type identityref { 3573 base te-types:restoration-scheme-type; 3574 } 3575 default "te-types:restoration-scheme-preconfigured"; 3576 description 3577 "LSP restoration scheme."; 3578 } 3579 leaf restoration-reversion-disable { 3580 type boolean; 3581 default "false"; 3582 description 3583 "Disable restoration reversion to working path."; 3584 } 3585 leaf hold-off-time { 3586 type uint32; 3587 units "milli-seconds"; 3588 description 3589 "The time between the declaration of an SF or SD condition 3590 and the initialization of the protection switching 3591 algorithm."; 3592 reference 3593 "RFC4427"; 3594 } 3595 leaf wait-to-restore { 3596 type uint16; 3597 units "seconds"; 3598 description 3599 "Time to wait before attempting LSP restoration."; 3600 reference 3601 "RFC4427"; 3602 } 3603 leaf wait-to-revert { 3604 type uint16; 3605 units "seconds"; 3606 description 3607 "Time to wait before attempting LSP reversion."; 3608 reference 3609 "RFC4427"; 3610 } 3611 } 3612 } 3614 grouping tunnel-associations-properties { 3615 description 3616 "TE tunnel association grouping."; 3617 container association-objects { 3618 description 3619 "TE tunnel associations."; 3620 list association-object { 3621 key "association-key"; 3622 unique "type id source/id source/type"; 3623 description 3624 "List of association base objects."; 3625 reference 3626 "RFC4872"; 3627 leaf association-key { 3628 type string; 3629 description 3630 "Association key used to identify a specific 3631 association in the list"; 3632 } 3633 leaf type { 3634 type identityref { 3635 base te-types:association-type; 3636 } 3637 description 3638 "Association type."; 3639 reference 3640 "RFC4872"; 3641 } 3642 leaf id { 3643 type uint16; 3644 description 3645 "Association identifier."; 3646 reference 3647 "RFC4872"; 3648 } 3649 container source { 3650 uses te-generic-node-id; 3651 description 3652 "Association source."; 3653 reference 3654 "RFC4872"; 3655 } 3656 } 3657 list association-object-extended { 3658 key "association-key"; 3659 unique 3660 "type id source/id source/type global-source extended-id"; 3661 description 3662 "List of extended association objects."; 3663 reference 3664 "RFC6780"; 3665 leaf association-key { 3666 type string; 3667 description 3668 "Association key used to identify a specific 3669 association in the list"; 3670 } 3671 leaf type { 3672 type identityref { 3673 base te-types:association-type; 3674 } 3675 description 3676 "Association type."; 3677 reference 3678 "RFC4872, RFC6780"; 3679 } 3680 leaf id { 3681 type uint16; 3682 description 3683 "Association identifier."; 3684 reference 3685 "RFC4872, RFC6780"; 3686 } 3687 container source { 3688 uses te-generic-node-id; 3689 description 3690 "Association source."; 3691 reference 3692 "RFC4872, RFC6780"; 3693 } 3694 leaf global-source { 3695 type uint32; 3696 description 3697 "Association global source."; 3698 reference 3699 "RFC6780"; 3700 } 3701 leaf extended-id { 3702 type yang:hex-string; 3703 description 3704 "Association extended identifier."; 3705 reference 3706 "RFC6780"; 3707 } 3708 } 3709 } 3710 } 3712 /* TE tunnel configuration/state grouping */ 3713 /* This grouping will be re-used in path-computation rpc */ 3715 grouping tunnel-hierarchy-properties { 3716 description 3717 "A grouping for TE tunnel hierarchy information."; 3718 container hierarchy { 3719 description 3720 "Container for TE hierarchy related information."; 3721 container dependency-tunnels { 3722 description 3723 "List of tunnels that this tunnel can be potentially 3724 dependent on."; 3725 list dependency-tunnel { 3726 key "name"; 3727 description 3728 "A tunnel entry that this tunnel can potentially depend 3729 on."; 3730 leaf name { 3731 type leafref { 3732 path "../../../../../../tunnels/tunnel/name"; 3733 require-instance false; 3734 } 3735 description 3736 "Dependency tunnel name. The tunnel may not have been 3737 instantiated yet."; 3738 } 3739 leaf encoding { 3740 type identityref { 3741 base te-types:lsp-encoding-types; 3742 } 3743 default "te-types:lsp-encoding-packet"; 3744 description 3745 "The LSP encoding type for the dependency tunnel."; 3746 reference 3747 "RFC3945"; 3748 } 3749 leaf switching-type { 3750 type identityref { 3751 base te-types:switching-capabilities; 3752 } 3753 default "te-types:switching-psc1"; 3754 description 3755 "The LSP switching type for the dependency tunnel."; 3756 reference 3757 "RFC3945"; 3758 } 3759 } 3760 } 3761 container hierarchical-link { 3762 description 3763 "Identifies a hierarchical link (in client layer) 3764 that this tunnel is associated with."; 3765 reference 3766 "RFC4206"; 3767 leaf local-te-node-id { 3768 type te-types:te-node-id; 3769 default "0.0.0.0"; 3770 description 3771 "The local TE node identifier."; 3772 } 3773 leaf local-te-link-tp-id { 3774 type te-types:te-tp-id; 3775 default "0"; 3776 description 3777 "The local TE link termination point identifier."; 3778 } 3779 leaf remote-te-node-id { 3780 type te-types:te-node-id; 3781 default "0.0.0.0"; 3782 description 3783 "Remote TE node identifier."; 3784 } 3785 uses te-types:te-topology-identifier; 3786 } 3787 } 3789 } 3791 grouping tunnel-properties { 3792 description 3793 "Top level grouping for tunnel properties."; 3794 leaf operational-state { 3795 type identityref { 3796 base te-types:tunnel-state-type; 3797 } 3798 config false; 3799 description 3800 "TE tunnel operational state."; 3801 } 3802 leaf name { 3803 type string; 3804 description 3805 "TE tunnel name."; 3806 } 3807 leaf identifier { 3808 type uint32; 3809 description 3810 "TE tunnel Identifier."; 3811 reference 3812 "RFC3209"; 3813 } 3814 leaf description { 3815 type string; 3816 default "None"; 3817 description 3818 "Textual description for this TE tunnel."; 3819 } 3820 leaf encoding { 3821 type identityref { 3822 base te-types:lsp-encoding-types; 3823 } 3824 default "te-types:lsp-encoding-packet"; 3825 description 3826 "LSP encoding type."; 3827 reference 3828 "RFC3945"; 3829 } 3830 leaf switching-type { 3831 type identityref { 3832 base te-types:switching-capabilities; 3833 } 3834 default "te-types:switching-psc1"; 3835 description 3836 "LSP switching type."; 3838 reference 3839 "RFC3945"; 3840 } 3841 leaf admin-state { 3842 type identityref { 3843 base te-types:tunnel-admin-state-type; 3844 } 3845 default "te-types:tunnel-admin-state-up"; 3846 description 3847 "TE tunnel administrative state."; 3848 } 3849 leaf reoptimize-timer { 3850 type uint16; 3851 units "seconds"; 3852 description 3853 "Frequency of reoptimization of a traffic engineered LSP."; 3854 } 3855 leaf source { 3856 type te-types:te-node-id; 3857 description 3858 "TE tunnel source node ID."; 3859 } 3860 leaf destination { 3861 type te-types:te-node-id; 3862 description 3863 "TE tunnel destination node identifier."; 3864 } 3865 leaf src-tunnel-tp-id { 3866 type binary; 3867 description 3868 "TE tunnel source termination point identifier."; 3869 } 3870 leaf dst-tunnel-tp-id { 3871 type binary; 3872 description 3873 "TE tunnel destination termination point identifier."; 3874 } 3875 leaf bidirectional { 3876 type boolean; 3877 default "false"; 3878 description 3879 "Indicates a bidirectional co-routed LSP."; 3880 } 3881 uses tunnel-associations-properties; 3882 uses protection-restoration-properties; 3883 uses te-types:tunnel-constraints; 3884 uses tunnel-hierarchy-properties; 3885 container primary-paths { 3886 description 3887 "The set of primary paths."; 3888 list primary-path { 3889 key "name"; 3890 description 3891 "List of primary paths for this tunnel."; 3892 uses primary-path; 3893 container primary-reverse-path { 3894 description 3895 "The reverse primary path properties."; 3896 uses primary-reverse-path; 3897 container candidate-secondary-reverse-paths { 3898 description 3899 "The set of referenced candidate reverse secondary paths 3900 from the full set of secondary reverse paths which may be 3901 used for this primary path."; 3902 list candidate-secondary-reverse-path { 3903 key "secondary-path"; 3904 description 3905 "List of candidate secondary reverse path(s)"; 3906 leaf secondary-path { 3907 type leafref { 3908 path "../../../../../../secondary-reverse-paths/" 3909 + "secondary-reverse-path/name"; 3910 } 3911 description 3912 "A reference to the secondary reverse path that 3913 should be utilised when the containing primary 3914 reverse path option is in use."; 3915 } 3916 } 3917 } 3918 } 3919 container candidate-secondary-paths { 3920 description 3921 "The set of candidate secondary paths which may be used 3922 for this primary path. When secondary paths are specified 3923 in the list the path of the secondary LSP in use must be 3924 restricted to those path options referenced. The 3925 priority of the secondary paths is specified within the 3926 list. Higher priority values are less preferred - that is 3927 to say that a path with priority 0 is the most preferred 3928 path. In the case that the list is empty, any secondary 3929 path option may be utilised when the current primary path 3930 is in use."; 3931 list candidate-secondary-path { 3932 key "secondary-path"; 3933 description 3934 "List of candidate secondary paths for this tunnel."; 3935 leaf secondary-path { 3936 type leafref { 3937 path "../../../../../secondary-paths/" 3938 + "secondary-path/name"; 3939 } 3940 description 3941 "A reference to the secondary path that should be 3942 utilised when the containing primary path option is 3943 in use."; 3944 } 3945 leaf active { 3946 type boolean; 3947 config false; 3948 description 3949 "Indicates the current active path option that has 3950 been selected of the candidate secondary paths."; 3951 } 3952 } 3953 } 3954 } 3955 } 3956 container secondary-paths { 3957 description 3958 "The set of secondary paths."; 3959 list secondary-path { 3960 key "name"; 3961 description 3962 "List of secondary paths for this tunnel."; 3963 uses secondary-path; 3964 } 3965 } 3966 container secondary-reverse-paths { 3967 description 3968 "The set of secondary reverse paths."; 3969 list secondary-reverse-path { 3970 key "name"; 3971 description 3972 "List of secondary paths for this tunnel."; 3973 uses secondary-reverse-path; 3974 } 3975 } 3976 } 3978 grouping tunnel-actions { 3979 description 3980 "Tunnel actions."; 3981 action tunnel-action { 3982 description 3983 "Tunnel action."; 3984 input { 3985 leaf action-type { 3986 type identityref { 3987 base tunnel-actions-type; 3988 } 3989 description 3990 "Tunnel action type."; 3991 } 3992 } 3993 output { 3994 leaf action-result { 3995 type identityref { 3996 base te-types:te-action-result; 3997 } 3998 description 3999 "The result of the tunnel action operation."; 4000 } 4001 } 4002 } 4003 } 4005 grouping tunnel-protection-actions { 4006 description 4007 "Protection external command actions."; 4008 action protection-external-commands { 4009 input { 4010 leaf protection-external-command { 4011 type identityref { 4012 base te-types:protection-external-commands; 4013 } 4014 description 4015 "Protection external command."; 4016 } 4017 leaf protection-group-ingress-node-id { 4018 type te-types:te-node-id; 4019 description 4020 "When specified, indicates whether the action is 4021 applied on ingress node. 4022 By default, if neither ingress nor egress node-id 4023 is set, the action applies to ingress node only."; 4024 } 4025 leaf protection-group-egress-node-id { 4026 type te-types:te-node-id; 4027 description 4028 "When specified, indicates whether the action is 4029 applied on egress node. 4031 By default, if neither ingress nor egress node-id 4032 is set, the action applies to ingress node only."; 4033 } 4034 leaf path-ref { 4035 type path-ref; 4036 description 4037 "Indicates to which path the external command applies to."; 4038 } 4039 leaf traffic-type { 4040 type enumeration { 4041 enum normal-traffic { 4042 description 4043 "The manual-switch or forced-switch command applies to 4044 the normal traffic (this Tunnel)."; 4045 } 4046 enum null-traffic { 4047 description 4048 "The manual-switch or forced-switch command applies to 4049 the null traffic."; 4050 } 4051 enum extra-traffic { 4052 description 4053 "The manual-switch or forced-switch command applies to 4054 the extra traffic (the extra-traffic Tunnel sharing 4055 protection bandwidth with this Tunnel)."; 4056 } 4057 } 4058 description 4059 "Indicates whether the manual-switch or forced-switch 4060 commands applies to the normal traffic, the null traffic 4061 or the extra-traffic."; 4062 reference 4063 "RFC4427"; 4064 } 4065 leaf extra-traffic-tunnel-ref { 4066 type tunnel-ref; 4067 description 4068 "In case there are multiple extra-traffic tunnels sharing 4069 protection bandwidth with this Tunnel (m:n protection), 4070 represents which extra-traffic Tunnel the manual-switch or 4071 forced-switch to extra-traffic command applies to."; 4072 } 4073 } 4074 } 4075 } 4077 /*** End of TE tunnel groupings ***/ 4078 /** 4079 * LSP related generic groupings 4080 */ 4082 grouping lsp-record-route-information-state { 4083 description 4084 "LSP Recorded route information grouping."; 4085 container lsp-record-route-information { 4086 description 4087 "RSVP recorded route object information."; 4088 list lsp-record-route-information { 4089 when "../../origin-type = 'ingress'" { 4090 description 4091 "Applicable on ingress LSPs only."; 4092 } 4093 key "index"; 4094 description 4095 "Record route list entry."; 4096 uses te-types:record-route-state; 4097 } 4098 } 4099 } 4101 grouping lsps-grouping { 4102 description 4103 "LSPs state operational data grouping."; 4104 container lsps { 4105 config false; 4106 description 4107 "TE LSPs state container."; 4108 list lsp { 4109 key "tunnel-name lsp-id node"; 4110 unique "source destination tunnel-id lsp-id " 4111 + "extended-tunnel-id"; 4112 description 4113 "List of LSPs associated with the tunnel."; 4114 leaf tunnel-name { 4115 type string; 4116 description "The TE tunnel name."; 4117 } 4118 leaf lsp-id { 4119 type uint16; 4120 description 4121 "Identifier used in the SENDER_TEMPLATE and the FILTER_SPEC 4122 that can be changed to allow a sender to share resources 4123 with itself."; 4124 reference 4125 "RFC3209"; 4126 } 4127 leaf node { 4128 type te-types:te-node-id; 4129 description 4130 "The node where the TE LSP state resides on."; 4131 } 4132 uses lsp-properties-state; 4133 uses lsp-record-route-information-state; 4134 } 4135 } 4136 } 4138 /*** End of TE LSP groupings ***/ 4139 /** 4140 * TE global generic groupings 4141 */ 4142 /* Global named admin-groups configuration data */ 4144 grouping named-admin-groups-properties { 4145 description 4146 "Global named administrative groups configuration 4147 grouping."; 4148 leaf name { 4149 type string; 4150 description 4151 "A string name that uniquely identifies a TE 4152 interface named admin-group."; 4153 } 4154 leaf bit-position { 4155 type uint32; 4156 description 4157 "Bit position representing the administrative group."; 4158 reference 4159 "RFC3209 and RFC7308"; 4160 } 4161 } 4163 grouping named-admin-groups { 4164 description 4165 "Global named administrative groups configuration 4166 grouping."; 4167 container named-admin-groups { 4168 description 4169 "TE named admin groups container."; 4170 list named-admin-group { 4171 if-feature "te-types:extended-admin-groups"; 4172 if-feature "te-types:named-extended-admin-groups"; 4173 key "name"; 4174 description 4175 "List of named TE admin-groups."; 4176 uses named-admin-groups-properties; 4177 } 4178 } 4179 } 4181 /* Global named admin-srlgs configuration data */ 4183 grouping named-srlgs { 4184 description 4185 "Global named SRLGs configuration grouping."; 4186 container named-srlgs { 4187 description 4188 "TE named SRLGs container."; 4189 list named-srlg { 4190 if-feature "te-types:named-srlg-groups"; 4191 key "name"; 4192 description 4193 "A list of named SRLG groups."; 4194 leaf name { 4195 type string; 4196 description 4197 "A string name that uniquely identifies a TE 4198 interface named SRLG."; 4199 } 4200 leaf group { 4201 type te-types:srlg; 4202 description 4203 "An SRLG value."; 4204 } 4205 leaf cost { 4206 type uint32; 4207 description 4208 "SRLG associated cost. Used during path to append 4209 the path cost when traversing a link with this SRLG."; 4210 } 4211 } 4212 } 4213 } 4215 /* Global named paths constraints configuration data */ 4217 grouping path-constraints-common { 4218 description 4219 "Global named path constraints configuration 4220 grouping."; 4221 uses te-types:common-path-constraints-attributes; 4222 uses te-types:generic-path-disjointness; 4223 uses te-types:path-constraints-route-objects; 4224 container path-in-segment { 4225 presence "The end-to-end tunnel starts in a previous domain; 4226 this tunnel is a segment in the current domain."; 4227 description 4228 "If an end-to-end tunnel crosses multiple domains using 4229 the same technology, some additional constraints have to be 4230 taken in consideration in each domain. 4231 This tunnel is a segment that needs to be coordinated 4232 with previous segment stitched on head-end side."; 4233 uses te-types:label-set-info; 4234 } 4235 container path-out-segment { 4236 presence 4237 "The end-to-end tunnel is not terminated in this domain; 4238 this tunnel is a segment in the current domain."; 4239 description 4240 "If an end-to-end tunnel crosses multiple domains using 4241 the same technology, some additional constraints have to be 4242 taken in consideration in each domain. 4243 This tunnel is a segment that needs to be coordinated 4244 with previous segment stitched on head-end side."; 4245 uses te-types:label-set-info; 4246 } 4247 } 4249 grouping named-path-constraints { 4250 description 4251 "Global named path constraints configuration 4252 grouping."; 4253 container named-path-constraints { 4254 description 4255 "TE named path constraints container."; 4256 list named-path-constraint { 4257 if-feature "te-types:named-path-constraints"; 4258 key "name"; 4259 leaf name { 4260 type string; 4261 description 4262 "A string name that uniquely identifies a 4263 path constraint set."; 4264 } 4265 uses path-constraints-common; 4266 description 4267 "A list of named path constraints."; 4268 } 4269 } 4270 } 4271 /* TE globals container data */ 4273 grouping globals-grouping { 4274 description 4275 "Globals TE system-wide configuration data grouping."; 4276 container globals { 4277 description 4278 "Globals TE system-wide configuration data container."; 4279 uses named-admin-groups; 4280 uses named-srlgs; 4281 uses named-path-constraints; 4282 } 4283 } 4285 /* TE tunnels container data */ 4287 grouping tunnels-grouping { 4288 description 4289 "Tunnels TE configuration data grouping."; 4290 container tunnels { 4291 description 4292 "Tunnels TE configuration data container."; 4293 list tunnel { 4294 key "name"; 4295 description 4296 "The list of TE tunnels."; 4297 uses tunnel-properties; 4298 uses tunnel-actions; 4299 uses tunnel-protection-actions; 4300 } 4301 } 4302 } 4304 /* TE LSPs ephemeral state container data */ 4306 grouping lsp-properties-state { 4307 description 4308 "LSPs state operational data grouping."; 4309 leaf source { 4310 type te-types:te-node-id; 4311 description 4312 "Tunnel sender address extracted from 4313 SENDER_TEMPLATE object."; 4314 reference 4315 "RFC3209"; 4316 } 4317 leaf destination { 4318 type te-types:te-node-id; 4319 description 4320 "The tunnel endpoint address extracted from SESSION object."; 4321 reference 4322 "RFC3209"; 4323 } 4324 leaf tunnel-id { 4325 type uint16; 4326 description 4327 "The tunnel identifier used in the SESSION that remains constant 4328 over the life of the tunnel."; 4329 reference 4330 "RFC3209"; 4331 } 4332 leaf extended-tunnel-id { 4333 type yang:dotted-quad; 4334 description 4335 "The LSP Extended Tunnel ID."; 4336 reference 4337 "RFC3209"; 4338 } 4339 leaf operational-state { 4340 type identityref { 4341 base te-types:lsp-state-type; 4342 } 4343 description 4344 "The LSP operational state."; 4345 } 4346 leaf signaling-type { 4347 type identityref { 4348 base te-types:path-signaling-type; 4349 } 4350 description 4351 "The signaling protocol used to set up this LSP."; 4352 } 4353 leaf origin-type { 4354 type enumeration { 4355 enum ingress { 4356 description 4357 "Origin ingress."; 4358 } 4359 enum egress { 4360 description 4361 "Origin egress."; 4362 } 4363 enum transit { 4364 description 4365 "Origin transit."; 4366 } 4368 } 4369 default "ingress"; 4370 description 4371 "The origin of the LSP relative to the location of the local 4372 switch in the path."; 4373 } 4374 leaf lsp-resource-status { 4375 type enumeration { 4376 enum primary { 4377 description 4378 "A primary LSP is a fully established LSP for which the 4379 resource allocation has been committed at the data 4380 plane."; 4381 } 4382 enum secondary { 4383 description 4384 "A secondary LSP is an LSP that has been provisioned 4385 in the control plane only; e.g. resource allocation 4386 has not been committed at the data plane."; 4387 } 4388 } 4389 default "primary"; 4390 description 4391 "LSP resource allocation state."; 4392 reference 4393 "RFC4872, section 4.2.1"; 4394 } 4395 uses protection-restoration-properties-state; 4396 } 4398 /*** End of TE global groupings ***/ 4399 /** 4400 * TE container 4401 */ 4403 container te { 4404 presence "Enable TE feature."; 4405 description 4406 "TE global container."; 4407 /* TE Global Data */ 4408 uses globals-grouping; 4410 /* TE Tunnel Data */ 4411 uses tunnels-grouping; 4413 /* TE LSPs Data */ 4414 uses lsps-grouping; 4415 } 4416 /* TE Tunnel RPCs/execution Data */ 4418 rpc tunnels-path-compute { 4419 description 4420 "TE tunnels RPC nodes."; 4421 input { 4422 container path-compute-info { 4423 /* An external path compute module may augment this target. */ 4424 description 4425 "RPC input information."; 4426 } 4427 } 4428 output { 4429 container path-compute-result { 4430 /* An external path compute module may augment this target. */ 4431 description 4432 "RPC output information."; 4433 } 4434 } 4435 } 4437 rpc tunnels-actions { 4438 description 4439 "TE tunnels actions RPC"; 4440 input { 4441 container tunnel-info { 4442 description 4443 "TE tunnel information."; 4444 choice filter-type { 4445 mandatory true; 4446 description 4447 "Filter choice."; 4448 case all-tunnels { 4449 leaf all { 4450 type empty; 4451 mandatory true; 4452 description 4453 "Apply action on all TE tunnels."; 4454 } 4455 } 4456 case one-tunnel { 4457 leaf tunnel { 4458 type tunnel-ref; 4459 description 4460 "Apply action on the specific TE tunnel."; 4461 } 4462 } 4463 } 4465 } 4466 container action-info { 4467 description 4468 "TE tunnel action information."; 4469 leaf action { 4470 type identityref { 4471 base tunnel-actions-type; 4472 } 4473 description 4474 "The action type."; 4475 } 4476 leaf disruptive { 4477 when "derived-from-or-self(../action, " 4478 + "'te:tunnel-action-reoptimize')"; 4479 type empty; 4480 description 4481 "Specifies whether or not the reoptimization action 4482 is allowed to be disruptive."; 4483 } 4484 } 4485 } 4486 output { 4487 leaf action-result { 4488 type identityref { 4489 base te-types:te-action-result; 4490 } 4491 description 4492 "The result of the tunnel action operation."; 4493 } 4494 } 4495 } 4496 } 4497 4499 Figure 8: generic TE YANG module 4501 6. TE Device YANG Model 4503 The device TE YANG module ('ietf-te-device') models data that is 4504 specific to managing a TE device. This module augments the generic 4505 TE YANG module. 4507 6.1. Module Structure 4508 6.1.1. TE Interfaces 4510 This branch of the model manages TE interfaces that are present on a 4511 device. Examples of TE interface properties are: 4513 o Maximum reservable bandwidth, bandwidth constraints (BC) 4515 o Flooding parameters 4517 * Flooding intervals and threshold values 4519 o interface attributes 4521 * (Extended) administrative groups 4523 * SRLG values 4525 * TE metric value 4527 o Fast reroute backup tunnel properties (such as static, auto- 4528 tunnel) 4530 The derived state associated with interfaces is grouped under the 4531 interface "state" sub-container as shown in Figure 9. This covers 4532 state data such as: 4534 o Bandwidth information: maximum bandwidth, available bandwidth at 4535 different priorities and for each class-type (CT) 4537 o List of admitted LSPs 4539 * Name, bandwidth value and pool, time, priority 4541 o Statistics: state counters, flooding counters, admission counters 4542 (accepted/rejected), preemption counters 4544 o Adjacency information 4546 * Neighbor address 4548 * Metric value 4550 module: ietf-te-device 4551 augment /te:te: 4552 +--rw interfaces 4553 . 4554 +-- rw te-dev:te-attributes 4555 <> 4556 . 4557 +-- ro state 4558 <> 4560 Figure 9: TE interface state 4562 6.2. Tree Diagram 4564 Figure 10 shows the tree diagram of the device TE YANG model defined 4565 in modules 'ietf-te.yang'. 4567 module: ietf-te-device 4568 augment /te:te: 4569 +--rw interfaces 4570 | +--rw threshold-type? enumeration 4571 | +--rw delta-percentage? rt-types:percentage 4572 | +--rw threshold-specification? enumeration 4573 | +--rw up-thresholds* rt-types:percentage 4574 | +--rw down-thresholds* rt-types:percentage 4575 | +--rw up-down-thresholds* rt-types:percentage 4576 | +--rw interface* [interface] 4577 | +--rw interface if:interface-ref 4578 | +--rw te-metric? 4579 | | te-types:te-metric 4580 | +--rw (admin-group-type)? 4581 | | +--:(value-admin-groups) 4582 | | | +--rw (value-admin-group-type)? 4583 | | | +--:(admin-groups) 4584 | | | | +--rw admin-group? 4585 | | | | te-types:admin-group 4586 | | | +--:(extended-admin-groups) 4587 | | | {te-types:extended-admin-groups}? 4588 | | | +--rw extended-admin-group? 4589 | | | te-types:extended-admin-group 4590 | | +--:(named-admin-groups) 4591 | | +--rw named-admin-groups* [named-admin-group] 4592 | | {te-types:extended-admin-groups, 4593 te-types:named-extended-admin-groups}? 4594 | | +--rw named-admin-group leafref 4595 | +--rw (srlg-type)? 4596 | | +--:(value-srlgs) 4597 | | | +--rw values* [value] 4598 | | | +--rw value uint32 4599 | | +--:(named-srlgs) 4600 | | +--rw named-srlgs* [named-srlg] 4601 | | {te-types:named-srlg-groups}? 4602 | | +--rw named-srlg leafref 4603 | +--rw threshold-type? enumeration 4604 | +--rw delta-percentage? 4605 | | rt-types:percentage 4606 | +--rw threshold-specification? enumeration 4607 | +--rw up-thresholds* 4608 | | rt-types:percentage 4609 | +--rw down-thresholds* 4610 | | rt-types:percentage 4611 | +--rw up-down-thresholds* 4612 | | rt-types:percentage 4613 | +--rw switching-capabilities* [switching-capability] 4614 | | +--rw switching-capability identityref 4615 | | +--rw encoding? identityref 4616 | +--ro state 4617 | +--ro te-advertisements-state 4618 | +--ro flood-interval? uint32 4619 | +--ro last-flooded-time? uint32 4620 | +--ro next-flooded-time? uint32 4621 | +--ro last-flooded-trigger? enumeration 4622 | +--ro advertised-level-areas* [level-area] 4623 | +--ro level-area uint32 4624 +--rw performance-thresholds 4625 augment /te:te/te:globals: 4626 +--rw lsp-install-interval? uint32 4627 +--rw lsp-cleanup-interval? uint32 4628 +--rw lsp-invalidation-interval? uint32 4629 augment /te:te/te:tunnels/te:tunnel: 4630 +--rw path-invalidation-action? identityref 4631 +--rw lsp-install-interval? uint32 4632 +--rw lsp-cleanup-interval? uint32 4633 +--rw lsp-invalidation-interval? uint32 4634 augment /te:te/te:lsps/te:lsp: 4635 +--ro lsp-timers 4636 | +--ro life-time? uint32 4637 | +--ro time-to-install? uint32 4638 | +--ro time-to-destroy? uint32 4639 +--ro downstream-info 4640 | +--ro nhop? te-types:te-tp-id 4641 | +--ro outgoing-interface? if:interface-ref 4642 | +--ro neighbor 4643 | | +--ro id? te-generic-node-id 4644 | | +--ro type? enumeration 4645 | +--ro label? rt-types:generalized-label 4646 +--ro upstream-info 4647 +--ro phop? te-types:te-tp-id 4648 +--ro neighbor 4649 | +--ro id? te-generic-node-id 4650 | +--ro type? enumeration 4651 +--ro label? rt-types:generalized-label 4652 augment /te:te/te:tunnels/te:tunnel/te:secondary-paths 4653 /te:secondary-path/te:lsps/te:lsp: 4654 +--ro lsp-timers 4655 | +--ro life-time? uint32 4656 | +--ro time-to-install? uint32 4657 | +--ro time-to-destroy? uint32 4658 +--ro downstream-info 4659 | +--ro nhop? te-types:te-tp-id 4660 | +--ro outgoing-interface? if:interface-ref 4661 | +--ro neighbor 4662 | | +--ro id? te-generic-node-id 4663 | | +--ro type? enumeration 4664 | +--ro label? rt-types:generalized-label 4665 +--ro upstream-info 4666 +--ro phop? te-types:te-tp-id 4667 +--ro neighbor 4668 | +--ro id? te-generic-node-id 4669 | +--ro type? enumeration 4670 +--ro label? rt-types:generalized-label 4671 augment /te:te/te:tunnels/te:tunnel/te:primary-paths 4672 /te:primary-path/te:lsps/te:lsp: 4673 +--ro lsp-timers 4674 | +--ro life-time? uint32 4675 | +--ro time-to-install? uint32 4676 | +--ro time-to-destroy? uint32 4677 +--ro downstream-info 4678 | +--ro nhop? te-types:te-tp-id 4679 | +--ro outgoing-interface? if:interface-ref 4680 | +--ro neighbor 4681 | | +--ro id? te-generic-node-id 4682 | | +--ro type? enumeration 4683 | +--ro label? rt-types:generalized-label 4684 +--ro upstream-info 4685 +--ro phop? te-types:te-tp-id 4686 +--ro neighbor 4687 | +--ro id? te-generic-node-id 4688 | +--ro type? enumeration 4689 +--ro label? rt-types:generalized-label 4691 rpcs: 4692 +---x link-state-update 4693 +---w input 4694 +---w (filter-type) 4695 +--:(match-all) 4696 | +---w all empty 4697 +--:(match-one-interface) 4698 +---w interface? if:interface-ref 4700 Figure 10: TE generic YANG model tree diagram. 4702 6.3. YANG Module 4704 The device TE YANG module 'ietf-te-device' imports the following 4705 module(s): 4707 o ietf-yang-types and ietf-inet-types defined in [RFC6991] 4709 o ietf-interfaces defined in [RFC8343] 4711 o ietf-routing-types defined in [RFC8294] 4713 o ietf-te-types defined in [RFC8776] 4715 o ietf-te defined in this document 4717 file "ietf-te-device@2020-07-12.yang" 4719 module ietf-te-device { 4720 yang-version 1.1; 4721 namespace "urn:ietf:params:xml:ns:yang:ietf-te-device"; 4723 /* Replace with IANA when assigned */ 4725 prefix te-dev; 4727 /* Import TE module */ 4729 import ietf-te { 4730 prefix te; 4731 reference 4732 "draft-ietf-teas-yang-te: A YANG Data Model for Traffic 4733 Engineering Tunnels and Interfaces"; 4734 } 4736 /* Import TE types */ 4738 import ietf-te-types { 4739 prefix te-types; 4740 reference 4741 "RFC8776: Common YANG Data Types for Traffic Engineering."; 4742 } 4743 import ietf-interfaces { 4744 prefix if; 4745 reference 4746 "RFC8343: A YANG Data Model for Interface Management"; 4747 } 4748 import ietf-routing-types { 4749 prefix rt-types; 4750 reference 4751 "RFC8294: Common YANG Data Types for the Routing Area"; 4752 } 4754 organization 4755 "IETF Traffic Engineering Architecture and Signaling (TEAS) 4756 Working Group"; 4757 contact 4758 "WG Web: 4759 WG List: 4761 Editor: Tarek Saad 4762 4764 Editor: Rakesh Gandhi 4765 4767 Editor: Vishnu Pavan Beeram 4768 4770 Editor: Himanshu Shah 4771 4773 Editor: Xufeng Liu 4774 4776 Editor: Igor Bryskin 4777 "; 4778 description 4779 "YANG data module for TE device configurations, 4780 state, and RPCs. The model fully conforms to the 4781 Network Management Datastore Architecture (NMDA). 4783 Copyright (c) 2019 IETF Trust and the persons 4784 identified as authors of the code. All rights reserved. 4786 Redistribution and use in source and binary forms, with or 4787 without modification, is permitted pursuant to, and subject 4788 to the license terms contained in, the Simplified BSD License 4789 set forth in Section 4.c of the IETF Trust's Legal Provisions 4790 Relating to IETF Documents 4791 (https://trustee.ietf.org/license-info). 4792 This version of this YANG module is part of RFC XXXX; see 4793 the RFC itself for full legal notices."; 4795 // RFC Ed.: replace XXXX with actual RFC number and remove this 4796 // note. 4797 // RFC Ed.: update the date below with the date of RFC publication 4798 // and remove this note. 4800 revision 2020-07-12 { 4801 description 4802 "Latest update to TE device YANG module."; 4803 reference 4804 "RFCXXXX: A YANG Data Model for Traffic Engineering Tunnels 4805 and Interfaces"; 4806 } 4808 /** 4809 * TE LSP device state grouping 4810 */ 4812 grouping lsps-device-info { 4813 description 4814 "TE LSP device state grouping."; 4815 container lsp-timers { 4816 when "../te:origin-type = 'ingress'" { 4817 description 4818 "Applicable to ingress LSPs only."; 4819 } 4820 description 4821 "Ingress LSP timers."; 4822 leaf life-time { 4823 type uint32; 4824 units "seconds"; 4825 description 4826 "TE LSP life time."; 4827 } 4828 leaf time-to-install { 4829 type uint32; 4830 units "seconds"; 4831 description 4832 "TE LSP installation delay time."; 4833 } 4834 leaf time-to-destroy { 4835 type uint32; 4836 units "seconds"; 4837 description 4838 "TE LSP expiration delay time."; 4839 } 4840 } 4841 container downstream-info { 4842 when "../te:origin-type != 'egress'" { 4843 description 4844 "Downstream information of the LSP."; 4845 } 4846 description 4847 "downstream information."; 4848 leaf nhop { 4849 type te-types:te-tp-id; 4850 description 4851 "downstream nexthop address."; 4852 } 4853 leaf outgoing-interface { 4854 type if:interface-ref; 4855 description 4856 "downstream interface."; 4857 } 4858 container neighbor { 4859 uses te:te-generic-node-id; 4860 description 4861 "downstream neighbor address."; 4862 } 4863 leaf label { 4864 type rt-types:generalized-label; 4865 description 4866 "downstream label."; 4867 } 4868 } 4869 container upstream-info { 4870 when "../te:origin-type != 'ingress'" { 4871 description 4872 "Upstream information of the LSP."; 4873 } 4874 description 4875 "upstream information."; 4876 leaf phop { 4877 type te-types:te-tp-id; 4878 description 4879 "upstream nexthop or previous-hop address."; 4880 } 4881 container neighbor { 4882 uses te:te-generic-node-id; 4883 description 4884 "upstream neighbor address."; 4886 } 4887 leaf label { 4888 type rt-types:generalized-label; 4889 description 4890 "upstream label."; 4891 } 4892 } 4893 } 4895 /** 4896 * Device general groupings. 4897 */ 4899 grouping lsp-device-timers { 4900 description 4901 "Device TE LSP timers configs."; 4902 leaf lsp-install-interval { 4903 type uint32; 4904 units "seconds"; 4905 description 4906 "TE LSP installation delay time."; 4907 } 4908 leaf lsp-cleanup-interval { 4909 type uint32; 4910 units "seconds"; 4911 description 4912 "TE LSP cleanup delay time."; 4913 } 4914 leaf lsp-invalidation-interval { 4915 type uint32; 4916 units "seconds"; 4917 description 4918 "TE LSP path invalidation before taking action delay time."; 4919 } 4920 } 4922 /** 4923 * TE global device groupings 4924 */ 4925 /* TE interface container data */ 4927 grouping interfaces-grouping { 4928 description 4929 "TE interface configuration data grouping."; 4930 container interfaces { 4931 description 4932 "Configuration data model for TE interfaces."; 4933 uses te-all-attributes; 4934 list interface { 4935 key "interface"; 4936 description 4937 "TE interfaces."; 4938 leaf interface { 4939 type if:interface-ref; 4940 description 4941 "TE interface name."; 4942 } 4943 /* TE interface parameters */ 4944 uses te-attributes; 4945 } 4946 } 4947 } 4949 /** 4950 * TE interface device groupings 4951 */ 4953 grouping te-admin-groups-config { 4954 description 4955 "TE interface affinities grouping."; 4956 choice admin-group-type { 4957 description 4958 "TE interface administrative groups 4959 representation type."; 4960 case value-admin-groups { 4961 choice value-admin-group-type { 4962 description 4963 "choice of admin-groups."; 4964 case admin-groups { 4965 description 4966 "Administrative group/Resource 4967 class/Color."; 4968 leaf admin-group { 4969 type te-types:admin-group; 4970 description 4971 "TE interface administrative group."; 4972 } 4973 } 4974 case extended-admin-groups { 4975 if-feature "te-types:extended-admin-groups"; 4976 description 4977 "Extended administrative group/Resource 4978 class/Color."; 4979 leaf extended-admin-group { 4980 type te-types:extended-admin-group; 4981 description 4982 "TE interface extended administrative group."; 4983 } 4984 } 4985 } 4986 } 4987 case named-admin-groups { 4988 list named-admin-groups { 4989 if-feature "te-types:extended-admin-groups"; 4990 if-feature "te-types:named-extended-admin-groups"; 4991 key "named-admin-group"; 4992 description 4993 "A list of named admin-group entries."; 4994 leaf named-admin-group { 4995 type leafref { 4996 path "../../../../te:globals/" 4997 + "te:named-admin-groups/te:named-admin-group/" 4998 + "te:name"; 4999 } 5000 description 5001 "A named admin-group entry."; 5002 } 5003 } 5004 } 5005 } 5006 } 5008 /* TE interface SRLGs */ 5010 grouping te-srlgs-config { 5011 description 5012 "TE interface SRLG grouping."; 5013 choice srlg-type { 5014 description 5015 "Choice of SRLG configuration."; 5016 case value-srlgs { 5017 list values { 5018 key "value"; 5019 description 5020 "List of SRLG values that 5021 this link is part of."; 5022 leaf value { 5023 type uint32 { 5024 range "0..4294967295"; 5025 } 5026 description 5027 "Value of the SRLG"; 5028 } 5029 } 5031 } 5032 case named-srlgs { 5033 list named-srlgs { 5034 if-feature "te-types:named-srlg-groups"; 5035 key "named-srlg"; 5036 description 5037 "A list of named SRLG entries."; 5038 leaf named-srlg { 5039 type leafref { 5040 path "../../../../te:globals/" 5041 + "te:named-srlgs/te:named-srlg/te:name"; 5042 } 5043 description 5044 "A named SRLG entry."; 5045 } 5046 } 5047 } 5048 } 5049 } 5051 grouping te-igp-flooding-bandwidth-config { 5052 description 5053 "Configurable items for igp flooding bandwidth 5054 threshold configuration."; 5055 leaf threshold-type { 5056 type enumeration { 5057 enum delta { 5058 description 5059 "'delta' indicates that the local 5060 system should flood IGP updates when a 5061 change in reserved bandwidth >= the specified 5062 delta occurs on the interface."; 5063 } 5064 enum threshold-crossed { 5065 description 5066 "THRESHOLD-CROSSED indicates that 5067 the local system should trigger an update (and 5068 hence flood) the reserved bandwidth when the 5069 reserved bandwidth changes such that it crosses, 5070 or becomes equal to one of the threshold values."; 5071 } 5072 } 5073 description 5074 "The type of threshold that should be used to specify the 5075 values at which bandwidth is flooded. 'delta' indicates that 5076 the local system should flood IGP updates when a change in 5077 reserved bandwidth >= the specified delta occurs on the 5078 interface. Where 'threshold-crossed' is specified, the local 5079 system should trigger an update (and hence flood) the 5080 reserved bandwidth when the reserved bandwidth changes such 5081 that it crosses, or becomes equal to one of the threshold 5082 values."; 5083 } 5084 leaf delta-percentage { 5085 when "../threshold-type = 'delta'" { 5086 description 5087 "The percentage delta can only be specified when the 5088 threshold type is specified to be a percentage delta of 5089 the reserved bandwidth."; 5090 } 5091 type rt-types:percentage; 5092 description 5093 "The percentage of the maximum-reservable-bandwidth 5094 considered as the delta that results in an IGP update 5095 being flooded."; 5096 } 5097 leaf threshold-specification { 5098 when "../threshold-type = 'threshold-crossed'" { 5099 description 5100 "The selection of whether mirrored or separate threshold 5101 values are to be used requires user specified thresholds to 5102 be set."; 5103 } 5104 type enumeration { 5105 enum mirrored-up-down { 5106 description 5107 "mirrored-up-down indicates that a single set of 5108 threshold values should be used for both increasing 5109 and decreasing bandwidth when determining whether 5110 to trigger updated bandwidth values to be flooded 5111 in the IGP TE extensions."; 5112 } 5113 enum separate-up-down { 5114 description 5115 "separate-up-down indicates that a separate 5116 threshold values should be used for the increasing 5117 and decreasing bandwidth when determining whether 5118 to trigger updated bandwidth values to be flooded 5119 in the IGP TE extensions."; 5120 } 5121 } 5122 description 5123 "This value specifies whether a single set of threshold 5124 values should be used for both increasing and decreasing 5125 bandwidth when determining whether to trigger updated 5126 bandwidth values to be flooded in the IGP TE extensions. 5128 'mirrored-up-down' indicates that a single value (or set of 5129 values) should be used for both increasing and decreasing 5130 values, where 'separate-up-down' specifies that the increasing 5131 and decreasing values will be separately specified."; 5132 } 5133 leaf-list up-thresholds { 5134 when "../threshold-type = 'threshold-crossed'" 5135 + "and ../threshold-specification = 'separate-up-down'" { 5136 description 5137 "A list of up-thresholds can only be specified when the 5138 bandwidth update is triggered based on crossing a 5139 threshold and separate up and down thresholds are 5140 required."; 5141 } 5142 type rt-types:percentage; 5143 description 5144 "The thresholds (expressed as a percentage of the maximum 5145 reservable bandwidth) at which bandwidth updates are to be 5146 triggered when the bandwidth is increasing."; 5147 } 5148 leaf-list down-thresholds { 5149 when "../threshold-type = 'threshold-crossed'" 5150 + "and ../threshold-specification = 'separate-up-down'" { 5151 description 5152 "A list of down-thresholds can only be specified when the 5153 bandwidth update is triggered based on crossing a 5154 threshold and separate up and down thresholds are 5155 required."; 5156 } 5157 type rt-types:percentage; 5158 description 5159 "The thresholds (expressed as a percentage of the maximum 5160 reservable bandwidth) at which bandwidth updates are to be 5161 triggered when the bandwidth is decreasing."; 5162 } 5163 leaf-list up-down-thresholds { 5164 when "../threshold-type = 'threshold-crossed'" 5165 + "and ../threshold-specification = 'mirrored-up-down'" { 5166 description 5167 "A list of thresholds corresponding to both increasing 5168 and decreasing bandwidths can be specified only when an 5169 update is triggered based on crossing a threshold, and 5170 the same up and down thresholds are required."; 5171 } 5172 type rt-types:percentage; 5173 description 5174 "The thresholds (expressed as a percentage of the maximum 5175 reservable bandwidth of the interface) at which bandwidth 5176 updates are flooded - used both when the bandwidth is 5177 increasing and decreasing."; 5178 } 5179 } 5181 /* TE interface metric */ 5183 grouping te-metric-config { 5184 description 5185 "TE interface metric grouping."; 5186 leaf te-metric { 5187 type te-types:te-metric; 5188 description 5189 "TE interface metric."; 5190 } 5191 } 5193 /* TE interface switching capabilities */ 5195 grouping te-switching-cap-config { 5196 description 5197 "TE interface switching capabilities."; 5198 list switching-capabilities { 5199 key "switching-capability"; 5200 description 5201 "List of interface capabilities for this interface."; 5202 leaf switching-capability { 5203 type identityref { 5204 base te-types:switching-capabilities; 5205 } 5206 description 5207 "Switching Capability for this interface."; 5208 } 5209 leaf encoding { 5210 type identityref { 5211 base te-types:lsp-encoding-types; 5212 } 5213 description 5214 "Encoding supported by this interface."; 5215 } 5216 } 5217 } 5219 grouping te-advertisements-state { 5220 description 5221 "TE interface advertisements state grouping."; 5222 container te-advertisements-state { 5223 description 5224 "TE interface advertisements state container."; 5225 leaf flood-interval { 5226 type uint32; 5227 description 5228 "The periodic flooding interval."; 5229 } 5230 leaf last-flooded-time { 5231 type uint32; 5232 units "seconds"; 5233 description 5234 "Time elapsed since last flooding in seconds."; 5235 } 5236 leaf next-flooded-time { 5237 type uint32; 5238 units "seconds"; 5239 description 5240 "Time remained for next flooding in seconds."; 5241 } 5242 leaf last-flooded-trigger { 5243 type enumeration { 5244 enum link-up { 5245 description 5246 "Link-up flooding trigger."; 5247 } 5248 enum link-down { 5249 description 5250 "Link-down flooding trigger."; 5251 } 5252 enum threshold-up { 5253 description 5254 "Bandwidth reservation up threshold."; 5255 } 5256 enum threshold-down { 5257 description 5258 "Bandwidth reservation down threshold."; 5259 } 5260 enum bandwidth-change { 5261 description 5262 "Bandwidth capacity change."; 5263 } 5264 enum user-initiated { 5265 description 5266 "Initiated by user."; 5267 } 5268 enum srlg-change { 5269 description 5270 "SRLG property change."; 5271 } 5272 enum periodic-timer { 5273 description 5274 "Periodic timer expired."; 5275 } 5276 } 5277 default "periodic-timer"; 5278 description 5279 "Trigger for the last flood."; 5280 } 5281 list advertised-level-areas { 5282 key "level-area"; 5283 description 5284 "List of level-areas that the TE interface is advertised 5285 in."; 5286 leaf level-area { 5287 type uint32; 5288 description 5289 "The IGP area or level where the TE interface link state 5290 is advertised in."; 5291 } 5292 } 5293 } 5294 } 5296 /* TE interface attributes grouping */ 5298 grouping te-attributes { 5299 description 5300 "TE attributes configuration grouping."; 5301 uses te-metric-config; 5302 uses te-admin-groups-config; 5303 uses te-srlgs-config; 5304 uses te-igp-flooding-bandwidth-config; 5305 uses te-switching-cap-config; 5306 container state { 5307 config false; 5308 description 5309 "State parameters for interface TE metric."; 5310 uses te-advertisements-state; 5311 } 5312 } 5314 grouping te-all-attributes { 5315 description 5316 "TE attributes configuration grouping for all 5317 interfaces."; 5318 uses te-igp-flooding-bandwidth-config; 5319 } 5320 /*** End of TE interfaces device groupings ***/ 5321 /** 5322 * TE device augmentations 5323 */ 5325 augment "/te:te" { 5326 description 5327 "TE global container."; 5328 /* TE Interface Configuration Data */ 5329 uses interfaces-grouping; 5330 container performance-thresholds { 5331 description 5332 "Performance parameters configurable thresholds."; 5333 } 5334 } 5336 /* TE globals device augmentation */ 5338 augment "/te:te/te:globals" { 5339 description 5340 "Global TE device specific configuration parameters."; 5341 uses lsp-device-timers; 5342 } 5344 /* TE tunnels device configuration augmentation */ 5346 augment "/te:te/te:tunnels/te:tunnel" { 5347 description 5348 "Tunnel device dependent augmentation."; 5349 leaf path-invalidation-action { 5350 type identityref { 5351 base te-types:path-invalidation-action-type; 5352 } 5353 description 5354 "Tunnel path invalidation action."; 5355 } 5356 uses lsp-device-timers; 5357 } 5359 /* TE LSPs device state augmentation */ 5361 augment "/te:te/te:lsps/te:lsp" { 5362 description 5363 "TE LSP device dependent augmentation."; 5364 uses lsps-device-info; 5365 } 5367 /* TE interfaces RPCs/execution Data */ 5368 rpc link-state-update { 5369 description 5370 "Triggers a link state update for the specific interface."; 5371 input { 5372 choice filter-type { 5373 mandatory true; 5374 description 5375 "Filter choice."; 5376 case match-all { 5377 leaf all { 5378 type empty; 5379 mandatory true; 5380 description 5381 "Match all TE interfaces."; 5382 } 5383 } 5384 case match-one-interface { 5385 leaf interface { 5386 type if:interface-ref; 5387 description 5388 "Match a specific TE interface."; 5389 } 5390 } 5391 } 5392 } 5393 } 5394 } 5395 5397 Figure 11: TE device specific YANG module 5399 7. Notifications 5401 Notifications are a key component of any topology data model. 5403 [RFC8639] and [RFC8641] define a subscription mechanism and a push 5404 mechanism for YANG datastores. These mechanisms currently allow the 5405 user to: 5407 o Subscribe to notifications on a per-client basis. 5409 o Specify subtree filters or XML Path Language (XPath) filters so 5410 that only contents of interest will be sent. 5412 o Specify either periodic or on-demand notifications. 5414 8. TE Generic and Helper YANG Modules 5416 9. IANA Considerations 5418 This document registers the following URIs in the IETF XML registry 5419 [RFC3688]. Following the format in [RFC3688], the following 5420 registrations are requested to be made. 5422 URI: urn:ietf:params:xml:ns:yang:ietf-te 5423 Registrant Contact: The IESG. 5424 XML: N/A, the requested URI is an XML namespace. 5426 URI: urn:ietf:params:xml:ns:yang:ietf-te-device 5427 Registrant Contact: The IESG. 5428 XML: N/A, the requested URI is an XML namespace. 5430 This document registers two YANG modules in the YANG Module Names 5431 registry [RFC6020]. 5433 Name: ietf-te 5434 Namespace: urn:ietf:params:xml:ns:yang:ietf-te 5435 Prefix: te 5436 Reference: RFCXXXX 5438 Name: ietf-te-device 5439 Namespace: urn:ietf:params:xml:ns:yang:ietf-te-device 5440 Prefix: te-device 5441 Reference: RFCXXXX 5443 10. Security Considerations 5445 The YANG module defined in this memo is designed to be accessed via 5446 the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the 5447 secure transport layer and the mandatory-to-implement secure 5448 transport is SSH [RFC6242]. The NETCONF access control model 5449 [RFC8341] provides means to restrict access for particular NETCONF 5451 users to a pre-configured subset of all available NETCONF protocol 5452 operations and content. 5454 There are a number of data nodes defined in the YANG module which are 5455 writable/creatable/deletable (i.e., config true, which is the 5456 default). These data nodes may be considered sensitive or vulnerable 5457 in some network environments. Write operations (e.g., ) 5458 to these data nodes without proper protection can have a negative 5459 effect on network operations. Following are the subtrees and data 5460 nodes and their sensitivity/vulnerability: 5462 "/te/globals": This module specifies the global TE configurations on 5463 a device. Unauthorized access to this container could cause the 5464 device to ignore packets it should receive and process. 5466 "/te/tunnels": This list specifies the configured TE tunnels on a 5467 device. Unauthorized access to this list could cause the device to 5468 ignore packets it should receive and process. 5470 "/te/lsps-state": This list specifies the state derived LSPs. 5471 Unauthorized access to this list could cause the device to ignore 5472 packets it should receive and process. 5474 "/te/interfaces": This list specifies the configured TE interfaces on 5475 a device. Unauthorized access to this list could cause the device to 5476 ignore packets it should receive and process. 5478 11. Acknowledgement 5480 The authors would like to thank the members of the multi-vendor YANG 5481 design team who are involved in the definition of this model. 5483 The authors would like to thank Tom Petch for reviewing and providing 5484 useful feedback about the document. The authors would also like to 5485 thank Loa Andersson, Lou Berger, Sergio Belotti, Italo Busi, Carlo 5486 Perocchio, Francesco Lazzeri, Aihua Guo, Dhruv Dhody, for providing 5487 useful feedback on this document. 5489 12. Contributors 5490 Himanshu Shah 5491 Ciena 5493 Email: hshah@ciena.com 5495 Xia Chen 5496 Huawei Technologies 5498 Email: jescia.chenxia@huawei.com 5500 Raqib Jones 5501 Brocade 5503 Email: raqib@Brocade.com 5505 Bin Wen 5506 Comcast 5508 Email: Bin_Wen@cable.comcast.com 5510 13. References 5512 13.1. Normative References 5514 [I-D.ietf-teas-yang-rsvp] 5515 Beeram, V., Saad, T., Gandhi, R., Liu, X., and I. Bryskin, 5516 "A YANG Data Model for Resource Reservation Protocol 5517 (RSVP)", draft-ietf-teas-yang-rsvp-12 (work in progress), 5518 January 2020. 5520 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 5521 Requirement Levels", BCP 14, RFC 2119, 5522 DOI 10.17487/RFC2119, March 1997, 5523 . 5525 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 5526 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 5527 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 5528 . 5530 [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label 5531 Switching (GMPLS) Signaling Resource ReserVation Protocol- 5532 Traffic Engineering (RSVP-TE) Extensions", RFC 3473, 5533 DOI 10.17487/RFC3473, January 2003, 5534 . 5536 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 5537 DOI 10.17487/RFC3688, January 2004, 5538 . 5540 [RFC3945] Mannie, E., Ed., "Generalized Multi-Protocol Label 5541 Switching (GMPLS) Architecture", RFC 3945, 5542 DOI 10.17487/RFC3945, October 2004, 5543 . 5545 [RFC4206] Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP) 5546 Hierarchy with Generalized Multi-Protocol Label Switching 5547 (GMPLS) Traffic Engineering (TE)", RFC 4206, 5548 DOI 10.17487/RFC4206, October 2005, 5549 . 5551 [RFC4872] Lang, J., Ed., Rekhter, Y., Ed., and D. Papadimitriou, 5552 Ed., "RSVP-TE Extensions in Support of End-to-End 5553 Generalized Multi-Protocol Label Switching (GMPLS) 5554 Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007, 5555 . 5557 [RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S. 5558 Yasukawa, Ed., "Extensions to Resource Reservation 5559 Protocol - Traffic Engineering (RSVP-TE) for Point-to- 5560 Multipoint TE Label Switched Paths (LSPs)", RFC 4875, 5561 DOI 10.17487/RFC4875, May 2007, 5562 . 5564 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 5565 the Network Configuration Protocol (NETCONF)", RFC 6020, 5566 DOI 10.17487/RFC6020, October 2010, 5567 . 5569 [RFC6107] Shiomoto, K., Ed. and A. Farrel, Ed., "Procedures for 5570 Dynamically Signaled Hierarchical Label Switched Paths", 5571 RFC 6107, DOI 10.17487/RFC6107, February 2011, 5572 . 5574 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 5575 and A. Bierman, Ed., "Network Configuration Protocol 5576 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 5577 . 5579 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 5580 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 5581 . 5583 [RFC6780] Berger, L., Le Faucheur, F., and A. Narayanan, "RSVP 5584 ASSOCIATION Object Extensions", RFC 6780, 5585 DOI 10.17487/RFC6780, October 2012, 5586 . 5588 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 5589 RFC 6991, DOI 10.17487/RFC6991, July 2013, 5590 . 5592 [RFC7308] Osborne, E., "Extended Administrative Groups in MPLS 5593 Traffic Engineering (MPLS-TE)", RFC 7308, 5594 DOI 10.17487/RFC7308, July 2014, 5595 . 5597 [RFC7551] Zhang, F., Ed., Jing, R., and R. Gandhi, Ed., "RSVP-TE 5598 Extensions for Associated Bidirectional Label Switched 5599 Paths (LSPs)", RFC 7551, DOI 10.17487/RFC7551, May 2015, 5600 . 5602 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 5603 RFC 7950, DOI 10.17487/RFC7950, August 2016, 5604 . 5606 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 5607 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 5608 . 5610 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 5611 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 5612 May 2017, . 5614 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 5615 "Common YANG Data Types for the Routing Area", RFC 8294, 5616 DOI 10.17487/RFC8294, December 2017, 5617 . 5619 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 5620 Access Control Model", STD 91, RFC 8341, 5621 DOI 10.17487/RFC8341, March 2018, 5622 . 5624 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 5625 and R. Wilton, "Network Management Datastore Architecture 5626 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 5627 . 5629 [RFC8343] Bjorklund, M., "A YANG Data Model for Interface 5630 Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, 5631 . 5633 [RFC8639] Voit, E., Clemm, A., Gonzalez Prieto, A., Nilsen-Nygaard, 5634 E., and A. Tripathy, "Subscription to YANG Notifications", 5635 RFC 8639, DOI 10.17487/RFC8639, September 2019, 5636 . 5638 [RFC8641] Clemm, A. and E. Voit, "Subscription to YANG Notifications 5639 for Datastore Updates", RFC 8641, DOI 10.17487/RFC8641, 5640 September 2019, . 5642 [RFC8776] Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 5643 "Common YANG Data Types for Traffic Engineering", 5644 RFC 8776, DOI 10.17487/RFC8776, June 2020, 5645 . 5647 13.2. Informative References 5649 [RFC4427] Mannie, E., Ed. and D. Papadimitriou, Ed., "Recovery 5650 (Protection and Restoration) Terminology for Generalized 5651 Multi-Protocol Label Switching (GMPLS)", RFC 4427, 5652 DOI 10.17487/RFC4427, March 2006, 5653 . 5655 Authors' Addresses 5657 Tarek Saad 5658 Juniper Networks 5660 Email: tsaad@juniper.net 5662 Rakesh Gandhi 5663 Cisco Systems Inc 5665 Email: rgandhi@cisco.com 5666 Xufeng Liu 5667 Volta Networks 5669 Email: xufeng.liu.ietf@gmail.com 5671 Vishnu Pavan Beeram 5672 Juniper Networks 5674 Email: vbeeram@juniper.net 5676 Igor Bryskin 5677 Individual 5679 Email: i_bryskin@yahoo.com