idnits 2.17.1 draft-ietf-teas-yang-te-21.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 88 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 306 has weird spacing: '...ic-type ide...' == Line 310 has weird spacing: '...w usage ide...' == Line 316 has weird spacing: '...rw name str...' == Line 323 has weird spacing: '...w usage ide...' == Line 337 has weird spacing: '...k-tp-id te-...' == (83 more instances...) == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (April 09, 2019) is 1844 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 (-22) exists of draft-ietf-teas-yang-path-computation-05 == Outdated reference: A later version (-19) exists of draft-ietf-teas-yang-rsvp-10 == Outdated reference: A later version (-13) exists of draft-ietf-teas-yang-te-types-08 Summary: 1 error (**), 0 flaws (~~), 11 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: October 11, 2019 Cisco Systems Inc 6 X. Liu 7 Volta Networks 8 V. Beeram 9 Juniper Networks 10 I. Bryskin 11 Huawei Technologies 12 April 09, 2019 14 A YANG Data Model for Traffic Engineering Tunnels and Interfaces 15 draft-ietf-teas-yang-te-21 17 Abstract 19 This document defines a YANG data model for the configuration and 20 management of Traffic Engineering (TE) interfaces, tunnels and Label 21 Switched Paths (LSPs). The model is divided into YANG modules that 22 classify data into generic, device-specific, technology agnostic, and 23 technology-specific elements. 25 This model covers data for configuration, operational state, remote 26 procedural calls, and event notifications. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at https://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on October 11, 2019. 45 Copyright Notice 47 Copyright (c) 2019 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (https://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 63 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 64 1.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3 65 1.3. TE Technology Models . . . . . . . . . . . . . . . . . . 4 66 1.4. State Data Organization . . . . . . . . . . . . . . . . . 4 67 2. Model Overview . . . . . . . . . . . . . . . . . . . . . . . 4 68 2.1. Module(s) Relationship . . . . . . . . . . . . . . . . . 5 69 2.2. Design Considerations . . . . . . . . . . . . . . . . . . 7 70 2.3. Model Tree Diagram . . . . . . . . . . . . . . . . . . . 7 71 3. Model Organization . . . . . . . . . . . . . . . . . . . . . 48 72 3.1. Global Configuration and State Data . . . . . . . . . . . 49 73 3.2. Interfaces Configuration and State Data . . . . . . . . . 50 74 3.3. Tunnels Configuration and State Data . . . . . . . . . . 51 75 3.3.1. Tunnel Compute-Only Mode . . . . . . . . . . . . . . 51 76 3.3.2. Tunnel Hierarchical Link Endpoint . . . . . . . . . . 52 77 3.4. TE LSPs State Data . . . . . . . . . . . . . . . . . . . 52 78 3.5. Global RPC Data . . . . . . . . . . . . . . . . . . . . . 52 79 3.6. Interface RPC Data . . . . . . . . . . . . . . . . . . . 52 80 3.7. Tunnel RPC Data . . . . . . . . . . . . . . . . . . . . . 52 81 4. TE Generic and Helper YANG Modules . . . . . . . . . . . . . 53 82 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 99 83 6. Security Considerations . . . . . . . . . . . . . . . . . . . 99 84 7. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 100 85 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 100 86 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 101 87 9.1. Normative References . . . . . . . . . . . . . . . . . . 101 88 9.2. Informative References . . . . . . . . . . . . . . . . . 104 89 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 104 91 1. Introduction 93 YANG [RFC6020] and [RFC7950] is a data modeling language that was 94 introduced to define the contents of a conceptual data store that 95 allows networked devices to be managed using NETCONF [RFC6241]. YANG 96 has proved relevant beyond its initial confines, as bindings to other 97 interfaces (e.g. RESTCONF [RFC8040]) and encoding other than XML 98 (e.g. JSON) are being defined. Furthermore, YANG data models can be 99 used as the basis of implementation for other interfaces, such as CLI 100 and programmatic APIs. 102 This document describes YANG data model for TE Tunnels, Label 103 Switched Paths (LSPs) and TE interfaces and covers data applicable to 104 generic or device-independent, device-specific, and Multiprotocol 105 Label Switching (MPLS) technology specific. 107 The document describes a high-level relationship between the modules 108 defined in this document, as well as other external protocol YANG 109 modules. The TE generic YANG data model does not include any data 110 specific to a signaling protocol. It is expected other data plane 111 technology model(s) will augment the TE generic YANG data model. 113 Also, it is expected other YANG module(s) that model TE signaling 114 protocols, such as RSVP-TE ([RFC3209], [RFC3473]), or Segment-Routing 115 TE (SR-TE) will augment the TE generic YANG module. 117 1.1. Terminology 119 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 120 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 121 "OPTIONAL" in this document are to be interpreted as described in BCP 122 14 [RFC2119] [RFC8174] when, and only when, they appear in all 123 capitals, as shown here. 125 The terminology for describing YANG data models is found in 126 [RFC7950]. 128 1.2. Prefixes in Data Node Names 130 In this document, names of data nodes and other data model objects 131 are prefixed using the standard prefix associated with the 132 corresponding YANG imported modules, as shown in Table 1. 134 +---------------+--------------------+-------------------------------+ 135 | Prefix | YANG module | Reference | 136 +---------------+--------------------+-------------------------------+ 137 | yang | ietf-yang-types | [RFC6991] | 138 | inet | ietf-inet-types | [RFC6991] | 139 | rt-types | ietf-routing-types | [RFC8294] | 140 | te | ietf-te | this document | 141 | te-dev | ietf-te-device | this document | 142 | te-types | ietf-te-types | [I-D.ietf-teas-yang-te-types] | 143 | te-mpls-types | ietf-te-mpls-types | [I-D.ietf-teas-yang-te-types] | 144 +---------------+--------------------+-------------------------------+ 146 Table 1: Prefixes and corresponding YANG modules 148 1.3. TE Technology Models 150 This document describes the TE generic YANG data model that is 151 independent of any dataplane technology. One of the design 152 objectives is to allow specific data plane technology models to reuse 153 the TE generic data model and possibly augment it with technology 154 specific data. 156 The elements of the TE generic YANG data model, including TE tunnels, 157 LSPs, and interfaces have leaf(s) that identify the technology layer 158 where they reside. For example, the LSP encoding type can identify 159 the technology associated with a TE tunnel or LSP. 161 Also, the TE generic YANG data model does not cover signaling 162 protocol data. This is expected to be covered by augmentations 163 defined in other document(s). 165 1.4. State Data Organization 167 The Network Management Datastore Architecture (NMDA) [RFC8342] 168 addresses modeling state data for ephemeral objects. This draft 169 adopts the NMDA proposal for configuration and state data 170 representation as per IETF guidelines for new IETF YANG models. 172 2. Model Overview 174 The data model(s) defined in this document cover core TE features 175 that are commonly supported across different vendor implementations. 176 The support of extended or vendor specific TE feature(s) is expected 177 to be in augmentations to the base model defined in this document. 179 2.1. Module(s) Relationship 181 The TE generic YANG data model defined in "ietf-te.yang" covers the 182 building blocks that are device independent and agnostic of any 183 specific technology or control plane instances. The TE device model 184 defined in "ietf-te-device.yang" augments the TE generic YANG data 185 model and covers data that is specific to a device - for example, 186 attributes of TE interfaces, or TE timers that are local to a TE 187 node. 189 The TE data model for specific instances of data plane technology 190 exist in a separate YANG module(s) that augment the TE generic YANG 191 data model. For example, the MPLS-TE module "ietf-te-mpls.yang" is 192 defined in another document and augments the TE generic model as 193 shown in Figure 1. 195 The TE data model for specific instances of signaling protocol are 196 outside the scope of this document and are defined in other 197 documents. For example, the RSVP-TE YANG model augmentation of the 198 TE model is covered in [I-D.ietf-teas-yang-rsvp]. 200 TE generic +---------+ o: augment 201 module | ietf-te |o-------------+ 202 +---------+ \ 203 o \ 204 |\ \ 205 | \ \ 206 | +----------------+ \ 207 | | ietf-te-device | TE device module 208 | +----------------+ \ 209 | o o \ 210 | / \ \ 211 | / \ \ 212 +--------------+ +---------------+ 213 RSVP-TE module | ietf-rsvp-te |o . | ietf-te-mpls^ | 214 +--------------+ \ +---------------+ 215 | \ 216 | \ 217 | \ 218 | \ 219 | \ 220 o +-------------------+ 221 +-----------+ | ietf-rsvp-otn-te^ | 222 RSVP module | ietf-rsvp | +-------------------+ 223 +-----------+ RSVP-TE with OTN 224 extensions 226 ^ shown for illustration 227 (not in this document) 229 Figure 1: Relationship of TE module(s) with other signaling protocol 230 modules 232 +---------+ 233 | ietf-te | ^: import 234 +---------+ 235 ^ ^ ^ 236 | | +--------------------------------------+ 237 | +----------------------+ | 238 | | | 239 +----------------+ +---------------------+ +--------------------+ 240 | ietf-te-types* | | ietf-te-mpls-types* | | ietf-te-otn-types* | 241 +----------------+ +---------------------+ +--------------------+ 243 *: not in this document, shown for illustration only 245 Figure 2: Relationship between generic and technology specific TE 246 types modules 248 2.2. Design Considerations 250 The following design considerations are taken into account with 251 respect data organization: 253 o reusable TE data types that are data plane independent are grouped 254 in the TE generic types module "ietf-te-types.yang" defined in 255 [I-D.ietf-teas-yang-te-types] 257 o reusable TE data types that are data plane specific are defined in 258 a data plane type module, e.g. "ietf-te-packet-types.yang" as 259 defined in [I-D.ietf-teas-yang-te-types]. Other data plane types 260 are expected to be defined in separate module(s) as shown in 261 Figure 2 263 o The TE generic YANG data model "ietf-te" contains device 264 independent data and can be used to model data off a device (e.g. 265 on a controller). The device-specific TE data is defined in 266 module "ietf-te-device" as shown in Figure 1. 268 o In general, minimal elements in the model are designated as 269 "mandatory" to allow freedom to vendors to adapt the data model to 270 their specific product implementation. 272 o This model declares a number of TE functions as features that can 273 be optionally supported. 275 2.3. Model Tree Diagram 277 Figure 3 shows the tree diagram of the TE YANG model defined in 278 modules: ietf-te.yang, and ietf-te-device.yang. 280 module: ietf-te 281 +--rw te! 282 +--rw globals 283 | +--rw named-admin-groups 284 | | +--rw named-admin-group* [name] 285 | | +--rw name string 286 | | +--rw bit-position? uint32 287 | +--rw named-srlgs 288 | | +--rw named-srlg* [name] {te-types:named-srlg-groups}? 289 | | +--rw name string 290 | | +--rw group? te-types:srlg 291 | | +--rw cost? uint32 292 | +--rw named-path-constraints 293 | | +--rw named-path-constraint* [name] 294 | | {te-types:named-path-constraints}? 295 | | +--rw name string 296 | | +--rw te-bandwidth 297 | | | +--rw (technology)? 298 | | | +--:(generic) 299 | | | +--rw generic? te-bandwidth 300 | | +--rw link-protection? identityref 301 | | +--rw setup-priority? uint8 302 | | +--rw hold-priority? uint8 303 | | +--rw signaling-type? identityref 304 | | +--rw path-metric-bounds 305 | | | +--rw path-metric-bound* [metric-type] 306 | | | +--rw metric-type identityref 307 | | | +--rw upper-bound? uint64 308 | | +--rw path-affinities-values 309 | | | +--rw path-affinities-value* [usage] 310 | | | +--rw usage identityref 311 | | | +--rw value? admin-groups 312 | | +--rw path-affinity-names 313 | | | +--rw path-affinity-name* [usage] 314 | | | +--rw usage identityref 315 | | | +--rw affinity-name* [name] 316 | | | +--rw name string 317 | | +--rw path-srlgs-lists 318 | | | +--rw path-srlgs-list* [usage] 319 | | | +--rw usage identityref 320 | | | +--rw values* srlg 321 | | +--rw path-srlgs-names 322 | | | +--rw path-srlgs-name* [usage] 323 | | | +--rw usage identityref 324 | | | +--rw names* string 325 | | +--rw disjointness? 326 | | | te-path-disjointness 327 | | +--rw explicit-route-objects-always 328 | | | +--rw route-object-exclude-always* [index] 329 | | | | +--rw index uint32 330 | | | | +--rw (type)? 331 | | | | +--:(numbered-node-hop) 332 | | | | | +--rw numbered-node-hop 333 | | | | | +--rw node-id te-node-id 334 | | | | | +--rw hop-type? te-hop-type 335 | | | | +--:(numbered-link-hop) 336 | | | | | +--rw numbered-link-hop 337 | | | | | +--rw link-tp-id te-tp-id 338 | | | | | +--rw hop-type? te-hop-type 339 | | | | | +--rw direction? te-link-direction 340 | | | | +--:(unnumbered-link-hop) 341 | | | | | +--rw unnumbered-link-hop 342 | | | | | +--rw link-tp-id te-tp-id 343 | | | | | +--rw node-id te-node-id 344 | | | | | +--rw hop-type? te-hop-type 345 | | | | | +--rw direction? te-link-direction 346 | | | | +--:(as-number) 347 | | | | | +--rw as-number-hop 348 | | | | | +--rw as-number inet:as-number 349 | | | | | +--rw hop-type? te-hop-type 350 | | | | +--:(label) 351 | | | | +--rw label-hop 352 | | | | +--rw te-label 353 | | | | +--rw (technology)? 354 | | | | | +--:(generic) 355 | | | | | +--rw generic? 356 | | | | | rt-types:generalized-label 357 | | | | +--rw direction? 358 | | | | te-label-direction 359 | | | +--rw route-object-include-exclude* [index] 360 | | | +--rw explicit-route-usage? identityref 361 | | | +--rw index uint32 362 | | | +--rw (type)? 363 | | | +--:(numbered-node-hop) 364 | | | | +--rw numbered-node-hop 365 | | | | +--rw node-id te-node-id 366 | | | | +--rw hop-type? te-hop-type 367 | | | +--:(numbered-link-hop) 368 | | | | +--rw numbered-link-hop 369 | | | | +--rw link-tp-id te-tp-id 370 | | | | +--rw hop-type? te-hop-type 371 | | | | +--rw direction? te-link-direction 372 | | | +--:(unnumbered-link-hop) 373 | | | | +--rw unnumbered-link-hop 374 | | | | +--rw link-tp-id te-tp-id 375 | | | | +--rw node-id te-node-id 376 | | | | +--rw hop-type? te-hop-type 377 | | | | +--rw direction? te-link-direction 378 | | | +--:(as-number) 379 | | | | +--rw as-number-hop 380 | | | | +--rw as-number inet:as-number 381 | | | | +--rw hop-type? te-hop-type 382 | | | +--:(label) 383 | | | | +--rw label-hop 384 | | | | +--rw te-label 385 | | | | +--rw (technology)? 386 | | | | | +--:(generic) 387 | | | | | +--rw generic? 388 | | | | | rt-types:generalized-label 389 | | | | +--rw direction? 390 | | | | te-label-direction 391 | | | +--:(srlg) 392 | | | +--rw srlg 393 | | | +--rw srlg? uint32 394 | | +--rw shared-resources-tunnels 395 | | | +--rw lsp-shared-resources-tunnel* tunnel-ref 396 | | +--rw path-in-segment! 397 | | | +--rw label-restrictions 398 | | | +--rw label-restriction* [index] 399 | | | +--rw restriction? enumeration 400 | | | +--rw index uint32 401 | | | +--rw label-start 402 | | | | +--rw te-label 403 | | | | +--rw (technology)? 404 | | | | | +--:(generic) 405 | | | | | +--rw generic? 406 | | | | | rt-types:generalized-label 407 | | | | +--rw direction? te-label-direction 408 | | | +--rw label-end 409 | | | | +--rw te-label 410 | | | | +--rw (technology)? 411 | | | | | +--:(generic) 412 | | | | | +--rw generic? 413 | | | | | rt-types:generalized-label 414 | | | | +--rw direction? te-label-direction 415 | | | +--rw label-step 416 | | | | +--rw (technology)? 417 | | | | +--:(generic) 418 | | | | +--rw generic? int32 419 | | | +--rw range-bitmap? yang:hex-string 420 | | +--rw path-out-segment! 421 | | +--rw label-restrictions 422 | | +--rw label-restriction* [index] 423 | | +--rw restriction? enumeration 424 | | +--rw index uint32 425 | | +--rw label-start 426 | | | +--rw te-label 427 | | | +--rw (technology)? 428 | | | | +--:(generic) 429 | | | | +--rw generic? 430 | | | | rt-types:generalized-label 431 | | | +--rw direction? te-label-direction 432 | | +--rw label-end 433 | | | +--rw te-label 434 | | | +--rw (technology)? 435 | | | | +--:(generic) 436 | | | | +--rw generic? 437 | | | | rt-types:generalized-label 438 | | | +--rw direction? te-label-direction 439 | | +--rw label-step 440 | | | +--rw (technology)? 441 | | | +--:(generic) 442 | | | +--rw generic? int32 443 | | +--rw range-bitmap? yang:hex-string 444 | +--rw te-dev:lsp-install-interval? uint32 445 | +--rw te-dev:lsp-cleanup-interval? uint32 446 | +--rw te-dev:lsp-invalidation-interval? uint32 447 +--rw tunnels 448 | +--rw tunnel* [name] 449 | | +--ro operational-state? identityref 450 | | +--rw name string 451 | | +--rw identifier? uint16 452 | | +--rw description? string 453 | | +--rw encoding? identityref 454 | | +--rw switching-type? identityref 455 | | +--rw provisioning-state? identityref 456 | | +--rw preference? uint8 457 | | +--rw reoptimize-timer? uint16 458 | | +--rw source? 459 | | | te-types:te-node-id 460 | | +--rw destination? 461 | | | te-types:te-node-id 462 | | +--rw src-tp-id? yang:hex-string 463 | | +--rw dst-tp-id? yang:hex-string 464 | | +--rw bidirectional? boolean 465 | | +--rw association-objects 466 | | | +--rw association-object* [type ID source global-source] 467 | | | | +--rw type identityref 468 | | | | +--rw ID uint16 469 | | | | +--rw source te-types:te-node-id 470 | | | | +--rw global-source te-types:te-node-id 471 | | | +--rw association-object-extended* 472 | | | [type ID source global-source extended-ID] 473 | | | +--rw type identityref 474 | | | +--rw ID uint16 475 | | | +--rw source te-types:te-node-id 476 | | | +--rw global-source te-types:te-node-id 477 | | | +--rw extended-ID yang:hex-string 478 | | +--rw protection 479 | | | +--rw enable? boolean 480 | | | +--rw protection-type? identityref 481 | | | +--rw protection-reversion-disable? boolean 482 | | | +--rw hold-off-time? uint32 483 | | | +--rw wait-to-revert? uint16 484 | | | +--rw aps-signal-id? uint8 485 | | +--rw restoration 486 | | | +--rw enable? boolean 487 | | | +--rw restoration-type? identityref 488 | | | +--rw restoration-scheme? identityref 489 | | | +--rw restoration-reversion-disable? boolean 490 | | | +--rw hold-off-time? uint32 491 | | | +--rw wait-to-restore? uint16 492 | | | +--rw wait-to-revert? uint16 493 | | +--rw te-topology-identifier 494 | | | +--rw provider-id? te-global-id 495 | | | +--rw client-id? te-global-id 496 | | | +--rw topology-id? te-topology-id 497 | | +--rw te-bandwidth 498 | | | +--rw (technology)? 499 | | | +--:(generic) 500 | | | +--rw generic? te-bandwidth 501 | | +--rw link-protection? identityref 502 | | +--rw setup-priority? uint8 503 | | +--rw hold-priority? uint8 504 | | +--rw signaling-type? identityref 505 | | +--rw dependency-tunnels 506 | | | +--rw dependency-tunnel* [name] 507 | | | +--rw name 508 | | | | -> ../../../../../tunnels/tunnel/name 509 | | | +--rw encoding? identityref 510 | | | +--rw switching-type? identityref 511 | | +--rw hierarchical-link 512 | | | +--rw local-te-node-id? te-types:te-node-id 513 | | | +--rw local-te-link-tp-id? te-types:te-tp-id 514 | | | +--rw remote-te-node-id? te-types:te-node-id 515 | | | +--rw te-topology-identifier 516 | | | +--rw provider-id? te-global-id 517 | | | +--rw client-id? te-global-id 518 | | | +--rw topology-id? te-topology-id 519 | | +--rw p2p-primary-paths 520 | | | +--rw p2p-primary-path* [name] 521 | | | +--rw name string 522 | | | +--rw path-setup-protocol? identityref 523 | | | +--rw path-computation-method? identityref 524 | | | +--rw path-computation-server? 525 | | | | inet:ip-address 526 | | | +--rw compute-only? empty 527 | | | +--rw use-path-computation? boolean 528 | | | +--rw lockdown? empty 529 | | | +--ro path-scope? identityref 530 | | | +--rw optimizations 531 | | | | +--rw (algorithm)? 532 | | | | +--:(metric) {path-optimization-metric}? 533 | | | | | +--rw optimization-metric* [metric-type] 534 | | | | | | +--rw metric-type 535 | | | | | | | identityref 536 | | | | | | +--rw weight? 537 | | | | | | | uint8 538 | | | | | | +--rw explicit-route-exclude-objects 539 | | | | | | | +--rw route-object-exclude-object* 540 | | | | | | | [index] 541 | | | | | | | +--rw index 542 | | | | | | | | uint32 543 | | | | | | | +--rw (type)? 544 | | | | | | | +--:(numbered-node-hop) 545 | | | | | | | | +--rw numbered-node-hop 546 | | | | | | | | +--rw node-id 547 | | | | | | | | | te-node-id 548 | | | | | | | | +--rw hop-type? 549 | | | | | | | | te-hop-type 550 | | | | | | | +--:(numbered-link-hop) 551 | | | | | | | | +--rw numbered-link-hop 552 | | | | | | | | +--rw link-tp-id 553 | | | | | | | | | te-tp-id 554 | | | | | | | | +--rw hop-type? 555 | | | | | | | | | te-hop-type 556 | | | | | | | | +--rw direction? 557 | | | | | | | | te-link-direction 558 | | | | | | | +--:(unnumbered-link-hop) 559 | | | | | | | | +--rw unnumbered-link-hop 560 | | | | | | | | +--rw link-tp-id 561 | | | | | | | | | te-tp-id 562 | | | | | | | | +--rw node-id 563 | | | | | | | | | te-node-id 564 | | | | | | | | +--rw hop-type? 565 | | | | | | | | | te-hop-type 566 | | | | | | | | +--rw direction? 567 | | | | | | | | te-link-direction 568 | | | | | | | +--:(as-number) 569 | | | | | | | | +--rw as-number-hop 570 | | | | | | | | +--rw as-number 571 | | | | | | | | | inet:as-number 572 | | | | | | | | +--rw hop-type? 573 | | | | | | | | 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 | | | | | | | +--:(srlg) 584 | | | | | | | +--rw srlg 585 | | | | | | | +--rw srlg? uint32 586 | | | | | | +--rw explicit-route-include-objects 587 | | | | | | +--rw route-object-include-object* 588 | | | | | | [index] 589 | | | | | | +--rw index 590 | | | | | | | uint32 591 | | | | | | +--rw (type)? 592 | | | | | | +--:(numbered-node-hop) 593 | | | | | | | +--rw numbered-node-hop 594 | | | | | | | +--rw node-id 595 | | | | | | | | te-node-id 596 | | | | | | | +--rw hop-type? 597 | | | | | | | te-hop-type 598 | | | | | | +--:(numbered-link-hop) 599 | | | | | | | +--rw numbered-link-hop 600 | | | | | | | +--rw link-tp-id 601 | | | | | | | | te-tp-id 602 | | | | | | | +--rw hop-type? 603 | | | | | | | | te-hop-type 604 | | | | | | | +--rw direction? 605 | | | | | | | te-link-direction 606 | | | | | | +--:(unnumbered-link-hop) 607 | | | | | | | +--rw unnumbered-link-hop 608 | | | | | | | +--rw link-tp-id 609 | | | | | | | | te-tp-id 610 | | | | | | | +--rw node-id 611 | | | | | | | | te-node-id 612 | | | | | | | +--rw hop-type? 613 | | | | | | | | te-hop-type 614 | | | | | | | +--rw direction? 615 | | | | | | | te-link-direction 616 | | | | | | +--:(as-number) 617 | | | | | | | +--rw as-number-hop 618 | | | | | | | +--rw as-number 619 | | | | | | | | inet:as-number 620 | | | | | | | +--rw hop-type? 621 | | | | | | | te-hop-type 622 | | | | | | +--:(label) 623 | | | | | | +--rw label-hop 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 tiebreakers 632 | | | | | +--rw tiebreaker* [tiebreaker-type] 633 | | | | | +--rw tiebreaker-type identityref 634 | | | | +--:(objective-function) 635 | | | | {path-optimization-objective-function}? 636 | | | | +--rw objective-function 637 | | | | +--rw objective-function-type? 638 | | | | identityref 639 | | | +--rw preference? uint8 640 | | | +--rw k-requested-paths? uint8 641 | | | +--rw named-path-constraint? leafref 642 | | | | {te-types:named-path-constraints}? 643 | | | +--rw te-bandwidth 644 | | | | +--rw (technology)? 645 | | | | +--:(generic) 646 | | | | +--rw generic? te-bandwidth 647 | | | +--rw link-protection? identityref 648 | | | +--rw setup-priority? uint8 649 | | | +--rw hold-priority? uint8 650 | | | +--rw signaling-type? identityref 651 | | | +--rw path-metric-bounds 652 | | | | +--rw path-metric-bound* [metric-type] 653 | | | | +--rw metric-type identityref 654 | | | | +--rw upper-bound? uint64 655 | | | +--rw path-affinities-values 656 | | | | +--rw path-affinities-value* [usage] 657 | | | | +--rw usage identityref 658 | | | | +--rw value? admin-groups 659 | | | +--rw path-affinity-names 660 | | | | +--rw path-affinity-name* [usage] 661 | | | | +--rw usage identityref 662 | | | | +--rw affinity-name* [name] 663 | | | | +--rw name string 664 | | | +--rw path-srlgs-lists 665 | | | | +--rw path-srlgs-list* [usage] 666 | | | | +--rw usage identityref 667 | | | | +--rw values* srlg 668 | | | +--rw path-srlgs-names 669 | | | | +--rw path-srlgs-name* [usage] 670 | | | | +--rw usage identityref 671 | | | | +--rw names* string 672 | | | +--rw disjointness? 673 | | | | te-path-disjointness 674 | | | +--rw explicit-route-objects-always 675 | | | | +--rw route-object-exclude-always* [index] 676 | | | | | +--rw index uint32 677 | | | | | +--rw (type)? 678 | | | | | +--:(numbered-node-hop) 679 | | | | | | +--rw numbered-node-hop 680 | | | | | | +--rw node-id te-node-id 681 | | | | | | +--rw hop-type? te-hop-type 682 | | | | | +--:(numbered-link-hop) 683 | | | | | | +--rw numbered-link-hop 684 | | | | | | +--rw link-tp-id te-tp-id 685 | | | | | | +--rw hop-type? te-hop-type 686 | | | | | | +--rw direction? te-link-direction 687 | | | | | +--:(unnumbered-link-hop) 688 | | | | | | +--rw unnumbered-link-hop 689 | | | | | | +--rw link-tp-id te-tp-id 690 | | | | | | +--rw node-id te-node-id 691 | | | | | | +--rw hop-type? te-hop-type 692 | | | | | | +--rw direction? te-link-direction 693 | | | | | +--:(as-number) 694 | | | | | | +--rw as-number-hop 695 | | | | | | +--rw as-number inet:as-number 696 | | | | | | +--rw hop-type? te-hop-type 697 | | | | | +--:(label) 698 | | | | | +--rw label-hop 699 | | | | | +--rw te-label 700 | | | | | +--rw (technology)? 701 | | | | | | +--:(generic) 702 | | | | | | +--rw generic? 703 | | | | | | rt-types:generalized-label 704 | | | | | +--rw direction? 705 | | | | | te-label-direction 706 | | | | +--rw route-object-include-exclude* [index] 707 | | | | +--rw explicit-route-usage? identityref 708 | | | | +--rw index uint32 709 | | | | +--rw (type)? 710 | | | | +--:(numbered-node-hop) 711 | | | | | +--rw numbered-node-hop 712 | | | | | +--rw node-id te-node-id 713 | | | | | +--rw hop-type? te-hop-type 714 | | | | +--:(numbered-link-hop) 715 | | | | | +--rw numbered-link-hop 716 | | | | | +--rw link-tp-id te-tp-id 717 | | | | | +--rw hop-type? te-hop-type 718 | | | | | +--rw direction? te-link-direction 719 | | | | +--:(unnumbered-link-hop) 720 | | | | | +--rw unnumbered-link-hop 721 | | | | | +--rw link-tp-id te-tp-id 722 | | | | | +--rw node-id te-node-id 723 | | | | | +--rw hop-type? te-hop-type 724 | | | | | +--rw direction? te-link-direction 725 | | | | +--:(as-number) 726 | | | | | +--rw as-number-hop 727 | | | | | +--rw as-number inet:as-number 728 | | | | | +--rw hop-type? te-hop-type 729 | | | | +--:(label) 730 | | | | | +--rw label-hop 731 | | | | | +--rw te-label 732 | | | | | +--rw (technology)? 733 | | | | | | +--:(generic) 734 | | | | | | +--rw generic? 735 | | | | | | rt-types:generalized-label 736 | | | | | +--rw direction? 737 | | | | | te-label-direction 738 | | | | +--:(srlg) 739 | | | | +--rw srlg 740 | | | | +--rw srlg? uint32 741 | | | +--rw shared-resources-tunnels 742 | | | | +--rw lsp-shared-resources-tunnel* tunnel-ref 743 | | | +--rw path-in-segment! 744 | | | | +--rw label-restrictions 745 | | | | +--rw label-restriction* [index] 746 | | | | +--rw restriction? enumeration 747 | | | | +--rw index uint32 748 | | | | +--rw label-start 749 | | | | | +--rw te-label 750 | | | | | +--rw (technology)? 751 | | | | | | +--:(generic) 752 | | | | | | +--rw generic? 753 | | | | | | rt-types:generalized-label 754 | | | | | +--rw direction? 755 | | | | | te-label-direction 756 | | | | +--rw label-end 757 | | | | | +--rw te-label 758 | | | | | +--rw (technology)? 759 | | | | | | +--:(generic) 760 | | | | | | +--rw generic? 761 | | | | | | rt-types:generalized-label 762 | | | | | +--rw direction? 763 | | | | | te-label-direction 764 | | | | +--rw label-step 765 | | | | | +--rw (technology)? 766 | | | | | +--:(generic) 767 | | | | | +--rw generic? int32 768 | | | | +--rw range-bitmap? yang:hex-string 769 | | | +--rw path-out-segment! 770 | | | | +--rw label-restrictions 771 | | | | +--rw label-restriction* [index] 772 | | | | +--rw restriction? enumeration 773 | | | | +--rw index uint32 774 | | | | +--rw label-start 775 | | | | | +--rw te-label 776 | | | | | +--rw (technology)? 777 | | | | | | +--:(generic) 778 | | | | | | +--rw generic? 779 | | | | | | rt-types:generalized-label 780 | | | | | +--rw direction? 781 | | | | | te-label-direction 782 | | | | +--rw label-end 783 | | | | | +--rw te-label 784 | | | | | +--rw (technology)? 785 | | | | | | +--:(generic) 786 | | | | | | +--rw generic? 787 | | | | | | rt-types:generalized-label 788 | | | | | +--rw direction? 789 | | | | | te-label-direction 790 | | | | +--rw label-step 791 | | | | | +--rw (technology)? 792 | | | | | +--:(generic) 793 | | | | | +--rw generic? int32 794 | | | | +--rw range-bitmap? yang:hex-string 795 | | | +--ro computed-paths-properties 796 | | | | +--ro computed-path-properties* [k-index] 797 | | | | +--ro k-index uint8 798 | | | | +--ro path-properties 799 | | | | +--ro path-metric* [metric-type] 800 | | | | | +--ro metric-type identityref 801 | | | | | +--ro accumulative-value? uint64 802 | | | | +--ro path-affinities-values 803 | | | | | +--ro path-affinities-value* [usage] 804 | | | | | +--ro usage identityref 805 | | | | | +--ro value? admin-groups 806 | | | | +--ro path-affinity-names 807 | | | | | +--ro path-affinity-name* [usage] 808 | | | | | +--ro usage identityref 809 | | | | | +--ro affinity-name* [name] 810 | | | | | +--ro name string 811 | | | | +--ro path-srlgs-lists 812 | | | | | +--ro path-srlgs-list* [usage] 813 | | | | | +--ro usage identityref 814 | | | | | +--ro values* srlg 815 | | | | +--ro path-srlgs-names 816 | | | | | +--ro path-srlgs-name* [usage] 817 | | | | | +--ro usage identityref 818 | | | | | +--ro names* string 819 | | | | +--ro path-route-objects 820 | | | | | +--ro path-computed-route-object* [index] 821 | | | | | +--ro index 822 | | | | | | uint32 823 | | | | | +--ro (type)? 824 | | | | | +--:(numbered-node-hop) 825 | | | | | | +--ro numbered-node-hop 826 | | | | | | +--ro node-id te-node-id 827 | | | | | | +--ro hop-type? te-hop-type 828 | | | | | +--:(numbered-link-hop) 829 | | | | | | +--ro numbered-link-hop 830 | | | | | | +--ro link-tp-id te-tp-id 831 | | | | | | +--ro hop-type? 832 | | | | | | | te-hop-type 833 | | | | | | +--ro direction? 834 | | | | | | te-link-direction 835 | | | | | +--:(unnumbered-link-hop) 836 | | | | | | +--ro unnumbered-link-hop 837 | | | | | | +--ro link-tp-id te-tp-id 838 | | | | | | +--ro node-id 839 | | | | | | | te-node-id 840 | | | | | | +--ro hop-type? 841 | | | | | | | te-hop-type 842 | | | | | | +--ro direction? 843 | | | | | | te-link-direction 844 | | | | | +--:(as-number) 845 | | | | | | +--ro as-number-hop 846 | | | | | | +--ro as-number 847 | | | | | | | inet:as-number 848 | | | | | | +--ro hop-type? 849 | | | | | | te-hop-type 850 | | | | | +--:(label) 851 | | | | | +--ro label-hop 852 | | | | | +--ro te-label 853 | | | | | +--ro (technology)? 854 | | | | | | +--:(generic) 855 | | | | | | +--ro generic? 856 | | | | | rt-types:generalized-label 857 | | | | | +--ro direction? 858 | | | | | te-label-direction 859 | | | | +--ro shared-resources-tunnels 860 | | | | +--ro lsp-shared-resources-tunnel* 861 | | | | tunnel-ref 862 | | | +--ro computed-path-error-infos 863 | | | | +--ro computed-path-error-info* [] 864 | | | | +--ro error-description? string 865 | | | | +--ro error-timestamp? yang:date-and-time 866 | | | | +--ro error-reason? identityref 867 | | | +--ro lsp-provisioning-error-infos 868 | | | | +--ro lsp-provisioning-error-info* [] 869 | | | | +--ro error-description? string 870 | | | | +--ro error-timestamp? yang:date-and-time 871 | | | | +--ro error-node-id? te-types:te-node-id 872 | | | | +--ro error-link-id? te-types:te-tp-id 873 | | | | +--ro lsp-id? uint16 874 | | | +--ro lsps 875 | | | | +--ro lsp* [lsp-id] 876 | | | | +--ro lsp-provisioning-error-infos 877 | | | | | +--ro lsp-provisioning-error-info* [] 878 | | | | | +--ro error-description? string 879 | | | | | +--ro error-timestamp? 880 | | | | | | yang:date-and-time 881 | | | | | +--ro error-node-id? 882 | | | | | | te-types:te-node-id 883 | | | | | +--ro error-link-id? 884 | | | | | te-types:te-tp-id 885 | | | | +--ro source? 886 | | | | | te-types:te-node-id 887 | | | | +--ro destination? 888 | | | | | te-types:te-node-id 889 | | | | +--ro tunnel-id? 890 | | | | | uint16 891 | | | | +--ro lsp-id 892 | | | | | uint16 893 | | | | +--ro extended-tunnel-id? 894 | | | | | yang:dotted-quad 895 | | | | +--ro operational-state? 896 | | | | | identityref 897 | | | | +--ro path-setup-protocol? 898 | | | | | identityref 899 | | | | +--ro origin-type? 900 | | | | | enumeration 901 | | | | +--ro lsp-resource-status? 902 | | | | | enumeration 903 | | | | +--ro lockout-of-normal? 904 | | | | | boolean 905 | | | | +--ro freeze? 906 | | | | | boolean 907 | | | | +--ro lsp-protection-role? 908 | | | | | enumeration 909 | | | | +--ro lsp-protection-state? 910 | | | | | identityref 911 | | | | +--ro protection-group-ingress-node-id? 912 | | | | | te-types:te-node-id 913 | | | | +--ro protection-group-egress-node-id? 914 | | | | | te-types:te-node-id 915 | | | | +--ro lsp-shared-resources-tunnel? 916 | | | | | tunnel-ref 917 | | | | +--ro lsp-record-route-information 918 | | | | | +--ro lsp-record-route-information* [index] 919 | | | | | +--ro index uint32 920 | | | | | +--ro (type)? 921 | | | | | +--:(numbered-node-hop) 922 | | | | | | +--ro numbered-node-hop 923 | | | | | | +--ro node-id te-node-id 924 | | | | | | +--ro flags* 925 | | | | | | path-attribute-flags 926 | | | | | +--:(numbered-link-hop) 927 | | | | | | +--ro numbered-link-hop 928 | | | | | | +--ro link-tp-id te-tp-id 929 | | | | | | +--ro flags* 930 | | | | | | path-attribute-flags 931 | | | | | +--:(unnumbered-link-hop) 932 | | | | | | +--ro unnumbered-link-hop 933 | | | | | | +--ro link-tp-id te-tp-id 934 | | | | | | +--ro node-id? te-node-id 935 | | | | | | +--ro flags* 936 | | | | | | path-attribute-flags 937 | | | | | +--:(label) 938 | | | | | +--ro label-hop 939 | | | | | +--ro te-label 940 | | | | | | +--ro (technology)? 941 | | | | | | | +--:(generic) 942 | | | | | | | +--ro generic? 943 | | | | | | | rt-types:generalized-label 944 | | | | | | +--ro direction? 945 | | | | | | te-label-direction 946 | | | | | +--ro flags* 947 | | | | | path-attribute-flags 948 | | | | +--ro path-properties 949 | | | | | +--ro path-metric* [metric-type] 950 | | | | | | +--ro metric-type identityref 951 | | | | | | +--ro accumulative-value? uint64 952 | | | | | +--ro path-affinities-values 953 | | | | | | +--ro path-affinities-value* [usage] 954 | | | | | | +--ro usage identityref 955 | | | | | | +--ro value? admin-groups 956 | | | | | +--ro path-affinity-names 957 | | | | | | +--ro path-affinity-name* [usage] 958 | | | | | | +--ro usage identityref 959 | | | | | | +--ro affinity-name* [name] 960 | | | | | | +--ro name string 961 | | | | | +--ro path-srlgs-lists 962 | | | | | | +--ro path-srlgs-list* [usage] 963 | | | | | | +--ro usage identityref 964 | | | | | | +--ro values* srlg 965 | | | | | +--ro path-srlgs-names 966 | | | | | | +--ro path-srlgs-name* [usage] 967 | | | | | | +--ro usage identityref 968 | | | | | | +--ro names* string 969 | | | | | +--ro path-route-objects 970 | | | | | | +--ro path-computed-route-object* [index] 971 | | | | | | +--ro index 972 | | | | | | | uint32 973 | | | | | | +--ro (type)? 974 | | | | | | +--:(numbered-node-hop) 975 | | | | | | | +--ro numbered-node-hop 976 | | | | | | | +--ro node-id te-node-id 977 | | | | | | | +--ro hop-type? te-hop-type 978 | | | | | | +--:(numbered-link-hop) 979 | | | | | | | +--ro numbered-link-hop 980 | | | | | | | +--ro link-tp-id te-tp-id 981 | | | | | | | +--ro hop-type? 982 | | | | | | | | te-hop-type 983 | | | | | | | +--ro direction? 984 | | | | | | | te-link-direction 985 | | | | | | +--:(unnumbered-link-hop) 986 | | | | | | | +--ro unnumbered-link-hop 987 | | | | | | | +--ro link-tp-id te-tp-id 988 | | | | | | | +--ro node-id 989 | | | | | | | | te-node-id 990 | | | | | | | +--ro hop-type? 991 | | | | | | | | te-hop-type 992 | | | | | | | +--ro direction? 993 | | | | | | | te-link-direction 994 | | | | | | +--:(as-number) 995 | | | | | | | +--ro as-number-hop 996 | | | | | | | +--ro as-number 997 | | | | | | | | inet:as-number 998 | | | | | | | +--ro hop-type? 999 | | | | | | | te-hop-type 1000 | | | | | | +--:(label) 1001 | | | | | | +--ro label-hop 1002 | | | | | | +--ro te-label 1003 | | | | | | +--ro (technology)? 1004 | | | | | | | +--:(generic) 1005 | | | | | | | +--ro generic? 1006 | | | | | | rt-types:generalized-label 1007 | | | | | | +--ro direction? 1008 | | | | | | te-label-direction 1009 | | | | | +--ro shared-resources-tunnels 1010 | | | | | +--ro lsp-shared-resources-tunnel* 1011 | | | | | tunnel-ref 1012 | | | | +--ro te-dev:lsp-timers 1013 | | | | | +--ro te-dev:life-time? uint32 1014 | | | | | +--ro te-dev:time-to-install? uint32 1015 | | | | | +--ro te-dev:time-to-destroy? uint32 1016 | | | | +--ro te-dev:downstream-info 1017 | | | | | +--ro te-dev:nhop? 1018 | | | | | | inet:ip-address 1019 | | | | | +--ro te-dev:outgoing-interface? 1020 | | | | | | if:interface-ref 1021 | | | | | +--ro te-dev:neighbor? 1022 | | | | | | inet:ip-address 1023 | | | | | +--ro te-dev:label? 1024 | | | | | rt-types:generalized-label 1025 | | | | +--ro te-dev:upstream-info 1026 | | | | +--ro te-dev:phop? inet:ip-address 1027 | | | | +--ro te-dev:neighbor? inet:ip-address 1028 | | | | +--ro te-dev:label? 1029 | | | | rt-types:generalized-label 1030 | | | +--rw p2p-primary-reverse-path 1031 | | | | +--rw name? string 1032 | | | | +--rw path-setup-protocol? identityref 1033 | | | | +--rw path-computation-method? identityref 1034 | | | | +--rw path-computation-server? 1035 | | | | | inet:ip-address 1036 | | | | +--rw compute-only? empty 1037 | | | | +--rw use-path-computation? boolean 1038 | | | | +--rw lockdown? empty 1039 | | | | +--ro path-scope? identityref 1040 | | | | +--rw optimizations 1041 | | | | | +--rw (algorithm)? 1042 | | | | | +--:(metric) {path-optimization-metric}? 1043 | | | | | | +--rw optimization-metric* [metric-type] 1044 | | | | | | | +--rw metric-type 1045 | | | | | | | | identityref 1046 | | | | | | | +--rw weight? 1047 | | | | | | | | uint8 1048 | | | | | | | +--rw explicit-route-exclude-objects 1049 | | | | | | | | +--rw route-object-exclude-object* 1050 | | | | | | | | [index] 1051 | | | | | | | | +--rw index 1052 | | | | | | | | | uint32 1053 | | | | | | | | +--rw (type)? 1054 | | | | | | | | +--:(numbered-node-hop) 1055 | | | | | | | | | +--rw numbered-node-hop 1056 | | | | | | | | | +--rw node-id 1057 | | | | | | | | | | te-node-id 1058 | | | | | | | | | +--rw hop-type? 1059 | | | | | | | | | te-hop-type 1060 | | | | | | | | +--:(numbered-link-hop) 1061 | | | | | | | | | +--rw numbered-link-hop 1062 | | | | | | | | | +--rw link-tp-id 1063 | | | | | | | | | | te-tp-id 1064 | | | | | | | | | +--rw hop-type? 1065 | | | | | | | | | | te-hop-type 1066 | | | | | | | | | +--rw direction? 1067 | | | | | | | | | te-link-direction 1068 | | | | | | | | +--:(unnumbered-link-hop) 1069 | | | | | | | | | +--rw unnumbered-link-hop 1070 | | | | | | | | | +--rw link-tp-id 1071 | | | | | | | | | | te-tp-id 1072 | | | | | | | | | +--rw node-id 1073 | | | | | | | | | | te-node-id 1074 | | | | | | | | | +--rw hop-type? 1075 | | | | | | | | | | te-hop-type 1076 | | | | | | | | | +--rw direction? 1077 | | | | | | | | | te-link-direction 1078 | | | | | | | | +--:(as-number) 1079 | | | | | | | | | +--rw as-number-hop 1080 | | | | | | | | | +--rw as-number 1081 | | | | | | | | | | inet:as-number 1082 | | | | | | | | | +--rw hop-type? 1083 | | | | | | | | | te-hop-type 1084 | | | | | | | | +--:(label) 1085 | | | | | | | | | +--rw label-hop 1086 | | | | | | | | | +--rw te-label 1087 | | | | | | | | | +--rw (technology)? 1088 | | | | | | | | | | +--:(generic) 1089 | | | | | | | | | | +--rw generic? 1090 | | | | | | | | | rt-types:generalized-label 1091 | | | | | | | | | +--rw direction? 1092 | | | | | | | | | te-label-direction 1093 | | | | | | | | +--:(srlg) 1094 | | | | | | | | +--rw srlg 1095 | | | | | | | | +--rw srlg? uint32 1096 | | | | | | | +--rw explicit-route-include-objects 1097 | | | | | | | +--rw route-object-include-object* 1098 | | | | | | | [index] 1099 | | | | | | | +--rw index 1100 | | | | | | | | uint32 1101 | | | | | | | +--rw (type)? 1102 | | | | | | | +--:(numbered-node-hop) 1103 | | | | | | | | +--rw numbered-node-hop 1104 | | | | | | | | +--rw node-id 1105 | | | | | | | | | te-node-id 1106 | | | | | | | | +--rw hop-type? 1107 | | | | | | | | te-hop-type 1108 | | | | | | | +--:(numbered-link-hop) 1109 | | | | | | | | +--rw numbered-link-hop 1110 | | | | | | | | +--rw link-tp-id 1111 | | | | | | | | | te-tp-id 1112 | | | | | | | | +--rw hop-type? 1113 | | | | | | | | | te-hop-type 1114 | | | | | | | | +--rw direction? 1115 | | | | | | | | te-link-direction 1116 | | | | | | | +--:(unnumbered-link-hop) 1117 | | | | | | | | +--rw unnumbered-link-hop 1118 | | | | | | | | +--rw link-tp-id 1119 | | | | | | | | | te-tp-id 1120 | | | | | | | | +--rw node-id 1121 | | | | | | | | | te-node-id 1122 | | | | | | | | +--rw hop-type? 1123 | | | | | | | | | te-hop-type 1124 | | | | | | | | +--rw direction? 1125 | | | | | | | | te-link-direction 1126 | | | | | | | +--:(as-number) 1127 | | | | | | | | +--rw as-number-hop 1128 | | | | | | | | +--rw as-number 1129 | | | | | | | | | inet:as-number 1130 | | | | | | | | +--rw hop-type? 1131 | | | | | | | | te-hop-type 1132 | | | | | | | +--:(label) 1133 | | | | | | | +--rw label-hop 1134 | | | | | | | +--rw te-label 1135 | | | | | | | +--rw (technology)? 1136 | | | | | | | | +--:(generic) 1137 | | | | | | | | +--rw generic? 1138 | | | | | | | rt-types:generalized-label 1139 | | | | | | | +--rw direction? 1140 | | | | | | | te-label-direction 1141 | | | | | | +--rw tiebreakers 1142 | | | | | | +--rw tiebreaker* [tiebreaker-type] 1143 | | | | | | +--rw tiebreaker-type 1144 | | | | | | identityref 1145 | | | | | +--:(objective-function) 1146 | | | | | {path-optimization-objective-function}? 1147 | | | | | +--rw objective-function 1148 | | | | | +--rw objective-function-type? 1149 | | | | | identityref 1150 | | | | +--rw named-path-constraint? leafref 1151 | | | | | {te-types:named-path-constraints}? 1152 | | | | +--rw te-bandwidth 1153 | | | | | +--rw (technology)? 1154 | | | | | +--:(generic) 1155 | | | | | +--rw generic? te-bandwidth 1156 | | | | +--rw link-protection? identityref 1157 | | | | +--rw setup-priority? uint8 1158 | | | | +--rw hold-priority? uint8 1159 | | | | +--rw signaling-type? identityref 1160 | | | | +--rw path-metric-bounds 1161 | | | | | +--rw path-metric-bound* [metric-type] 1162 | | | | | +--rw metric-type identityref 1163 | | | | | +--rw upper-bound? uint64 1164 | | | | +--rw path-affinities-values 1165 | | | | | +--rw path-affinities-value* [usage] 1166 | | | | | +--rw usage identityref 1167 | | | | | +--rw value? admin-groups 1168 | | | | +--rw path-affinity-names 1169 | | | | | +--rw path-affinity-name* [usage] 1170 | | | | | +--rw usage identityref 1171 | | | | | +--rw affinity-name* [name] 1172 | | | | | +--rw name string 1173 | | | | +--rw path-srlgs-lists 1174 | | | | | +--rw path-srlgs-list* [usage] 1175 | | | | | +--rw usage identityref 1176 | | | | | +--rw values* srlg 1177 | | | | +--rw path-srlgs-names 1178 | | | | | +--rw path-srlgs-name* [usage] 1179 | | | | | +--rw usage identityref 1180 | | | | | +--rw names* string 1181 | | | | +--rw disjointness? 1182 | | | | | te-path-disjointness 1183 | | | | +--rw explicit-route-objects-always 1184 | | | | | +--rw route-object-exclude-always* [index] 1185 | | | | | | +--rw index uint32 1186 | | | | | | +--rw (type)? 1187 | | | | | | +--:(numbered-node-hop) 1188 | | | | | | | +--rw numbered-node-hop 1189 | | | | | | | +--rw node-id te-node-id 1190 | | | | | | | +--rw hop-type? te-hop-type 1191 | | | | | | +--:(numbered-link-hop) 1192 | | | | | | | +--rw numbered-link-hop 1193 | | | | | | | +--rw link-tp-id te-tp-id 1194 | | | | | | | +--rw hop-type? te-hop-type 1195 | | | | | | | +--rw direction? 1196 | | | | | | | te-link-direction 1197 | | | | | | +--:(unnumbered-link-hop) 1198 | | | | | | | +--rw unnumbered-link-hop 1199 | | | | | | | +--rw link-tp-id te-tp-id 1200 | | | | | | | +--rw node-id te-node-id 1201 | | | | | | | +--rw hop-type? te-hop-type 1202 | | | | | | | +--rw direction? 1203 | | | | | | | te-link-direction 1204 | | | | | | +--:(as-number) 1205 | | | | | | | +--rw as-number-hop 1206 | | | | | | | +--rw as-number inet:as-number 1207 | | | | | | | +--rw hop-type? te-hop-type 1208 | | | | | | +--:(label) 1209 | | | | | | +--rw label-hop 1210 | | | | | | +--rw te-label 1211 | | | | | | +--rw (technology)? 1212 | | | | | | | +--:(generic) 1213 | | | | | | | +--rw generic? 1214 | | | | | | | rt-types:generalized-label 1215 | | | | | | +--rw direction? 1216 | | | | | | te-label-direction 1217 | | | | | +--rw route-object-include-exclude* [index] 1218 | | | | | +--rw explicit-route-usage? 1219 | | | | | | identityref 1220 | | | | | +--rw index uint32 1221 | | | | | +--rw (type)? 1222 | | | | | +--:(numbered-node-hop) 1223 | | | | | | +--rw numbered-node-hop 1224 | | | | | | +--rw node-id te-node-id 1225 | | | | | | +--rw hop-type? te-hop-type 1226 | | | | | +--:(numbered-link-hop) 1227 | | | | | | +--rw numbered-link-hop 1228 | | | | | | +--rw link-tp-id te-tp-id 1229 | | | | | | +--rw hop-type? te-hop-type 1230 | | | | | | +--rw direction? 1231 | | | | | | te-link-direction 1232 | | | | | +--:(unnumbered-link-hop) 1233 | | | | | | +--rw unnumbered-link-hop 1234 | | | | | | +--rw link-tp-id te-tp-id 1235 | | | | | | +--rw node-id te-node-id 1236 | | | | | | +--rw hop-type? te-hop-type 1237 | | | | | | +--rw direction? 1238 | | | | | | te-link-direction 1239 | | | | | +--:(as-number) 1240 | | | | | | +--rw as-number-hop 1241 | | | | | | +--rw as-number inet:as-number 1242 | | | | | | +--rw hop-type? te-hop-type 1243 | | | | | +--:(label) 1244 | | | | | | +--rw label-hop 1245 | | | | | | +--rw te-label 1246 | | | | | | +--rw (technology)? 1247 | | | | | | | +--:(generic) 1248 | | | | | | | +--rw generic? 1249 | | | | | | | rt-types:generalized-label 1250 | | | | | | +--rw direction? 1251 | | | | | | te-label-direction 1252 | | | | | +--:(srlg) 1253 | | | | | +--rw srlg 1254 | | | | | +--rw srlg? uint32 1255 | | | | +--rw shared-resources-tunnels 1256 | | | | | +--rw lsp-shared-resources-tunnel* tunnel-ref 1257 | | | | +--rw path-in-segment! 1258 | | | | | +--rw label-restrictions 1259 | | | | | +--rw label-restriction* [index] 1260 | | | | | +--rw restriction? enumeration 1261 | | | | | +--rw index uint32 1262 | | | | | +--rw label-start 1263 | | | | | | +--rw te-label 1264 | | | | | | +--rw (technology)? 1265 | | | | | | | +--:(generic) 1266 | | | | | | | +--rw generic? 1267 | | | | | | | rt-types:generalized-label 1268 | | | | | | +--rw direction? 1269 | | | | | | te-label-direction 1270 | | | | | +--rw label-end 1271 | | | | | | +--rw te-label 1272 | | | | | | +--rw (technology)? 1273 | | | | | | | +--:(generic) 1274 | | | | | | | +--rw generic? 1275 | | | | | | | rt-types:generalized-label 1276 | | | | | | +--rw direction? 1277 | | | | | | te-label-direction 1278 | | | | | +--rw label-step 1279 | | | | | | +--rw (technology)? 1280 | | | | | | +--:(generic) 1281 | | | | | | +--rw generic? int32 1282 | | | | | +--rw range-bitmap? yang:hex-string 1283 | | | | +--rw path-out-segment! 1284 | | | | | +--rw label-restrictions 1285 | | | | | +--rw label-restriction* [index] 1286 | | | | | +--rw restriction? enumeration 1287 | | | | | +--rw index uint32 1288 | | | | | +--rw label-start 1289 | | | | | | +--rw te-label 1290 | | | | | | +--rw (technology)? 1291 | | | | | | | +--:(generic) 1292 | | | | | | | +--rw generic? 1293 | | | | | | | rt-types:generalized-label 1294 | | | | | | +--rw direction? 1295 | | | | | | te-label-direction 1296 | | | | | +--rw label-end 1297 | | | | | | +--rw te-label 1298 | | | | | | +--rw (technology)? 1299 | | | | | | | +--:(generic) 1300 | | | | | | | +--rw generic? 1301 | | | | | | | rt-types:generalized-label 1302 | | | | | | +--rw direction? 1303 | | | | | | te-label-direction 1304 | | | | | +--rw label-step 1305 | | | | | | +--rw (technology)? 1306 | | | | | | +--:(generic) 1307 | | | | | | +--rw generic? int32 1308 | | | | | +--rw range-bitmap? yang:hex-string 1309 | | | | +--ro computed-paths-properties 1310 | | | | | +--ro computed-path-properties* [k-index] 1311 | | | | | +--ro k-index uint8 1312 | | | | | +--ro path-properties 1313 | | | | | +--ro path-metric* [metric-type] 1314 | | | | | | +--ro metric-type 1315 | | | | | | | identityref 1316 | | | | | | +--ro accumulative-value? uint64 1317 | | | | | +--ro path-affinities-values 1318 | | | | | | +--ro path-affinities-value* [usage] 1319 | | | | | | +--ro usage identityref 1320 | | | | | | +--ro value? admin-groups 1321 | | | | | +--ro path-affinity-names 1322 | | | | | | +--ro path-affinity-name* [usage] 1323 | | | | | | +--ro usage identityref 1324 | | | | | | +--ro affinity-name* [name] 1325 | | | | | | +--ro name string 1326 | | | | | +--ro path-srlgs-lists 1327 | | | | | | +--ro path-srlgs-list* [usage] 1328 | | | | | | +--ro usage identityref 1329 | | | | | | +--ro values* srlg 1330 | | | | | +--ro path-srlgs-names 1331 | | | | | | +--ro path-srlgs-name* [usage] 1332 | | | | | | +--ro usage identityref 1333 | | | | | | +--ro names* string 1334 | | | | | +--ro path-route-objects 1335 | | | | | | +--ro path-computed-route-object* 1336 | | | | | | [index] 1337 | | | | | | +--ro index 1338 | | | | | | | uint32 1339 | | | | | | +--ro (type)? 1340 | | | | | | +--:(numbered-node-hop) 1341 | | | | | | | +--ro numbered-node-hop 1342 | | | | | | | +--ro node-id 1343 | | | | | | | | te-node-id 1344 | | | | | | | +--ro hop-type? 1345 | | | | | | | te-hop-type 1346 | | | | | | +--:(numbered-link-hop) 1347 | | | | | | | +--ro numbered-link-hop 1348 | | | | | | | +--ro link-tp-id 1349 | | | | | | | | te-tp-id 1350 | | | | | | | +--ro hop-type? 1351 | | | | | | | | te-hop-type 1352 | | | | | | | +--ro direction? 1353 | | | | | | | te-link-direction 1354 | | | | | | +--:(unnumbered-link-hop) 1355 | | | | | | | +--ro unnumbered-link-hop 1356 | | | | | | | +--ro link-tp-id 1357 | | | | | | | | te-tp-id 1358 | | | | | | | +--ro node-id 1359 | | | | | | | | te-node-id 1360 | | | | | | | +--ro hop-type? 1361 | | | | | | | | te-hop-type 1362 | | | | | | | +--ro direction? 1363 | | | | | | | te-link-direction 1364 | | | | | | +--:(as-number) 1365 | | | | | | | +--ro as-number-hop 1366 | | | | | | | +--ro as-number 1367 | | | | | | | | inet:as-number 1368 | | | | | | | +--ro hop-type? 1369 | | | | | | | te-hop-type 1370 | | | | | | +--:(label) 1371 | | | | | | +--ro label-hop 1372 | | | | | | +--ro te-label 1373 | | | | | | +--ro (technology)? 1374 | | | | | | | +--:(generic) 1375 | | | | | | | +--ro generic? 1376 | | | | | | rt-types:generalized-label 1377 | | | | | | +--ro direction? 1378 | | | | | | te-label-direction 1379 | | | | | +--ro shared-resources-tunnels 1380 | | | | | +--ro lsp-shared-resources-tunnel* 1381 | | | | | tunnel-ref 1382 | | | | +--ro computed-path-error-infos 1383 | | | | | +--ro computed-path-error-info* [] 1384 | | | | | +--ro error-description? string 1385 | | | | | +--ro error-timestamp? 1386 | | | | | | yang:date-and-time 1387 | | | | | +--ro error-reason? identityref 1388 | | | | +--ro lsp-provisioning-error-infos 1389 | | | | | +--ro lsp-provisioning-error-info* [] 1390 | | | | | +--ro error-description? string 1391 | | | | | +--ro error-timestamp? 1392 | | | | | | yang:date-and-time 1393 | | | | | +--ro error-node-id? 1394 | | | | | | te-types:te-node-id 1395 | | | | | +--ro error-link-id? te-types:te-tp-id 1396 | | | | | +--ro lsp-id? uint16 1397 | | | | +--ro lsps 1398 | | | | | +--ro lsp* [lsp-id] 1399 | | | | | +--ro lsp-provisioning-error-infos 1400 | | | | | | +--ro lsp-provisioning-error-info* [] 1401 | | | | | | +--ro error-description? string 1402 | | | | | | +--ro error-timestamp? 1403 | | | | | | | yang:date-and-time 1404 | | | | | | +--ro error-node-id? 1405 | | | | | | | te-types:te-node-id 1406 | | | | | | +--ro error-link-id? 1407 | | | | | | te-types:te-tp-id 1408 | | | | | +--ro source? 1409 | | | | | | te-types:te-node-id 1410 | | | | | +--ro destination? 1411 | | | | | | te-types:te-node-id 1412 | | | | | +--ro tunnel-id? 1413 | | | | | | uint16 1414 | | | | | +--ro lsp-id 1415 | | | | | | uint16 1416 | | | | | +--ro extended-tunnel-id? 1417 | | | | | | yang:dotted-quad 1418 | | | | | +--ro operational-state? 1419 | | | | | | identityref 1420 | | | | | +--ro path-setup-protocol? 1421 | | | | | | identityref 1422 | | | | | +--ro origin-type? 1423 | | | | | | enumeration 1424 | | | | | +--ro lsp-resource-status? 1425 | | | | | | enumeration 1426 | | | | | +--ro lockout-of-normal? 1427 | | | | | | boolean 1428 | | | | | +--ro freeze? 1429 | | | | | | boolean 1430 | | | | | +--ro lsp-protection-role? 1431 | | | | | | enumeration 1432 | | | | | +--ro lsp-protection-state? 1433 | | | | | | identityref 1434 | | | | | +--ro protection-group-ingress-node-id? 1435 | | | | | | te-types:te-node-id 1436 | | | | | +--ro protection-group-egress-node-id? 1437 | | | | | | te-types:te-node-id 1438 | | | | | +--ro lsp-shared-resources-tunnel? 1439 | | | | | | tunnel-ref 1440 | | | | | +--ro lsp-record-route-information 1441 | | | | | | +--ro lsp-record-route-information* 1442 | | | | | | [index] 1443 | | | | | | +--ro index 1444 | | | | | | | uint32 1445 | | | | | | +--ro (type)? 1446 | | | | | | +--:(numbered-node-hop) 1447 | | | | | | | +--ro numbered-node-hop 1448 | | | | | | | +--ro node-id te-node-id 1449 | | | | | | | +--ro flags* 1450 | | | | | | | path-attribute-flags 1451 | | | | | | +--:(numbered-link-hop) 1452 | | | | | | | +--ro numbered-link-hop 1453 | | | | | | | +--ro link-tp-id te-tp-id 1454 | | | | | | | +--ro flags* 1455 | | | | | | | path-attribute-flags 1456 | | | | | | +--:(unnumbered-link-hop) 1457 | | | | | | | +--ro unnumbered-link-hop 1458 | | | | | | | +--ro link-tp-id te-tp-id 1459 | | | | | | | +--ro node-id? 1460 | | | | | | | | te-node-id 1461 | | | | | | | +--ro flags* 1462 | | | | | | | path-attribute-flags 1463 | | | | | | +--:(label) 1464 | | | | | | +--ro label-hop 1465 | | | | | | +--ro te-label 1466 | | | | | | | +--ro (technology)? 1467 | | | | | | | | +--:(generic) 1468 | | | | | | | | +--ro generic? 1469 | | | | | | | rt-types:generalized-label 1470 | | | | | | | +--ro direction? 1471 | | | | | | | te-label-direction 1472 | | | | | | +--ro flags* 1473 | | | | | | path-attribute-flags 1474 | | | | | +--ro path-properties 1475 | | | | | +--ro path-metric* [metric-type] 1476 | | | | | | +--ro metric-type 1477 | | | | | | | identityref 1478 | | | | | | +--ro accumulative-value? uint64 1479 | | | | | +--ro path-affinities-values 1480 | | | | | | +--ro path-affinities-value* [usage] 1481 | | | | | | +--ro usage identityref 1482 | | | | | | +--ro value? admin-groups 1483 | | | | | +--ro path-affinity-names 1484 | | | | | | +--ro path-affinity-name* [usage] 1485 | | | | | | +--ro usage identityref 1486 | | | | | | +--ro affinity-name* [name] 1487 | | | | | | +--ro name string 1488 | | | | | +--ro path-srlgs-lists 1489 | | | | | | +--ro path-srlgs-list* [usage] 1490 | | | | | | +--ro usage identityref 1491 | | | | | | +--ro values* srlg 1492 | | | | | +--ro path-srlgs-names 1493 | | | | | | +--ro path-srlgs-name* [usage] 1494 | | | | | | +--ro usage identityref 1495 | | | | | | +--ro names* string 1496 | | | | | +--ro path-route-objects 1497 | | | | | | +--ro path-computed-route-object* 1498 | | | | | | [index] 1499 | | | | | | +--ro index 1500 | | | | | | | uint32 1501 | | | | | | +--ro (type)? 1502 | | | | | | +--:(numbered-node-hop) 1503 | | | | | | | +--ro numbered-node-hop 1504 | | | | | | | +--ro node-id 1505 | | | | | | | | te-node-id 1506 | | | | | | | +--ro hop-type? 1507 | | | | | | | te-hop-type 1508 | | | | | | +--:(numbered-link-hop) 1509 | | | | | | | +--ro numbered-link-hop 1510 | | | | | | | +--ro link-tp-id 1511 | | | | | | | | te-tp-id 1512 | | | | | | | +--ro hop-type? 1513 | | | | | | | | te-hop-type 1514 | | | | | | | +--ro direction? 1515 | | | | | | | te-link-direction 1516 | | | | | | +--:(unnumbered-link-hop) 1517 | | | | | | | +--ro unnumbered-link-hop 1518 | | | | | | | +--ro link-tp-id 1519 | | | | | | | | te-tp-id 1520 | | | | | | | +--ro node-id 1521 | | | | | | | | te-node-id 1522 | | | | | | | +--ro hop-type? 1523 | | | | | | | | te-hop-type 1524 | | | | | | | +--ro direction? 1525 | | | | | | | te-link-direction 1526 | | | | | | +--:(as-number) 1527 | | | | | | | +--ro as-number-hop 1528 | | | | | | | +--ro as-number 1529 | | | | | | | | inet:as-number 1530 | | | | | | | +--ro hop-type? 1531 | | | | | | | te-hop-type 1532 | | | | | | +--:(label) 1533 | | | | | | +--ro label-hop 1534 | | | | | | +--ro te-label 1535 | | | | | | +--ro (technology)? 1536 | | | | | | | +--:(generic) 1537 | | | | | | | +--ro generic? 1538 | | | | | | rt-types:generalized-label 1539 | | | | | | +--ro direction? 1540 | | | | | | te-label-direction 1541 | | | | | +--ro shared-resources-tunnels 1542 | | | | | +--ro lsp-shared-resources-tunnel* 1543 | | | | | tunnel-ref 1544 | | | | +--rw p2p-secondary-reverse-path 1545 | | | | +--rw secondary-path? leafref 1546 | | | | +--rw path-setup-protocol? identityref 1547 | | | +--rw candidate-p2p-secondary-paths 1548 | | | +--rw candidate-p2p-secondary-path* 1549 | | | [secondary-path] 1550 | | | +--rw secondary-path leafref 1551 | | | +--rw path-setup-protocol? identityref 1552 | | | +--ro active? boolean 1553 | | +--rw p2p-secondary-paths 1554 | | | +--rw p2p-secondary-path* [name] 1555 | | | +--rw name string 1556 | | | +--rw path-setup-protocol? identityref 1557 | | | +--rw path-computation-method? identityref 1558 | | | +--rw path-computation-server? 1559 | | | | inet:ip-address 1560 | | | +--rw compute-only? empty 1561 | | | +--rw use-path-computation? boolean 1562 | | | +--rw lockdown? empty 1563 | | | +--ro path-scope? identityref 1564 | | | +--rw optimizations 1565 | | | | +--rw (algorithm)? 1566 | | | | +--:(metric) {path-optimization-metric}? 1567 | | | | | +--rw optimization-metric* [metric-type] 1568 | | | | | | +--rw metric-type 1569 | | | | | | | identityref 1570 | | | | | | +--rw weight? 1571 | | | | | | | uint8 1572 | | | | | | +--rw explicit-route-exclude-objects 1573 | | | | | | | +--rw route-object-exclude-object* 1574 | | | | | | | [index] 1575 | | | | | | | +--rw index 1576 | | | | | | | | uint32 1577 | | | | | | | +--rw (type)? 1578 | | | | | | | +--:(numbered-node-hop) 1579 | | | | | | | | +--rw numbered-node-hop 1580 | | | | | | | | +--rw node-id 1581 | | | | | | | | | te-node-id 1582 | | | | | | | | +--rw hop-type? 1583 | | | | | | | | te-hop-type 1584 | | | | | | | +--:(numbered-link-hop) 1585 | | | | | | | | +--rw numbered-link-hop 1586 | | | | | | | | +--rw link-tp-id 1587 | | | | | | | | | te-tp-id 1588 | | | | | | | | +--rw hop-type? 1589 | | | | | | | | | te-hop-type 1590 | | | | | | | | +--rw direction? 1591 | | | | | | | | te-link-direction 1592 | | | | | | | +--:(unnumbered-link-hop) 1593 | | | | | | | | +--rw unnumbered-link-hop 1594 | | | | | | | | +--rw link-tp-id 1595 | | | | | | | | | te-tp-id 1596 | | | | | | | | +--rw node-id 1597 | | | | | | | | | te-node-id 1598 | | | | | | | | +--rw hop-type? 1599 | | | | | | | | | te-hop-type 1600 | | | | | | | | +--rw direction? 1601 | | | | | | | | te-link-direction 1602 | | | | | | | +--:(as-number) 1603 | | | | | | | | +--rw as-number-hop 1604 | | | | | | | | +--rw as-number 1605 | | | | | | | | | inet:as-number 1606 | | | | | | | | +--rw hop-type? 1607 | | | | | | | | te-hop-type 1608 | | | | | | | +--:(label) 1609 | | | | | | | | +--rw label-hop 1610 | | | | | | | | +--rw te-label 1611 | | | | | | | | +--rw (technology)? 1612 | | | | | | | | | +--:(generic) 1613 | | | | | | | | | +--rw generic? 1614 | | | | | | | | rt-types:generalized-label 1615 | | | | | | | | +--rw direction? 1616 | | | | | | | | te-label-direction 1617 | | | | | | | +--:(srlg) 1618 | | | | | | | +--rw srlg 1619 | | | | | | | +--rw srlg? uint32 1620 | | | | | | +--rw explicit-route-include-objects 1621 | | | | | | +--rw route-object-include-object* 1622 | | | | | | [index] 1623 | | | | | | +--rw index 1624 | | | | | | | uint32 1625 | | | | | | +--rw (type)? 1626 | | | | | | +--:(numbered-node-hop) 1627 | | | | | | | +--rw numbered-node-hop 1628 | | | | | | | +--rw node-id 1629 | | | | | | | | te-node-id 1630 | | | | | | | +--rw hop-type? 1631 | | | | | | | te-hop-type 1632 | | | | | | +--:(numbered-link-hop) 1633 | | | | | | | +--rw numbered-link-hop 1634 | | | | | | | +--rw link-tp-id 1635 | | | | | | | | te-tp-id 1636 | | | | | | | +--rw hop-type? 1637 | | | | | | | | te-hop-type 1638 | | | | | | | +--rw direction? 1639 | | | | | | | te-link-direction 1640 | | | | | | +--:(unnumbered-link-hop) 1641 | | | | | | | +--rw unnumbered-link-hop 1642 | | | | | | | +--rw link-tp-id 1643 | | | | | | | | te-tp-id 1644 | | | | | | | +--rw node-id 1645 | | | | | | | | te-node-id 1646 | | | | | | | +--rw hop-type? 1647 | | | | | | | | te-hop-type 1648 | | | | | | | +--rw direction? 1649 | | | | | | | te-link-direction 1650 | | | | | | +--:(as-number) 1651 | | | | | | | +--rw as-number-hop 1652 | | | | | | | +--rw as-number 1653 | | | | | | | | inet:as-number 1654 | | | | | | | +--rw hop-type? 1655 | | | | | | | te-hop-type 1656 | | | | | | +--:(label) 1657 | | | | | | +--rw label-hop 1658 | | | | | | +--rw te-label 1659 | | | | | | +--rw (technology)? 1660 | | | | | | | +--:(generic) 1661 | | | | | | | +--rw generic? 1662 | | | | | | rt-types:generalized-label 1663 | | | | | | +--rw direction? 1664 | | | | | | te-label-direction 1665 | | | | | +--rw tiebreakers 1666 | | | | | +--rw tiebreaker* [tiebreaker-type] 1667 | | | | | +--rw tiebreaker-type identityref 1668 | | | | +--:(objective-function) 1669 | | | | {path-optimization-objective-function}? 1670 | | | | +--rw objective-function 1671 | | | | +--rw objective-function-type? 1672 | | | | identityref 1673 | | | +--rw preference? uint8 1674 | | | +--rw k-requested-paths? uint8 1675 | | | +--rw named-path-constraint? leafref 1676 | | | | {te-types:named-path-constraints}? 1677 | | | +--rw te-bandwidth 1678 | | | | +--rw (technology)? 1679 | | | | +--:(generic) 1680 | | | | +--rw generic? te-bandwidth 1681 | | | +--rw link-protection? identityref 1682 | | | +--rw setup-priority? uint8 1683 | | | +--rw hold-priority? uint8 1684 | | | +--rw signaling-type? identityref 1685 | | | +--rw path-metric-bounds 1686 | | | | +--rw path-metric-bound* [metric-type] 1687 | | | | +--rw metric-type identityref 1688 | | | | +--rw upper-bound? uint64 1689 | | | +--rw path-affinities-values 1690 | | | | +--rw path-affinities-value* [usage] 1691 | | | | +--rw usage identityref 1692 | | | | +--rw value? admin-groups 1693 | | | +--rw path-affinity-names 1694 | | | | +--rw path-affinity-name* [usage] 1695 | | | | +--rw usage identityref 1696 | | | | +--rw affinity-name* [name] 1697 | | | | +--rw name string 1698 | | | +--rw path-srlgs-lists 1699 | | | | +--rw path-srlgs-list* [usage] 1700 | | | | +--rw usage identityref 1701 | | | | +--rw values* srlg 1702 | | | +--rw path-srlgs-names 1703 | | | | +--rw path-srlgs-name* [usage] 1704 | | | | +--rw usage identityref 1705 | | | | +--rw names* string 1706 | | | +--rw disjointness? 1707 | | | | te-path-disjointness 1708 | | | +--rw explicit-route-objects-always 1709 | | | | +--rw route-object-exclude-always* [index] 1710 | | | | | +--rw index uint32 1711 | | | | | +--rw (type)? 1712 | | | | | +--:(numbered-node-hop) 1713 | | | | | | +--rw numbered-node-hop 1714 | | | | | | +--rw node-id te-node-id 1715 | | | | | | +--rw hop-type? te-hop-type 1716 | | | | | +--:(numbered-link-hop) 1717 | | | | | | +--rw numbered-link-hop 1718 | | | | | | +--rw link-tp-id te-tp-id 1719 | | | | | | +--rw hop-type? te-hop-type 1720 | | | | | | +--rw direction? te-link-direction 1721 | | | | | +--:(unnumbered-link-hop) 1722 | | | | | | +--rw unnumbered-link-hop 1723 | | | | | | +--rw link-tp-id te-tp-id 1724 | | | | | | +--rw node-id te-node-id 1725 | | | | | | +--rw hop-type? te-hop-type 1726 | | | | | | +--rw direction? te-link-direction 1727 | | | | | +--:(as-number) 1728 | | | | | | +--rw as-number-hop 1729 | | | | | | +--rw as-number inet:as-number 1730 | | | | | | +--rw hop-type? te-hop-type 1731 | | | | | +--:(label) 1732 | | | | | +--rw label-hop 1733 | | | | | +--rw te-label 1734 | | | | | +--rw (technology)? 1735 | | | | | | +--:(generic) 1736 | | | | | | +--rw generic? 1737 | | | | | | rt-types:generalized-label 1738 | | | | | +--rw direction? 1739 | | | | | te-label-direction 1740 | | | | +--rw route-object-include-exclude* [index] 1741 | | | | +--rw explicit-route-usage? identityref 1742 | | | | +--rw index uint32 1743 | | | | +--rw (type)? 1744 | | | | +--:(numbered-node-hop) 1745 | | | | | +--rw numbered-node-hop 1746 | | | | | +--rw node-id te-node-id 1747 | | | | | +--rw hop-type? te-hop-type 1748 | | | | +--:(numbered-link-hop) 1749 | | | | | +--rw numbered-link-hop 1750 | | | | | +--rw link-tp-id te-tp-id 1751 | | | | | +--rw hop-type? te-hop-type 1752 | | | | | +--rw direction? te-link-direction 1753 | | | | +--:(unnumbered-link-hop) 1754 | | | | | +--rw unnumbered-link-hop 1755 | | | | | +--rw link-tp-id te-tp-id 1756 | | | | | +--rw node-id te-node-id 1757 | | | | | +--rw hop-type? te-hop-type 1758 | | | | | +--rw direction? te-link-direction 1759 | | | | +--:(as-number) 1760 | | | | | +--rw as-number-hop 1761 | | | | | +--rw as-number inet:as-number 1762 | | | | | +--rw hop-type? te-hop-type 1763 | | | | +--:(label) 1764 | | | | | +--rw label-hop 1765 | | | | | +--rw te-label 1766 | | | | | +--rw (technology)? 1767 | | | | | | +--:(generic) 1768 | | | | | | +--rw generic? 1769 | | | | | | rt-types:generalized-label 1770 | | | | | +--rw direction? 1771 | | | | | te-label-direction 1772 | | | | +--:(srlg) 1773 | | | | +--rw srlg 1774 | | | | +--rw srlg? uint32 1775 | | | +--rw shared-resources-tunnels 1776 | | | | +--rw lsp-shared-resources-tunnel* tunnel-ref 1777 | | | +--rw path-in-segment! 1778 | | | | +--rw label-restrictions 1779 | | | | +--rw label-restriction* [index] 1780 | | | | +--rw restriction? enumeration 1781 | | | | +--rw index uint32 1782 | | | | +--rw label-start 1783 | | | | | +--rw te-label 1784 | | | | | +--rw (technology)? 1785 | | | | | | +--:(generic) 1786 | | | | | | +--rw generic? 1787 | | | | | | rt-types:generalized-label 1788 | | | | | +--rw direction? 1789 | | | | | te-label-direction 1790 | | | | +--rw label-end 1791 | | | | | +--rw te-label 1792 | | | | | +--rw (technology)? 1793 | | | | | | +--:(generic) 1794 | | | | | | +--rw generic? 1795 | | | | | | rt-types:generalized-label 1796 | | | | | +--rw direction? 1797 | | | | | te-label-direction 1798 | | | | +--rw label-step 1799 | | | | | +--rw (technology)? 1800 | | | | | +--:(generic) 1801 | | | | | +--rw generic? int32 1802 | | | | +--rw range-bitmap? yang:hex-string 1803 | | | +--rw path-out-segment! 1804 | | | | +--rw label-restrictions 1805 | | | | +--rw label-restriction* [index] 1806 | | | | +--rw restriction? enumeration 1807 | | | | +--rw index uint32 1808 | | | | +--rw label-start 1809 | | | | | +--rw te-label 1810 | | | | | +--rw (technology)? 1811 | | | | | | +--:(generic) 1812 | | | | | | +--rw generic? 1813 | | | | | | rt-types:generalized-label 1814 | | | | | +--rw direction? 1815 | | | | | te-label-direction 1816 | | | | +--rw label-end 1817 | | | | | +--rw te-label 1818 | | | | | +--rw (technology)? 1819 | | | | | | +--:(generic) 1820 | | | | | | +--rw generic? 1821 | | | | | | rt-types:generalized-label 1822 | | | | | +--rw direction? 1823 | | | | | te-label-direction 1824 | | | | +--rw label-step 1825 | | | | | +--rw (technology)? 1826 | | | | | +--:(generic) 1827 | | | | | +--rw generic? int32 1828 | | | | +--rw range-bitmap? yang:hex-string 1829 | | | +--rw protection 1830 | | | | +--rw enable? boolean 1831 | | | | +--rw protection-type? identityref 1832 | | | | +--rw protection-reversion-disable? boolean 1833 | | | | +--rw hold-off-time? uint32 1834 | | | | +--rw wait-to-revert? uint16 1835 | | | | +--rw aps-signal-id? uint8 1836 | | | +--rw restoration 1837 | | | | +--rw enable? boolean 1838 | | | | +--rw restoration-type? identityref 1839 | | | | +--rw restoration-scheme? identityref 1840 | | | | +--rw restoration-reversion-disable? boolean 1841 | | | | +--rw hold-off-time? uint32 1842 | | | | +--rw wait-to-restore? uint16 1843 | | | | +--rw wait-to-revert? uint16 1844 | | | +--ro computed-paths-properties 1845 | | | | +--ro computed-path-properties* [k-index] 1846 | | | | +--ro k-index uint8 1847 | | | | +--ro path-properties 1848 | | | | +--ro path-metric* [metric-type] 1849 | | | | | +--ro metric-type identityref 1850 | | | | | +--ro accumulative-value? uint64 1851 | | | | +--ro path-affinities-values 1852 | | | | | +--ro path-affinities-value* [usage] 1853 | | | | | +--ro usage identityref 1854 | | | | | +--ro value? admin-groups 1855 | | | | +--ro path-affinity-names 1856 | | | | | +--ro path-affinity-name* [usage] 1857 | | | | | +--ro usage identityref 1858 | | | | | +--ro affinity-name* [name] 1859 | | | | | +--ro name string 1860 | | | | +--ro path-srlgs-lists 1861 | | | | | +--ro path-srlgs-list* [usage] 1862 | | | | | +--ro usage identityref 1863 | | | | | +--ro values* srlg 1864 | | | | +--ro path-srlgs-names 1865 | | | | | +--ro path-srlgs-name* [usage] 1866 | | | | | +--ro usage identityref 1867 | | | | | +--ro names* string 1868 | | | | +--ro path-route-objects 1869 | | | | | +--ro path-computed-route-object* [index] 1870 | | | | | +--ro index 1871 | | | | | | uint32 1872 | | | | | +--ro (type)? 1873 | | | | | +--:(numbered-node-hop) 1874 | | | | | | +--ro numbered-node-hop 1875 | | | | | | +--ro node-id te-node-id 1876 | | | | | | +--ro hop-type? te-hop-type 1877 | | | | | +--:(numbered-link-hop) 1878 | | | | | | +--ro numbered-link-hop 1879 | | | | | | +--ro link-tp-id te-tp-id 1880 | | | | | | +--ro hop-type? 1881 | | | | | | | te-hop-type 1882 | | | | | | +--ro direction? 1883 | | | | | | te-link-direction 1884 | | | | | +--:(unnumbered-link-hop) 1885 | | | | | | +--ro unnumbered-link-hop 1886 | | | | | | +--ro link-tp-id te-tp-id 1887 | | | | | | +--ro node-id 1888 | | | | | | | te-node-id 1889 | | | | | | +--ro hop-type? 1890 | | | | | | | te-hop-type 1891 | | | | | | +--ro direction? 1892 | | | | | | te-link-direction 1893 | | | | | +--:(as-number) 1894 | | | | | | +--ro as-number-hop 1895 | | | | | | +--ro as-number 1896 | | | | | | | inet:as-number 1897 | | | | | | +--ro hop-type? 1898 | | | | | | te-hop-type 1899 | | | | | +--:(label) 1900 | | | | | +--ro label-hop 1901 | | | | | +--ro te-label 1902 | | | | | +--ro (technology)? 1903 | | | | | | +--:(generic) 1904 | | | | | | +--ro generic? 1905 | | | | | | rt-types:generalized-label 1906 | | | | | +--ro direction? 1907 | | | | | te-label-direction 1908 | | | | +--ro shared-resources-tunnels 1909 | | | | +--ro lsp-shared-resources-tunnel* 1910 | | | | tunnel-ref 1911 | | | +--ro computed-path-error-infos 1912 | | | | +--ro computed-path-error-info* [] 1913 | | | | +--ro error-description? string 1914 | | | | +--ro error-timestamp? yang:date-and-time 1915 | | | | +--ro error-reason? identityref 1916 | | | +--ro lsp-provisioning-error-infos 1917 | | | | +--ro lsp-provisioning-error-info* [] 1918 | | | | +--ro error-description? string 1919 | | | | +--ro error-timestamp? yang:date-and-time 1920 | | | | +--ro error-node-id? te-types:te-node-id 1921 | | | | +--ro error-link-id? te-types:te-tp-id 1922 | | | | +--ro lsp-id? uint16 1923 | | | +--ro lsps 1924 | | | +--ro lsp* [lsp-id] 1925 | | | +--ro lsp-provisioning-error-infos 1926 | | | | +--ro lsp-provisioning-error-info* [] 1927 | | | | +--ro error-description? string 1928 | | | | +--ro error-timestamp? 1929 | | | | | yang:date-and-time 1930 | | | | +--ro error-node-id? 1931 | | | | | te-types:te-node-id 1932 | | | | +--ro error-link-id? 1933 | | | | te-types:te-tp-id 1934 | | | +--ro source? 1935 | | | | te-types:te-node-id 1936 | | | +--ro destination? 1937 | | | | te-types:te-node-id 1938 | | | +--ro tunnel-id? 1939 | | | | uint16 1940 | | | +--ro lsp-id 1941 | | | | uint16 1942 | | | +--ro extended-tunnel-id? 1943 | | | | yang:dotted-quad 1944 | | | +--ro operational-state? 1945 | | | | identityref 1946 | | | +--ro path-setup-protocol? 1947 | | | | identityref 1948 | | | +--ro origin-type? 1949 | | | | enumeration 1950 | | | +--ro lsp-resource-status? 1951 | | | | enumeration 1952 | | | +--ro lockout-of-normal? 1953 | | | | boolean 1954 | | | +--ro freeze? 1955 | | | | boolean 1956 | | | +--ro lsp-protection-role? 1957 | | | | enumeration 1958 | | | +--ro lsp-protection-state? 1959 | | | | identityref 1960 | | | +--ro protection-group-ingress-node-id? 1961 | | | | te-types:te-node-id 1962 | | | +--ro protection-group-egress-node-id? 1963 | | | | te-types:te-node-id 1964 | | | +--ro lsp-shared-resources-tunnel? 1965 | | | | tunnel-ref 1966 | | | +--ro lsp-record-route-information 1967 | | | | +--ro lsp-record-route-information* [index] 1968 | | | | +--ro index uint32 1969 | | | | +--ro (type)? 1970 | | | | +--:(numbered-node-hop) 1971 | | | | | +--ro numbered-node-hop 1972 | | | | | +--ro node-id te-node-id 1973 | | | | | +--ro flags* 1974 | | | | | path-attribute-flags 1975 | | | | +--:(numbered-link-hop) 1976 | | | | | +--ro numbered-link-hop 1977 | | | | | +--ro link-tp-id te-tp-id 1978 | | | | | +--ro flags* 1979 | | | | | path-attribute-flags 1980 | | | | +--:(unnumbered-link-hop) 1981 | | | | | +--ro unnumbered-link-hop 1982 | | | | | +--ro link-tp-id te-tp-id 1983 | | | | | +--ro node-id? te-node-id 1984 | | | | | +--ro flags* 1985 | | | | | path-attribute-flags 1986 | | | | +--:(label) 1987 | | | | +--ro label-hop 1988 | | | | +--ro te-label 1989 | | | | | +--ro (technology)? 1990 | | | | | | +--:(generic) 1991 | | | | | | +--ro generic? 1992 | | | | | | rt-types:generalized-label 1993 | | | | | +--ro direction? 1994 | | | | | te-label-direction 1995 | | | | +--ro flags* 1996 | | | | path-attribute-flags 1997 | | | +--ro path-properties 1998 | | | | +--ro path-metric* [metric-type] 1999 | | | | | +--ro metric-type identityref 2000 | | | | | +--ro accumulative-value? uint64 2001 | | | | +--ro path-affinities-values 2002 | | | | | +--ro path-affinities-value* [usage] 2003 | | | | | +--ro usage identityref 2004 | | | | | +--ro value? admin-groups 2005 | | | | +--ro path-affinity-names 2006 | | | | | +--ro path-affinity-name* [usage] 2007 | | | | | +--ro usage identityref 2008 | | | | | +--ro affinity-name* [name] 2009 | | | | | +--ro name string 2010 | | | | +--ro path-srlgs-lists 2011 | | | | | +--ro path-srlgs-list* [usage] 2012 | | | | | +--ro usage identityref 2013 | | | | | +--ro values* srlg 2014 | | | | +--ro path-srlgs-names 2015 | | | | | +--ro path-srlgs-name* [usage] 2016 | | | | | +--ro usage identityref 2017 | | | | | +--ro names* string 2018 | | | | +--ro path-route-objects 2019 | | | | | +--ro path-computed-route-object* [index] 2020 | | | | | +--ro index 2021 | | | | | | uint32 2022 | | | | | +--ro (type)? 2023 | | | | | +--:(numbered-node-hop) 2024 | | | | | | +--ro numbered-node-hop 2025 | | | | | | +--ro node-id te-node-id 2026 | | | | | | +--ro hop-type? te-hop-type 2027 | | | | | +--:(numbered-link-hop) 2028 | | | | | | +--ro numbered-link-hop 2029 | | | | | | +--ro link-tp-id te-tp-id 2030 | | | | | | +--ro hop-type? 2031 | | | | | | | te-hop-type 2032 | | | | | | +--ro direction? 2033 | | | | | | te-link-direction 2034 | | | | | +--:(unnumbered-link-hop) 2035 | | | | | | +--ro unnumbered-link-hop 2036 | | | | | | +--ro link-tp-id te-tp-id 2037 | | | | | | +--ro node-id 2038 | | | | | | | te-node-id 2039 | | | | | | +--ro hop-type? 2040 | | | | | | | te-hop-type 2041 | | | | | | +--ro direction? 2042 | | | | | | te-link-direction 2043 | | | | | +--:(as-number) 2044 | | | | | | +--ro as-number-hop 2045 | | | | | | +--ro as-number 2046 | | | | | | | inet:as-number 2047 | | | | | | +--ro hop-type? 2048 | | | | | | te-hop-type 2049 | | | | | +--:(label) 2050 | | | | | +--ro label-hop 2051 | | | | | +--ro te-label 2052 | | | | | +--ro (technology)? 2053 | | | | | | +--:(generic) 2054 | | | | | | +--ro generic? 2055 | | | | | | rt-types:generalized-label 2056 | | | | | +--ro direction? 2057 | | | | | te-label-direction 2058 | | | | +--ro shared-resources-tunnels 2059 | | | | +--ro lsp-shared-resources-tunnel* 2060 | | | | tunnel-ref 2061 | | | +--ro te-dev:lsp-timers 2062 | | | | +--ro te-dev:life-time? uint32 2063 | | | | +--ro te-dev:time-to-install? uint32 2064 | | | | +--ro te-dev:time-to-destroy? uint32 2065 | | | +--ro te-dev:downstream-info 2066 | | | | +--ro te-dev:nhop? 2067 | | | | | inet:ip-address 2068 | | | | +--ro te-dev:outgoing-interface? 2069 | | | | | if:interface-ref 2070 | | | | +--ro te-dev:neighbor? 2071 | | | | | inet:ip-address 2072 | | | | +--ro te-dev:label? 2073 | | | | rt-types:generalized-label 2074 | | | +--ro te-dev:upstream-info 2075 | | | +--ro te-dev:phop? inet:ip-address 2076 | | | +--ro te-dev:neighbor? inet:ip-address 2077 | | | +--ro te-dev:label? 2078 | | | rt-types:generalized-label 2079 | | +---x tunnel-action 2080 | | | +---w input 2081 | | | | +---w action-type? identityref 2082 | | | +--ro output 2083 | | | +--ro action-result? identityref 2084 | | +---x protection-external-commands 2085 | | | +---w input 2086 | | | +---w protection-external-command? identityref 2087 | | | +---w protection-group-ingress-node-id? 2088 | | | | te-types:te-node-id 2089 | | | +---w protection-group-egress-node-id? 2090 | | | | te-types:te-node-id 2091 | | | +---w path-ref? path-ref 2092 | | | +---w traffic-type? enumeration 2093 | | | +---w extra-traffic-tunnel-ref? tunnel-ref 2094 | | +--rw te-dev:lsp-install-interval? uint32 2095 | | +--rw te-dev:lsp-cleanup-interval? uint32 2096 | | +--rw te-dev:lsp-invalidation-interval? uint32 2097 | +--rw tunnel-p2mp* [name] 2098 | +--rw name string 2099 | +--rw identifier? uint16 2100 | +--rw description? string 2101 | +--ro operational-state? identityref 2102 +--ro lsps-state 2103 | +--ro lsp* 2104 | [source destination tunnel-id lsp-id extended-tunnel-id] 2105 | +--ro source 2106 | | te-types:te-node-id 2107 | +--ro destination 2108 | | te-types:te-node-id 2109 | +--ro tunnel-id uint16 2110 | +--ro lsp-id uint16 2111 | +--ro extended-tunnel-id yang:dotted-quad 2112 | +--ro operational-state? identityref 2113 | +--ro path-setup-protocol? identityref 2114 | +--ro origin-type? enumeration 2115 | +--ro lsp-resource-status? enumeration 2116 | +--ro lockout-of-normal? boolean 2117 | +--ro freeze? boolean 2118 | +--ro lsp-protection-role? enumeration 2119 | +--ro lsp-protection-state? identityref 2120 | +--ro protection-group-ingress-node-id? 2121 | | te-types:te-node-id 2122 | +--ro protection-group-egress-node-id? 2123 | | te-types:te-node-id 2124 | +--ro lsp-record-route-information 2125 | | +--ro lsp-record-route-information* [index] 2126 | | +--ro index uint32 2127 | | +--ro (type)? 2128 | | +--:(numbered-node-hop) 2129 | | | +--ro numbered-node-hop 2130 | | | +--ro node-id te-node-id 2131 | | | +--ro flags* path-attribute-flags 2132 | | +--:(numbered-link-hop) 2133 | | | +--ro numbered-link-hop 2134 | | | +--ro link-tp-id te-tp-id 2135 | | | +--ro flags* path-attribute-flags 2136 | | +--:(unnumbered-link-hop) 2137 | | | +--ro unnumbered-link-hop 2138 | | | +--ro link-tp-id te-tp-id 2139 | | | +--ro node-id? te-node-id 2140 | | | +--ro flags* path-attribute-flags 2141 | | +--:(label) 2142 | | +--ro label-hop 2143 | | +--ro te-label 2144 | | | +--ro (technology)? 2145 | | | | +--:(generic) 2146 | | | | +--ro generic? 2147 | | | | rt-types:generalized-label 2148 | | | +--ro direction? te-label-direction 2149 | | +--ro flags* path-attribute-flags 2150 | +--ro te-dev:lsp-timers 2151 | | +--ro te-dev:life-time? uint32 2152 | | +--ro te-dev:time-to-install? uint32 2153 | | +--ro te-dev:time-to-destroy? uint32 2154 | +--ro te-dev:downstream-info 2155 | | +--ro te-dev:nhop? inet:ip-address 2156 | | +--ro te-dev:outgoing-interface? if:interface-ref 2157 | | +--ro te-dev:neighbor? inet:ip-address 2158 | | +--ro te-dev:label? 2159 | | rt-types:generalized-label 2160 | +--ro te-dev:upstream-info 2161 | +--ro te-dev:phop? inet:ip-address 2162 | +--ro te-dev:neighbor? inet:ip-address 2163 | +--ro te-dev:label? rt-types:generalized-label 2164 +--rw te-dev:interfaces 2165 | +--rw te-dev:threshold-type? enumeration 2166 | +--rw te-dev:delta-percentage? rt-types:percentage 2167 | +--rw te-dev:threshold-specification? enumeration 2168 | +--rw te-dev:up-thresholds* rt-types:percentage 2169 | +--rw te-dev:down-thresholds* rt-types:percentage 2170 | +--rw te-dev:up-down-thresholds* rt-types:percentage 2171 | +--rw te-dev:interface* [interface] 2172 | +--rw te-dev:interface 2173 | | if:interface-ref 2174 | +--rw te-dev:te-metric? 2175 | | te-types:te-metric 2176 | +--rw (te-dev:admin-group-type)? 2177 | | +--:(te-dev:value-admin-groups) 2178 | | | +--rw (te-dev:value-admin-group-type)? 2179 | | | +--:(te-dev:admin-groups) 2180 | | | | +--rw te-dev:admin-group? 2181 | | | | te-types:admin-group 2182 | | | +--:(te-dev:extended-admin-groups) 2183 | | | {te-types:extended-admin-groups}? 2184 | | | +--rw te-dev:extended-admin-group? 2185 | | | te-types:extended-admin-group 2186 | | +--:(te-dev:named-admin-groups) 2187 | | +--rw te-dev:named-admin-groups* [named-admin-group] 2188 | | +--rw te-dev:named-admin-group leafref 2189 | +--rw (te-dev:srlg-type)? 2190 | | +--:(te-dev:value-srlgs) 2191 | | | +--rw te-dev:values* [value] 2192 | | | +--rw te-dev:value uint32 2193 | | +--:(te-dev:named-srlgs) 2194 | | +--rw te-dev:named-srlgs* [named-srlg] 2195 | | {te-types:named-srlg-groups}? 2196 | | +--rw te-dev:named-srlg leafref 2197 | +--rw te-dev:threshold-type? 2198 | | enumeration 2199 | +--rw te-dev:delta-percentage? 2200 | | rt-types:percentage 2201 | +--rw te-dev:threshold-specification? 2202 | | enumeration 2203 | +--rw te-dev:up-thresholds* 2204 | | rt-types:percentage 2205 | +--rw te-dev:down-thresholds* 2206 | | rt-types:percentage 2207 | +--rw te-dev:up-down-thresholds* 2208 | | rt-types:percentage 2209 | +--rw te-dev:switching-capabilities* [switching-capability] 2210 | | +--rw te-dev:switching-capability identityref 2211 | | +--rw te-dev:encoding? identityref 2212 | +--ro te-dev:state 2213 | +--ro te-dev:te-advertisements-state 2214 | +--ro te-dev:flood-interval? uint32 2215 | +--ro te-dev:last-flooded-time? uint32 2216 | +--ro te-dev:next-flooded-time? uint32 2217 | +--ro te-dev:last-flooded-trigger? enumeration 2218 | +--ro te-dev:advertized-level-areas* [level-area] 2219 | +--ro te-dev:level-area uint32 2220 +--rw te-dev:performance-thresholds 2222 rpcs: 2223 +---x globals-rpc 2224 +---x interfaces-rpc 2225 +---x tunnels-rpc 2226 +---w input 2227 | +---w tunnel-info 2228 | +---w (type)? 2229 | +--:(tunnel-p2p) 2230 | | +---w p2p-id? tunnel-ref 2231 | +--:(tunnel-p2mp) 2232 | +---w p2mp-id? tunnel-p2mp-ref 2233 +--ro output 2234 +--ro result 2235 +--ro result? enumeration 2237 notifications: 2238 +---n globals-notif 2239 +---n tunnels-notif 2240 module: ietf-te-device 2242 rpcs: 2243 +---x interfaces-rpc 2245 notifications: 2246 +---n interfaces-notif 2248 Figure 3: TE generic model configuration and state tree 2250 3. Model Organization 2252 The TE generic YANG data module "ietf-te" covers configuration, 2253 state, RPC and notifications data pertaining to TE global, tunnels 2254 and LSPs parameters that are device independent. 2256 The container "te" is the top level container in the data model. The 2257 presence of this container enables TE function system wide. 2259 The model top level organization is shown below in Figure 4: 2261 module: ietf-te 2262 +--rw te! 2263 +--rw globals 2264 . 2265 . 2267 +--rw tunnels 2268 . 2269 . 2271 +-- lsps-state 2273 rpcs: 2274 +---x globals-rpc 2275 +---x tunnels-rpc 2276 notifications: 2277 +---n globals-notif 2278 +---n tunnels-notif 2280 Figure 4: TE generic highlevel model view 2282 3.1. Global Configuration and State Data 2284 The global TE branch of the data model covers configurations that 2285 control TE features behavior system-wide, and its respective state. 2286 Examples of such configuration data are: 2288 o Table of named SRLG mappings 2290 o Table of named (extended) administrative groups mappings 2292 o Table of named path-constraints sets 2294 o System-wide capabilities for LSP reoptimization 2296 * Reoptimization timers (periodic interval, LSP installation and 2297 cleanup) 2299 * Link state flooding thresholds 2301 * Periodic flooding interval 2303 o Global capabilities that affect originating, transiting and 2304 terminating LSPs. For example: 2306 * Path selection parameters (e.g. metric to optimize, etc.) 2308 * Path or segment protection parameters 2310 3.2. Interfaces Configuration and State Data 2312 This branch of the model covers configuration and state data 2313 corresponding to TE interfaces that are present on a device. The 2314 module "ietf-te-device" is introduced to hold such TE device specific 2315 properties. 2317 Examples of TE interface properties are: * Maximum reservable 2318 bandwidth, bandwidth constraints (BC) * Flooding parameters * 2319 Flooding intervals and threshold values * interface attributes * 2320 (Extended) administrative groups * SRLG values * TE metric value * 2321 Fast reroute backup tunnel properties (such as static, auto-tunnel) 2323 module: ietf-te-device 2324 augment /te:te: 2325 +--rw interfaces 2326 . 2327 +-- rw te-dev:te-attributes 2328 <> 2329 . 2330 +-- ro state 2331 <> 2333 Figure 5: TE interface state 2335 The derived state associated with interfaces is grouped under the 2336 interface "state" sub-container as shown in Figure 5. This covers 2337 state data such as: 2339 o Bandwidth information: maximum bandwidth, available bandwidth at 2340 different priorities and for each class-type (CT) 2342 o List of admitted LSPs 2344 * Name, bandwidth value and pool, time, priority 2346 o Statistics: state counters, flooding counters, admission counters 2347 (accepted/rejected), preemption counters 2349 o Adjacency information 2351 * Neighbor address 2353 * Metric value 2355 3.3. Tunnels Configuration and State Data 2357 This branch covers data related to TE tunnels configuration and 2358 state. The derived state associated with tunnels is grouped under a 2359 state container as shown in Figure 6. 2361 module: ietf-te 2362 +--rw te! 2363 +--rw tunnels 2364 <> 2365 . 2366 +-- ro state 2367 <> 2369 Figure 6: TE interface state tree 2371 Examples of tunnel configuration data for TE tunnels: 2373 o Name and type (e.g. P2P, P2MP) of the TE tunnel 2375 o Administrative and operational state of the TE tunnel 2377 o Set of primary and corresponding secondary paths and corresponding 2378 path attributes 2380 o Bidirectional path attribute(s) including forwarding and reverse 2381 path properties 2383 o Protection and restoration path parameters 2385 3.3.1. Tunnel Compute-Only Mode 2387 A configured TE tunnel, by default, is provisioned so it can carry 2388 traffic as soon as a valid path is computed and an LSP instantiated. 2389 In some cases, however, a TE tunnel may be provisioned for the only 2390 purpose of computing a path and reporting it without the need to 2391 instantiate the LSP or commit any resources. In such a case, the 2392 tunnel is configured in "compute-only" mode to distinguish it from 2393 default tunnel behavior. 2395 A "compute-only" TE tunnel is configured as a usual TE tunnel with 2396 associated per path constraint(s) and properties on a device or 2397 controller. The device or controller computes the feasible path(s) 2398 subject to configured constraints and reflects the computed path(s) 2399 in the LSP(s) Record-Route Object (RRO) list. At any time, a client 2400 may query "on-demand" the "compute-only" TE tunnel computed path(s) 2401 properties by querying the state of the tunnel. Alternatively, the 2402 client can subscribe on the "compute-only" TE tunnel to be notified 2403 of computed path(s) and whenever it changes. 2405 3.3.2. Tunnel Hierarchical Link Endpoint 2407 TE LSPs can be set up in MPLS or Generalized MPLS (GMPLS) networks to 2408 be used to form links to carry traffic in in other (client) networks 2409 [RFC6107]. In this case, the model introduces the TE tunnel 2410 hierarchical link endpoint parameters to identify the specific link 2411 in the client layer that the underlying TE tunnel is associated with. 2413 3.4. TE LSPs State Data 2415 TE LSPs are derived state data that are present whenever the LSP(s) 2416 are instantiated - for example, when associated signaling completes. 2417 TE LSPs exists on routers as ingress (starting point of LSP), transit 2418 (mid-point of LSP ), or egress (termination point of the LSP). In 2419 the model, the nodes holding TE LSP data exist in the read-only lsps- 2420 state list as show in Figure 3. 2422 3.5. Global RPC Data 2424 This branch of the model covers system-wide RPC execution data to 2425 trigger actions and optionally expect responses. Examples of such TE 2426 commands are to: 2428 o Clear global TE statistics of various features 2430 3.6. Interface RPC Data 2432 This collection of data in the model defines TE interface RPC 2433 execution commands. Examples of these are to: 2435 o Clear TE statistics for all or for individual TE interfaces 2437 o Trigger immediate flooding for one or all TE interfaces 2439 3.7. Tunnel RPC Data 2441 This branch of the model covers TE tunnel RPC execution data to 2442 trigger actions and expect responses. The TE generic YANG data model 2443 defines target containers that an external module in 2444 [I-D.ietf-teas-yang-path-computation] augments with RPCs that allow 2445 the invocation of certain TE functions (e.g. path computations). 2447 4. TE Generic and Helper YANG Modules 2449 The TE generic YANG module "ietf-te" imports the following modules: 2451 o ietf-yang-types and ietf-inet-types defined in [RFC6991] 2453 o ietf-te-types defined in [I-D.ietf-teas-yang-te-types] 2455 This module references the following documents: [RFC6991], [RFC4875], 2456 [RFC7551], [RFC4206], [RFC4427], [RFC4872], [RFC3945], [RFC3209], 2457 [RFC4872], [RFC6780], and [RFC7308]. 2459 file "ietf-te@2019-04-09.yang" 2460 module ietf-te { 2461 yang-version 1.1; 2463 namespace "urn:ietf:params:xml:ns:yang:ietf-te"; 2465 /* Replace with IANA when assigned */ 2466 prefix "te"; 2468 /* Import TE generic types */ 2469 import ietf-te-types { 2470 prefix te-types; 2471 reference "draft-ietf-teas-yang-te-types: A YANG Data Model for 2472 Common Traffic Engineering Types"; 2473 } 2475 import ietf-inet-types { 2476 prefix inet; 2477 reference "RFC6991: Common YANG Data Types"; 2478 } 2480 import ietf-yang-types { 2481 prefix "yang"; 2482 reference "RFC6991: Common YANG Data Types"; 2483 } 2485 organization 2486 "IETF Traffic Engineering Architecture and Signaling (TEAS) 2487 Working Group"; 2489 contact 2490 "WG Web: 2491 WG List: 2493 WG Chair: Lou Berger 2494 2496 WG Chair: Vishnu Pavan Beeram 2497 2499 Editor: Tarek Saad 2500 2502 Editor: Rakesh Gandhi 2503 2505 Editor: Vishnu Pavan Beeram 2506 2508 Editor: Himanshu Shah 2509 2511 Editor: Xufeng Liu 2512 2514 Editor: Igor Bryskin 2515 "; 2517 description 2518 "YANG data module for TE configuration, 2519 state, RPC and notifications."; 2521 revision "2019-04-09" { 2522 description "Latest update to TE generic YANG module."; 2523 reference 2524 "RFCXXXX: A YANG Data Model for Traffic Engineering Tunnels 2525 and Interfaces"; 2526 } 2528 identity path-computation-error-reason { 2529 description 2530 "Base identity for path computation error reasons"; 2531 } 2532 identity path-computation-error-no-topology { 2533 base path-computation-error-reason; 2534 description 2535 "Path computation error no topology error reason"; 2536 } 2537 identity path-computation-error-no-server { 2538 base path-computation-error-reason; 2539 description 2540 "Path computation error no server error reason"; 2541 } 2542 identity path-computation-error-path-not-found { 2543 base path-computation-error-reason; 2544 description 2545 "Path computation no path found error reason"; 2546 } 2548 typedef tunnel-ref { 2549 type leafref { 2550 path "/te:te/te:tunnels/te:tunnel/te:name"; 2551 } 2552 description 2553 "This type is used by data models that need to reference 2554 configured TE tunnel."; 2555 } 2557 typedef tunnel-p2mp-ref { 2558 type leafref { 2559 path "/te:te/te:tunnels/te:tunnel-p2mp/te:name"; 2560 } 2561 description 2562 "This type is used by data models that need to reference 2563 configured P2MP TE tunnel."; 2564 reference "RFC4875"; 2565 } 2567 typedef path-ref { 2568 type union { 2569 type leafref { 2570 path "/te:te/te:tunnels/te:tunnel/" + 2571 "te:p2p-primary-paths/te:p2p-primary-path/te:name"; 2572 } 2573 type leafref { 2574 path "/te:te/te:tunnels/te:tunnel/" + 2575 "te:p2p-secondary-paths/te:p2p-secondary-path/te:name"; 2576 } 2577 } 2578 description 2579 "This type is used by data models that need to reference 2580 configured primary or secondary path of a TE tunnel."; 2581 } 2583 /** 2584 * TE tunnel generic groupings 2585 */ 2586 grouping p2p-secondary-path-properties { 2587 description "tunnel path properties."; 2588 uses p2p-path-properties; 2589 uses path-constraints-common; 2590 uses protection-restoration-properties; 2591 uses p2p-path-properties-state; 2593 } 2595 grouping p2p-primary-path-properties { 2596 description 2597 "TE tunnel primary path properties grouping"; 2598 uses p2p-path-properties; 2599 uses path-constraints-common; 2600 uses p2p-path-properties-state; 2601 } 2603 grouping path-properties { 2604 description "TE computed path properties grouping"; 2605 container path-properties { 2606 description "The TE path computed properties"; 2607 list path-metric { 2608 key metric-type; 2609 description "TE path metric type"; 2610 leaf metric-type { 2611 type identityref { 2612 base te-types:path-metric-type; 2613 } 2614 description "TE path metric type"; 2615 } 2616 leaf accumulative-value { 2617 type uint64; 2618 description "TE path metric accumulative value"; 2619 } 2620 } 2621 uses te-types:generic-path-affinities; 2622 uses te-types:generic-path-srlgs; 2623 container path-route-objects { 2624 config 'false'; 2625 description 2626 "Container for the list of computed route objects 2627 as returned by the computation engine"; 2628 list path-computed-route-object { 2629 key index; 2630 ordered-by user; 2631 description 2632 "List of computed route objects returned by the 2633 computation engine"; 2634 leaf index { 2635 type uint32; 2636 description 2637 "Route object entry index. The index is used to 2638 identify an entry in the list. The order of entries 2639 is defined by the user without relying on key values"; 2640 } 2641 uses te-types:explicit-route-hop; 2642 } 2643 } 2644 uses shared-resources-tunnels; 2645 } 2646 } 2648 grouping p2p-path-properties-state { 2649 description "TE per path state parameters"; 2650 container computed-paths-properties { 2651 config 'false'; 2652 description "Computed path properties container"; 2653 list computed-path-properties { 2654 key k-index; 2655 description "List of computed paths"; 2656 leaf k-index { 2657 type uint8; 2658 description 2659 "The k-th path returned from the computation server. 2660 A lower k value path is more optimal than higher k 2661 value path(s)"; 2662 } 2663 uses path-properties { 2664 description "The TE path computed properties"; 2665 } 2666 } 2667 } 2668 uses computed-path-error-info; 2669 uses lsp-provisioning-error-info { 2670 augment "lsp-provisioning-error-infos/" + 2671 "lsp-provisioning-error-info" { 2672 description 2673 "Augmentation of LSP provisioning information under a 2674 specific path"; 2675 leaf lsp-id { 2676 type uint16; 2677 description 2678 "The LSP-ID for which path compatutation was performed."; 2679 } 2680 } 2681 } 2682 container lsps { 2683 config 'false'; 2684 description "TE LSPs container"; 2685 list lsp { 2686 key "lsp-id"; 2687 description "List of LSPs associated with the tunnel."; 2688 uses lsp-provisioning-error-info; 2689 uses lsp-properties-state; 2690 uses shared-resources-tunnels-state; 2691 uses lsp-record-route-information-state; 2692 uses path-properties { 2693 description "The TE path actual properties"; 2694 } 2695 } 2696 } 2697 } 2699 grouping computed-path-error-info { 2700 description 2701 "Grouping for path computation error information"; 2702 container computed-path-error-infos { 2703 config false; 2704 description 2705 "Path computation information container"; 2706 list computed-path-error-info { 2707 description 2708 "List of path computation info entries"; 2709 leaf error-description { 2710 type string; 2711 description 2712 "Textual representation of the error occurred during 2713 path compuation."; 2714 } 2715 leaf error-timestamp { 2716 type yang:date-and-time; 2717 description 2718 "Timestamp of last path computation attempt."; 2719 } 2720 leaf error-reason { 2721 type identityref { 2722 base path-computation-error-reason; 2723 } 2724 description 2725 "Reason for the path computation error."; 2726 } 2727 } 2728 } 2729 } 2731 grouping lsp-provisioning-error-info { 2732 description 2733 "Grouping for LSP provisioning error information"; 2734 container lsp-provisioning-error-infos { 2735 config false; 2736 description 2737 "LSP provisioning error information"; 2738 list lsp-provisioning-error-info { 2739 description 2740 "List of LSP provisioning error info entries"; 2741 leaf error-description { 2742 type string; 2743 description 2744 "Textual representation of the error occurred during 2745 path compuation."; 2746 } 2747 leaf error-timestamp { 2748 type yang:date-and-time; 2749 description 2750 "Timestamp of when the reported error occurred."; 2751 } 2752 leaf error-node-id { 2753 type te-types:te-node-id; 2754 default "0.0.0.0"; 2755 description 2756 "Node identifier of node where error occurred."; 2757 } 2758 leaf error-link-id { 2759 type te-types:te-tp-id; 2760 default 0; 2761 description 2762 "Link ID where the error occurred."; 2763 } 2764 } 2765 } 2766 } 2768 grouping p2p-path-properties-common { 2769 description 2770 "TE tunnel common path properties configuration grouping"; 2771 leaf name { 2772 type string; 2773 description "TE path name"; 2774 } 2775 leaf path-setup-protocol { 2776 type identityref { 2777 base te-types:path-signaling-type; 2778 } 2779 default te-types:path-setup-static; 2780 description 2781 "Signaling protocol used to set up this tunnel"; 2782 } 2783 leaf path-computation-method { 2784 type identityref { 2785 base te-types:path-computation-method; 2786 } 2787 default te-types:path-locally-computed; 2788 description 2789 "The method used for computing the path, either 2790 locally computed, queried from a server or not 2791 computed at all (explicitly configured)."; 2792 } 2793 leaf path-computation-server { 2794 when "../path-computation-method = "+ 2795 "'te-types:path-externally-queried'" { 2796 description 2797 "The path-computation server when the path is 2798 externally queried"; 2799 } 2800 type inet:ip-address; 2801 description 2802 "Address of the external path computation 2803 server"; 2804 } 2805 leaf compute-only { 2806 type empty; 2807 description 2808 "When set, the path is computed and updated whenever 2809 the topology is updated. No resources are committed 2810 or reserved in the network."; 2811 } 2812 leaf use-path-computation { 2813 when "../path-computation-method =" + 2814 " 'te-types:path-locally-computed'"; 2815 type boolean; 2816 default 'true'; 2817 description "A CSPF dynamically computed path"; 2818 } 2819 leaf lockdown { 2820 type empty; 2821 description 2822 "Indicates no reoptimization to be attempted for 2823 this path."; 2824 } 2825 leaf path-scope { 2826 type identityref { 2827 base te-types:path-scope-type; 2828 } 2829 default te-types:path-scope-end-to-end; 2830 config 'false'; 2831 description "Path scope if segment or an end-to-end path"; 2833 } 2834 } 2836 grouping p2p-reverse-path-properties { 2837 description 2838 "TE tunnel reverse path properties configuration 2839 grouping"; 2840 uses p2p-path-properties-common; 2841 uses te-types:generic-path-optimization; 2842 leaf named-path-constraint { 2843 if-feature te-types:named-path-constraints; 2844 type leafref { 2845 path "../../../../../../globals/" 2846 + "named-path-constraints/named-path-constraint/" 2847 + "name"; 2848 } 2849 description 2850 "Reference to a globally defined named path 2851 constraint set"; 2852 } 2853 } 2855 grouping p2p-primary-reverse-path-properties { 2856 description "TE P2P tunnel primary reverse path properties."; 2857 reference "RFC7551"; 2858 container p2p-primary-reverse-path { 2859 description "Tunnel reverse primary path properties"; 2860 uses p2p-reverse-path-properties; 2861 uses path-constraints-common; 2862 uses p2p-path-properties-state; 2863 container p2p-secondary-reverse-path { 2864 description "Tunnel reverse secondary path properties"; 2865 uses p2p-secondary-reverse-path-properties; 2866 } 2867 } 2868 } 2870 grouping p2p-path-properties { 2871 description 2872 "TE tunnel path properties configuration grouping"; 2873 uses p2p-path-properties-common; 2874 uses te-types:generic-path-optimization; 2875 leaf preference { 2876 type uint8 { 2877 range "1..255"; 2878 } 2879 default 1; 2880 description 2881 "Specifies a preference for this path. The lower the 2882 number higher the preference"; 2883 } 2884 leaf k-requested-paths { 2885 type uint8; 2886 default 1; 2887 description 2888 "The number of k-shortest-paths requested from the path 2889 computation server and returned sorted by its optimization 2890 objective"; 2891 } 2892 leaf named-path-constraint { 2893 if-feature te-types:named-path-constraints; 2894 type leafref { 2895 path "../../../../../globals/" 2896 + "named-path-constraints/named-path-constraint/" 2897 + "name"; 2898 } 2899 description 2900 "Reference to a globally defined named path 2901 constraint set"; 2902 } 2903 } 2905 grouping hierarchical-link-properties { 2906 description 2907 "Hierarchical link grouping"; 2908 reference "RFC4206"; 2909 container hierarchical-link { 2910 description 2911 "Identifies a hierarchical link (in client layer) 2912 that this tunnel is associated with."; 2913 leaf local-te-node-id { 2914 type te-types:te-node-id; 2915 default "0.0.0.0"; 2916 description 2917 "Local TE node identifier"; 2918 } 2919 leaf local-te-link-tp-id { 2920 type te-types:te-tp-id; 2921 default 0; 2922 description 2923 "Local TE link termination point identifier"; 2924 } 2925 leaf remote-te-node-id { 2926 type te-types:te-node-id; 2927 default "0.0.0.0"; 2928 description 2929 "Remote TE node identifier"; 2930 } 2931 uses te-types:te-topology-identifier; 2932 } 2933 } 2935 grouping protection-restoration-properties-state { 2936 description 2937 "Protection parameters grouping"; 2938 leaf lockout-of-normal { 2939 type boolean; 2940 default 'false'; 2941 description 2942 " 2943 When set to 'True', it represents a lockout of normal 2944 traffic external command. When set to 'False', it 2945 represents a clear lockout of normal traffic external 2946 command. The lockout of normal traffic command applies 2947 to this Tunnel. 2948 "; 2949 reference "RFC4427"; 2950 } 2951 leaf freeze { 2952 type boolean; 2953 default 'false'; 2954 description 2955 " 2956 When set to 'True', it represents a freeze external 2957 command. When set to 'False', it represents a clear 2958 freeze external command. The freeze command command 2959 applies to all the Tunnels which are sharing the 2960 protection resources with this Tunnel. 2961 "; 2962 reference "RFC4427"; 2963 } 2964 leaf lsp-protection-role { 2965 type enumeration { 2966 enum working { 2967 description 2968 "A working LSP must be a primary LSP whilst a protecting 2969 LSP can be either a primary or a secondary LSP. Also, 2970 known as protected LSPs when working LSPs are associated 2971 with protecting LSPs."; 2972 } 2973 enum protecting { 2974 description 2975 "A secondary LSP is an LSP that has been provisioned 2976 in the control plane only; e.g. resource allocation 2977 has not been committed at the data plane"; 2978 } 2979 } 2980 default working; 2981 description "LSP role type"; 2982 reference "RFC4872, section 4.2.1"; 2983 } 2985 leaf lsp-protection-state { 2986 type identityref { 2987 base te-types:lsp-protection-state; 2988 } 2989 default te-types:normal; 2990 description 2991 "The state of the APS state machine controlling which 2992 tunnels is using the resources of the protecting LSP."; 2993 } 2994 leaf protection-group-ingress-node-id { 2995 type te-types:te-node-id; 2996 default "0.0.0.0"; 2997 description 2998 "Indicates the te-node-id of the protection group 2999 ingress node when the APS state represents an extenal 3000 command (LoP, SF, MS) applied to it or a WTR timer 3001 running on it. If the external command is not applied to 3002 the ingress node or the WTR timer is not running on it, 3003 this attribute is not specified. A value 0.0.0.0 is used 3004 when the te-node-id of the protection group ingress node is 3005 unknown (e.g., because the ingress node is outside the scope 3006 of control of the server)"; 3007 } 3008 leaf protection-group-egress-node-id { 3009 type te-types:te-node-id; 3010 default "0.0.0.0"; 3011 description 3012 "Indicates the te-node-id of the protection group egress node 3013 when the APS state represents an extenal command (LoP, SF, 3014 MS) applied to it or a WTR timer running on it. If the 3015 external command is not applied to the ingress node or 3016 the WTR timer is not running on it, this attribute is not 3017 specified. A value 0.0.0.0 is used when the te-node-id of 3018 the protection group ingress node is unknown (e.g., because 3019 the ingress node is outside the scope of control of the 3020 server)"; 3021 } 3022 } 3024 grouping protection-restoration-properties { 3025 description "Protection and restoration parameters"; 3026 container protection { 3027 description "Protection parameters"; 3028 leaf enable { 3029 type boolean; 3030 default 'false'; 3031 description 3032 "A flag to specify if LSP protection is enabled"; 3033 reference "RFC4427"; 3034 } 3035 leaf protection-type { 3036 type identityref { 3037 base te-types:lsp-protection-type; 3038 } 3039 default te-types:lsp-protection-unprotected; 3040 description "LSP protection type."; 3041 } 3042 leaf protection-reversion-disable { 3043 type boolean; 3044 default 'false'; 3045 description "Disable protection reversion to working path"; 3046 } 3047 leaf hold-off-time { 3048 type uint32; 3049 units "milli-seconds"; 3050 default 0; 3051 description 3052 "The time between the declaration of an SF or SD condition 3053 and the initialization of the protection switching 3054 algorithm."; 3055 reference "RFC4427"; 3056 } 3057 leaf wait-to-revert { 3058 type uint16; 3059 units seconds; 3060 description 3061 "Time to wait before attempting LSP reversion"; 3062 reference "RFC4427"; 3063 } 3064 leaf aps-signal-id { 3065 type uint8 { 3066 range "1..255"; 3067 } 3068 default 1; 3069 description 3070 "The APS signal number used to reference the traffic of this 3071 tunnel. The default value for normal traffic is 1. 3072 The default value for extra-traffic is 255. If not specified, 3073 non-default values can be assigned by the server, 3074 if and only if, the server controls both endpoints."; 3075 reference "RFC4427"; 3076 } 3077 } 3078 container restoration { 3079 description "Restoration parameters"; 3080 leaf enable { 3081 type boolean; 3082 default 'false'; 3083 description 3084 "A flag to specify if LSP restoration is enabled"; 3085 reference "RFC4427"; 3086 } 3087 leaf restoration-type { 3088 type identityref { 3089 base te-types:lsp-restoration-type; 3090 } 3091 default te-types:lsp-restoration-restore-any; 3092 description "LSP restoration type."; 3093 } 3094 leaf restoration-scheme { 3095 type identityref { 3096 base te-types:restoration-scheme-type; 3097 } 3098 default te-types:restoration-scheme-preconfigured; 3099 description "LSP restoration scheme."; 3100 } 3101 leaf restoration-reversion-disable { 3102 type boolean; 3103 default 'false'; 3104 description "Disable restoration reversion to working path"; 3105 } 3106 leaf hold-off-time { 3107 type uint32; 3108 units "milli-seconds"; 3109 description 3110 "The time between the declaration of an SF or SD condition 3111 and the initialization of the protection switching 3112 algorithm."; 3113 reference "RFC4427"; 3114 } 3115 leaf wait-to-restore { 3116 type uint16; 3117 units seconds; 3118 description 3119 "Time to wait before attempting LSP restoration"; 3120 reference "RFC4427"; 3122 } 3123 leaf wait-to-revert { 3124 type uint16; 3125 units seconds; 3126 description 3127 "Time to wait before attempting LSP reversion"; 3128 reference "RFC4427"; 3129 } 3130 } 3131 } 3133 grouping p2p-dependency-tunnels-properties { 3134 description 3135 "Groupong for tunnel dependency list of tunnels"; 3136 container dependency-tunnels { 3137 description "Dependency tunnels list"; 3138 list dependency-tunnel { 3139 key "name"; 3140 description "Dependency tunnel entry"; 3141 leaf name { 3142 type leafref { 3143 path "../../../../../tunnels/tunnel/name"; 3144 require-instance 'false'; 3145 } 3146 description "Dependency tunnel name"; 3147 } 3148 leaf encoding { 3149 type identityref { 3150 base te-types:lsp-encoding-types; 3151 } 3152 default te-types:lsp-encoding-packet; 3153 description "LSP encoding type"; 3154 reference "RFC3945"; 3155 } 3156 leaf switching-type { 3157 type identityref { 3158 base te-types:switching-capabilities; 3159 } 3160 default te-types:switching-psc1; 3161 description "LSP switching type"; 3162 reference "RFC3945"; 3163 } 3164 } 3165 } 3166 } 3168 grouping tunnel-p2p-config { 3169 description 3170 "Configuration parameters relating to TE tunnel"; 3171 leaf name { 3172 type string; 3173 description "TE tunnel name."; 3174 } 3175 leaf identifier { 3176 type uint16; 3177 description 3178 "TE tunnel Identifier."; 3179 reference "RFC3209"; 3180 } 3181 leaf description { 3182 type string; 3183 default 'None'; 3184 description 3185 "Textual description for this TE tunnel"; 3186 } 3187 leaf encoding { 3188 type identityref { 3189 base te-types:lsp-encoding-types; 3190 } 3191 default te-types:lsp-encoding-packet; 3192 description "LSP encoding type"; 3193 reference "RFC3945"; 3194 } 3195 leaf switching-type { 3196 type identityref { 3197 base te-types:switching-capabilities; 3198 } 3199 default te-types:switching-psc1; 3200 description "LSP switching type"; 3201 reference "RFC3945"; 3202 } 3203 leaf provisioning-state { 3204 type identityref { 3205 base te-types:tunnel-state-type; 3206 } 3207 default te-types:tunnel-state-up; 3208 description "TE tunnel administrative state."; 3209 } 3210 leaf preference { 3211 type uint8 { 3212 range "1..255"; 3213 } 3214 default 100; 3215 description 3216 "Specifies a preference for this tunnel. 3217 A lower number signifies a better preference"; 3219 } 3220 leaf reoptimize-timer { 3221 type uint16; 3222 units seconds; 3223 description 3224 "frequency of reoptimization of a traffic engineered LSP"; 3225 } 3226 leaf source { 3227 type te-types:te-node-id; 3228 description "TE tunnel source node ID."; 3229 } 3230 leaf destination { 3231 type te-types:te-node-id; 3232 description "TE tunnel destination node ID"; 3233 } 3234 leaf src-tp-id { 3235 type yang:hex-string; 3236 default '00:00:00:00'; 3237 description 3238 "TE tunnel source termination point identifier."; 3239 } 3240 leaf dst-tp-id { 3241 type yang:hex-string; 3242 default '00:00:00:00'; 3243 description 3244 "TE tunnel destination termination point identifier."; 3245 } 3246 leaf bidirectional { 3247 type boolean; 3248 default 'false'; 3249 description "TE tunnel bidirectional"; 3250 } 3251 uses tunnel-p2p-associations-properties; 3252 uses protection-restoration-properties; 3253 uses te-types:tunnel-constraints; 3254 uses p2p-dependency-tunnels-properties; 3255 uses hierarchical-link-properties; 3256 } 3258 grouping tunnel-p2p-associations-properties { 3259 description "TE tunnel association grouping"; 3260 container association-objects { 3261 description "TE tunnel associations"; 3262 list association-object { 3263 key "type ID source global-source"; 3264 description "List of association base objects"; 3265 reference "RFC4872"; 3266 leaf type { 3267 type identityref { 3268 base te-types:association-type; 3269 } 3270 description "Association type"; 3271 reference "RFC4872"; 3272 } 3273 leaf ID { 3274 type uint16; 3275 description "Association ID"; 3276 reference "RFC4872"; 3277 } 3278 leaf source { 3279 type te-types:te-node-id; 3280 description "Association source"; 3281 reference "RFC4872"; 3282 } 3283 leaf global-source { 3284 type te-types:te-node-id; 3285 description "Association global source"; 3286 reference "RFC4872"; 3287 } 3288 } 3289 list association-object-extended { 3290 key "type ID source global-source extended-ID"; 3291 description "List of extended association objects"; 3292 reference "RFC6780"; 3293 leaf type { 3294 type identityref { 3295 base te-types:association-type; 3296 } 3297 description "Association type"; 3298 } 3299 leaf ID { 3300 type uint16; 3301 description "Association ID"; 3302 reference "RFC4872"; 3303 } 3304 leaf source { 3305 type te-types:te-node-id; 3306 description "Association source"; 3307 } 3308 leaf global-source { 3309 type te-types:te-node-id; 3310 description "Association global source"; 3311 reference "RFC4872"; 3312 } 3313 leaf extended-ID { 3314 type yang:hex-string; 3315 description "Association extended ID"; 3316 reference "RFC4872"; 3317 } 3318 } 3319 } 3320 } 3322 grouping path-access-segment-info { 3323 description 3324 "If an end-to-end tunnel crosses multiple domains using 3325 the same technology, some additional constraints have to be 3326 taken in consideration in each domain"; 3327 container path-in-segment { 3328 presence 3329 "The end-to-end tunnel starts in a previous domain; 3330 this tunnel is a segment in the current domain."; 3331 description 3332 "This tunnel is a segment that needs to be coordinated 3333 with previous segment stitched on head-end side."; 3334 uses te-types:label-set-info; 3335 } 3336 container path-out-segment { 3337 presence 3338 "The end-to-end tunnel is not terminated in this domain; 3339 this tunnel is a segment in the current domain."; 3340 description 3341 "This tunnel is a segment that needs to be coordinated 3342 with previous segment stitched on head-end side."; 3343 uses te-types:label-set-info; 3344 } 3345 } 3347 /* TE tunnel configuration/state grouping */ 3348 grouping tunnel-p2mp-properties { 3349 description 3350 "Top level grouping for P2MP tunnel properties."; 3351 leaf name { 3352 type string; 3353 description "TE tunnel name."; 3354 } 3355 leaf identifier { 3356 type uint16; 3357 description 3358 "TE tunnel Identifier."; 3359 reference "RFC3209"; 3360 } 3361 leaf description { 3362 type string; 3363 default 'None'; 3364 description 3365 "Textual description for this TE tunnel"; 3366 } 3367 leaf operational-state { 3368 type identityref { 3369 base te-types:tunnel-state-type; 3370 } 3371 default te-types:tunnel-state-up; 3372 config 'false'; 3373 description "TE tunnel administrative state."; 3374 } 3375 } 3377 grouping p2p-path-candidate-secondary-path-config { 3378 description 3379 "Configuration parameters relating to a secondary path which 3380 is a candidate for a particular primary path"; 3382 leaf secondary-path { 3383 type leafref { 3384 path "../../../../../p2p-secondary-paths/" + 3385 "p2p-secondary-path/name"; 3386 } 3387 description 3388 "A reference to the secondary path that should be utilised 3389 when the containing primary path option is in use"; 3390 } 3392 leaf path-setup-protocol { 3393 type identityref { 3394 base te-types:path-signaling-type; 3395 } 3396 default te-types:path-setup-static; 3397 description 3398 "Signaling protocol used to set up this tunnel"; 3399 } 3400 } 3402 grouping p2p-secondary-reverse-path-properties { 3403 description 3404 "Configuration parameters relating to a secondary path which 3405 is a candidate for a particular primary path"; 3407 leaf secondary-path { 3408 type leafref { 3409 path "../../../../../p2p-secondary-paths/" + 3410 "p2p-secondary-path/name"; 3412 } 3413 description 3414 "A reference to the secondary path that should be utilised 3415 when the containing primary path option is in use"; 3416 } 3418 leaf path-setup-protocol { 3419 type identityref { 3420 base te-types:path-signaling-type; 3421 } 3422 default te-types:path-setup-static; 3423 description 3424 "Signaling protocol used to set up this tunnel"; 3425 } 3426 } 3428 grouping tunnel-p2p-properties { 3429 description 3430 "Top level grouping for tunnel properties."; 3431 leaf operational-state { 3432 type identityref { 3433 base te-types:tunnel-state-type; 3434 } 3435 default te-types:tunnel-state-up; 3436 config 'false'; 3437 description "TE tunnel administrative state."; 3438 } 3439 uses tunnel-p2p-config; 3440 container p2p-primary-paths { 3441 description "Set of P2P primary aths container"; 3442 list p2p-primary-path { 3443 key "name"; 3444 description 3445 "List of primary paths for this tunnel."; 3446 uses p2p-primary-path-properties; 3447 uses p2p-primary-reverse-path-properties; 3448 container candidate-p2p-secondary-paths { 3449 description 3450 "The set of candidate secondary paths which may be used 3451 for this primary path. When secondary paths are specified 3452 in the list the path of the secondary LSP in use must be 3453 restricted to those path options referenced. The 3454 priority of the secondary paths is specified within the 3455 list. Higher priority values are less preferred - that is 3456 to say that a path with priority 0 is the most preferred 3457 path. In the case that the list is empty, any secondary 3458 path option may be utilised when the current primary path 3459 is in use."; 3461 list candidate-p2p-secondary-path { 3462 key "secondary-path"; 3463 description 3464 "List of secondary paths for this tunnel."; 3465 uses p2p-path-candidate-secondary-path-config; 3467 leaf active { 3468 type boolean; 3469 config 'false'; 3470 description 3471 "Indicates the current active path option that has 3472 been selected of the candidate secondary paths"; 3473 } 3474 } 3475 } 3476 } 3477 } 3478 container p2p-secondary-paths { 3479 description "Set of P2P secondary paths container"; 3480 list p2p-secondary-path { 3481 key "name"; 3482 description 3483 "List of secondary paths for this tunnel."; 3484 uses p2p-secondary-path-properties; 3485 } 3486 } 3487 } 3489 grouping shared-resources-tunnels-state { 3490 description 3491 "The specific tunnel that is using the shared secondary path 3492 resources"; 3493 leaf lsp-shared-resources-tunnel { 3494 type tunnel-ref; 3495 description 3496 "Reference to the tunnel that sharing secondary path 3497 resources with this tunnel"; 3498 } 3499 } 3500 grouping shared-resources-tunnels { 3501 description 3502 "Set of tunnels that share secondary path resources with 3503 this tunnnel"; 3504 container shared-resources-tunnels { 3505 description 3506 "Set of tunnels that share secondary path resources with 3507 this tunnnel"; 3508 leaf-list lsp-shared-resources-tunnel { 3509 type tunnel-ref; 3510 description 3511 "Reference to the tunnel that sharing secondary path 3512 resources with this tunnel"; 3513 } 3514 } 3515 } 3517 grouping tunnel-actions { 3518 description "Tunnel actions"; 3519 action tunnel-action { 3520 description "Tunnel action"; 3521 input { 3522 leaf action-type { 3523 type identityref { 3524 base te-types:tunnel-action-type; 3525 } 3526 description "Tunnel action type"; 3527 } 3528 } 3529 output { 3530 leaf action-result { 3531 type identityref { 3532 base te-types:te-action-result; 3533 } 3534 description "The result of the RPC operation"; 3535 } 3536 } 3537 } 3538 } 3539 grouping tunnel-protection-actions { 3540 description 3541 "Protection external command actions"; 3542 action protection-external-commands { 3543 input { 3544 leaf protection-external-command { 3545 type identityref { 3546 base te-types:protection-external-commands; 3547 } 3548 description 3549 "Protection external command"; 3550 } 3551 leaf protection-group-ingress-node-id { 3552 type te-types:te-node-id; 3553 description 3554 "When specified, indicates whether the action is 3555 applied on ingress node. 3556 By default, if neither ingress nor egress node-id 3557 is set, the the action applies to ingress node only."; 3558 } 3559 leaf protection-group-egress-node-id { 3560 type te-types:te-node-id; 3561 description 3562 "When specified, indicates whether the action is 3563 applied on egress node. 3564 By default, if neither ingress nor egress node-id 3565 is set, the the action applies to ingress node only."; 3566 } 3567 leaf path-ref { 3568 type path-ref; 3569 description 3570 "Indicates to which path the external command applies to."; 3571 } 3572 leaf traffic-type { 3573 type enumeration { 3574 enum normal-traffic { 3575 description 3576 "The manual-switch or forced-switch command applies to 3577 the normal traffic (this Tunnel)."; 3578 } 3579 enum null-traffic { 3580 description 3581 "The manual-switch or forced-switch command applies to 3582 the null traffic."; 3583 } 3584 enum extra-traffic { 3585 description 3586 "The manual-switch or forced-switch command applies to 3587 the extra traffic (the extra-traffic Tunnel sharing 3588 protection bandwidth with this Tunnel)."; 3589 } 3590 } 3591 description 3592 "Indicates whether the manual-switch or forced-switch 3593 commands applies to the normal traffic, the null traffic 3594 or the extra-traffic."; 3595 reference "RFC4427"; 3596 } 3597 leaf extra-traffic-tunnel-ref { 3598 type tunnel-ref; 3599 description 3600 "In case there are multiple extra-traffic tunnels sharing 3601 protection bandwidth with this Tunnel (m:n protection), 3602 represents which extra-traffic Tunnel the manual-switch or 3603 forced-switch to extra-traffic command applies to."; 3604 } 3606 } 3607 } 3608 } 3610 /*** End of TE tunnel groupings ***/ 3612 /** 3613 * LSP related generic groupings 3614 */ 3615 grouping lsp-record-route-information-state { 3616 description "recorded route information grouping"; 3617 container lsp-record-route-information { 3618 description "RSVP recorded route object information"; 3619 list lsp-record-route-information { 3620 when "../../origin-type = 'ingress'" { 3621 description "Applicable on ingress LSPs only"; 3622 } 3623 key "index"; 3624 description "Record route list entry"; 3625 uses te-types:record-route-state; 3626 } 3627 } 3628 } 3630 grouping lsps-state-grouping { 3631 description 3632 "LSPs state operational data grouping"; 3633 container lsps-state { 3634 config 'false'; 3635 description "TE LSPs state container"; 3636 list lsp { 3637 key 3638 "source destination tunnel-id lsp-id "+ 3639 "extended-tunnel-id"; 3640 description "List of LSPs associated with the tunnel."; 3641 uses lsp-properties-state; 3642 uses lsp-record-route-information-state; 3643 } 3644 } 3645 } 3647 /*** End of TE LSP groupings ***/ 3649 /** 3650 * TE global generic groupings 3651 */ 3653 /* Global named admin-groups configuration data */ 3654 grouping named-admin-groups-properties { 3655 description 3656 "Global named administrative groups configuration 3657 grouping"; 3658 leaf name { 3659 type string; 3660 description 3661 "A string name that uniquely identifies a TE 3662 interface named admin-group"; 3663 } 3664 leaf bit-position { 3665 type uint32; 3666 description 3667 "Bit position representing the administrative group"; 3668 reference "RFC3209 and RFC7308"; 3669 } 3670 } 3671 grouping named-admin-groups { 3672 description 3673 "Global named administrative groups configuration 3674 grouping"; 3675 container named-admin-groups { 3676 description "TE named admin groups container"; 3677 list named-admin-group { 3678 if-feature te-types:extended-admin-groups; 3679 if-feature te-types:named-extended-admin-groups; 3680 key "name"; 3681 description 3682 "List of named TE admin-groups"; 3683 uses named-admin-groups-properties; 3684 } 3685 } 3686 } 3688 /* Global named admin-srlgs configuration data */ 3689 grouping named-srlgs-properties { 3690 description 3691 "Global named SRLGs configuration grouping"; 3692 leaf name { 3693 type string; 3694 description 3695 "A string name that uniquely identifies a TE 3696 interface named srlg"; 3697 } 3698 leaf group { 3699 type te-types:srlg; 3700 description "An SRLG value"; 3701 } 3702 leaf cost { 3703 type uint32; 3704 description 3705 "SRLG associated cost. Used during path to append 3706 the path cost when traversing a link with this SRLG"; 3707 } 3708 } 3710 grouping named-srlgs { 3711 description 3712 "Global named SRLGs configuration grouping"; 3713 container named-srlgs { 3714 description "TE named SRLGs container"; 3715 list named-srlg { 3716 if-feature te-types:named-srlg-groups; 3717 key "name"; 3718 description 3719 "A list of named SRLG groups"; 3720 uses named-srlgs-properties; 3721 } 3722 } 3723 } 3725 /* Global named paths constraints configuration data */ 3726 grouping path-constraints-state { 3727 description "TE path constraints state"; 3728 leaf bandwidth { 3729 type te-types:te-bandwidth; 3730 config 'false'; 3731 description 3732 "A technology agnostic requested bandwidth to use 3733 for path computation"; 3734 } 3735 leaf disjointness-type { 3736 type te-types:te-path-disjointness; 3737 config 'false'; 3738 description 3739 "The type of resource disjointness."; 3740 } 3741 } 3743 grouping path-constraints-common { 3744 description 3745 "Global named path constraints configuration 3746 grouping"; 3747 uses te-types:common-path-constraints-attributes; 3748 uses te-types:generic-path-disjointness; 3749 uses te-types:path-constraints-route-objects; 3750 uses shared-resources-tunnels { 3751 description 3752 "Set of tunnels that are allowed to share secondary path 3753 resources of this tunnel"; 3754 } 3755 uses path-access-segment-info { 3756 description 3757 "Tunnel constraints induced by other segments."; 3758 } 3759 } 3761 grouping named-path-constraints { 3762 description 3763 "Global named path constraints configuration 3764 grouping"; 3765 container named-path-constraints { 3766 description "TE named path constraints container"; 3767 list named-path-constraint { 3768 if-feature te-types:named-path-constraints; 3769 key "name"; 3770 leaf name { 3771 type string; 3772 description 3773 "A string name that uniquely identifies a 3774 path constraint set"; 3775 } 3776 uses path-constraints-common; 3777 description 3778 "A list of named path constraints"; 3779 } 3780 } 3781 } 3783 /* TE globals container data */ 3784 grouping globals-grouping { 3785 description 3786 "Globals TE system-wide configuration data grouping"; 3787 container globals { 3788 description 3789 "Globals TE system-wide configuration data container"; 3790 uses named-admin-groups; 3791 uses named-srlgs; 3792 uses named-path-constraints; 3793 } 3794 } 3796 /* TE tunnels container data */ 3797 grouping tunnels-grouping { 3798 description 3799 "Tunnels TE configuration data grouping"; 3800 container tunnels { 3801 description 3802 "Tunnels TE configuration data container"; 3804 list tunnel { 3805 key "name"; 3806 description "P2P TE tunnels list."; 3807 uses tunnel-p2p-properties; 3808 uses tunnel-actions; 3809 uses tunnel-protection-actions; 3810 } 3811 list tunnel-p2mp { 3812 key "name"; 3813 unique "identifier"; 3814 description "P2MP TE tunnels list."; 3815 uses tunnel-p2mp-properties; 3816 } 3817 } 3818 } 3820 /* TE LSPs ephemeral state container data */ 3821 grouping lsp-properties-state { 3822 description 3823 "LSPs state operational data grouping"; 3824 leaf source { 3825 type te-types:te-node-id; 3826 description 3827 "Tunnel sender address extracted from 3828 SENDER_TEMPLATE object"; 3829 reference "RFC3209"; 3830 } 3831 leaf destination { 3832 type te-types:te-node-id; 3833 description 3834 "Tunnel endpoint address extracted from 3835 SESSION object"; 3836 reference "RFC3209"; 3837 } 3838 leaf tunnel-id { 3839 type uint16; 3840 description 3841 "Tunnel identifier used in the SESSION 3842 that remains constant over the life 3843 of the tunnel."; 3844 reference "RFC3209"; 3845 } 3846 leaf lsp-id { 3847 type uint16; 3848 description 3849 "Identifier used in the SENDER_TEMPLATE 3850 and the FILTER_SPEC that can be changed 3851 to allow a sender to share resources with 3852 itself."; 3853 reference "RFC3209"; 3854 } 3855 leaf extended-tunnel-id { 3856 type yang:dotted-quad; 3857 description 3858 "Extended Tunnel ID of the LSP."; 3859 reference "RFC3209"; 3860 } 3861 leaf operational-state { 3862 type identityref { 3863 base te-types:lsp-state-type; 3864 } 3865 description "LSP operational state."; 3866 } 3867 leaf path-setup-protocol { 3868 type identityref { 3869 base te-types:path-signaling-type; 3870 } 3871 default te-types:path-setup-static; 3872 description 3873 "Signaling protocol used to set up this tunnel"; 3874 } 3875 leaf origin-type { 3876 type enumeration { 3877 enum ingress { 3878 description 3879 "Origin ingress"; 3880 } 3881 enum egress { 3882 description 3883 "Origin egress"; 3884 } 3885 enum transit { 3886 description 3887 "transit"; 3888 } 3889 } 3890 default 'ingress'; 3891 description 3892 "Origin type of LSP relative to the location 3893 of the local switch in the path."; 3895 } 3897 leaf lsp-resource-status { 3898 type enumeration { 3899 enum primary { 3900 description 3901 "A primary LSP is a fully established LSP for 3902 which the resource allocation has been committed 3903 at the data plane"; 3904 } 3905 enum secondary { 3906 description 3907 "A secondary LSP is an LSP that has been provisioned 3908 in the control plane only; e.g. resource allocation 3909 has not been committed at the data plane"; 3910 } 3911 } 3912 default 'primary'; 3913 description "LSP resource allocation type"; 3914 reference "RFC4872, section 4.2.1"; 3915 } 3917 uses protection-restoration-properties-state; 3918 } 3919 /*** End of TE global groupings ***/ 3921 /** 3922 * TE configurations container 3923 */ 3924 container te { 3925 presence "Enable TE feature."; 3926 description 3927 "TE global container."; 3929 /* TE Global Configuration Data */ 3930 uses globals-grouping; 3932 /* TE Tunnel Configuration Data */ 3933 uses tunnels-grouping; 3935 /* TE LSPs State Data */ 3936 uses lsps-state-grouping; 3938 } 3940 /* TE Global RPCs/execution Data */ 3941 rpc globals-rpc { 3942 description 3943 "Execution data for TE global."; 3944 } 3946 /* TE interfaces RPCs/execution Data */ 3947 rpc interfaces-rpc { 3948 description 3949 "Execution data for TE interfaces."; 3950 } 3952 /* TE Tunnel RPCs/execution Data */ 3953 rpc tunnels-rpc { 3954 description "TE tunnels RPC nodes"; 3955 input { 3956 container tunnel-info { 3957 description "Tunnel Identification"; 3958 choice type { 3959 description "Tunnel information type"; 3960 case tunnel-p2p { 3961 leaf p2p-id { 3962 type tunnel-ref; 3963 description "P2P TE tunnel"; 3964 } 3965 } 3966 case tunnel-p2mp { 3967 leaf p2mp-id { 3968 type tunnel-p2mp-ref; 3969 description "P2MP TE tunnel"; 3970 } 3971 } 3972 } 3973 } 3974 } 3975 output { 3976 container result { 3977 description 3978 "The container result of the RPC operation"; 3979 leaf result { 3980 type enumeration { 3981 enum success { 3982 description "Origin ingress"; 3983 } 3984 enum in-progress { 3985 description "Origin egress"; 3986 } 3987 enum fail { 3988 description "transit"; 3989 } 3990 } 3991 description "The result of the RPC operation"; 3992 } 3993 } 3994 } 3995 } 3997 /* TE Global Notification Data */ 3998 notification globals-notif { 3999 description 4000 "Notification messages for Global TE."; 4001 } 4003 /* TE Tunnel Notification Data */ 4004 notification tunnels-notif { 4005 description 4006 "Notification messages for TE tunnels."; 4007 } 4008 } 4009 4011 Figure 7: TE generic YANG module 4013 The TE device YANG module "ietf-te-device" imports the following 4014 module(s): 4016 o ietf-yang-types and ietf-inet-types defined in [RFC6991] 4018 o ietf-interfaces defined in [RFC8343] 4020 o ietf-routing-types defined in [RFC8294] 4022 o ietf-te-types defined in [I-D.ietf-teas-yang-te-types] 4024 o ietf-te defined in this document 4026 file "ietf-te-device@2019-04-09.yang" 4027 module ietf-te-device { 4028 yang-version 1.1; 4030 namespace "urn:ietf:params:xml:ns:yang:ietf-te-device"; 4032 /* Replace with IANA when assigned */ 4033 prefix "te-dev"; 4035 /* Import TE generic types */ 4036 import ietf-te { 4037 prefix te; 4038 reference "draft-ietf-teas-yang-te: A YANG Data Model for Traffic 4039 Engineering Tunnels and Interfaces"; 4040 } 4042 /* Import TE generic types */ 4043 import ietf-te-types { 4044 prefix te-types; 4045 reference "draft-ietf-teas-yang-te-types: A YANG Data Model for 4046 Common Traffic Engineering Types"; 4047 } 4049 import ietf-interfaces { 4050 prefix if; 4051 reference "RFC8343: A YANG Data Model for Interface Management"; 4052 } 4054 import ietf-inet-types { 4055 prefix inet; 4056 reference "RFC6991: Common YANG Data Types"; 4057 } 4059 import ietf-routing-types { 4060 prefix "rt-types"; 4061 reference "RFC8294: Common YANG Data Types for the Routing Area"; 4062 } 4064 organization 4065 "IETF Traffic Engineering Architecture and Signaling (TEAS) 4066 Working Group"; 4068 contact 4069 "WG Web: 4070 WG List: 4072 WG Chair: Lou Berger 4073 4075 WG Chair: Vishnu Pavan Beeram 4076 4078 Editor: Tarek Saad 4079 4081 Editor: Rakesh Gandhi 4082 4084 Editor: Vishnu Pavan Beeram 4085 4087 Editor: Himanshu Shah 4088 4090 Editor: Xufeng Liu 4091 4093 Editor: Igor Bryskin 4094 "; 4096 description 4097 "YANG data module for TE device configurations, 4098 state, RPC and notifications."; 4100 revision "2019-04-09" { 4101 description "Latest update to TE device YANG module."; 4102 reference 4103 "RFCXXXX: A YANG Data Model for Traffic Engineering Tunnels 4104 and Interfaces"; 4105 } 4107 /** 4108 * TE LSP device state grouping 4109 */ 4110 grouping lsps-device-state { 4111 description "TE LSP device state grouping"; 4112 container lsp-timers { 4113 when "../te:origin-type = 'ingress'" { 4114 description "Applicable to ingress LSPs only"; 4115 } 4116 description "Ingress LSP timers"; 4117 leaf life-time { 4118 type uint32; 4119 units seconds; 4120 description 4121 "lsp life time"; 4122 } 4124 leaf time-to-install { 4125 type uint32; 4126 units seconds; 4127 description 4128 "lsp installation delay time"; 4129 } 4131 leaf time-to-destroy { 4132 type uint32; 4133 units seconds; 4134 description 4135 "lsp expiration delay time"; 4136 } 4137 } 4139 container downstream-info { 4140 when "../te:origin-type != 'egress'" { 4141 description "Applicable to ingress LSPs only"; 4142 } 4143 description 4144 "downstream information"; 4146 leaf nhop { 4147 type inet:ip-address; 4148 description 4149 "downstream nexthop."; 4150 } 4152 leaf outgoing-interface { 4153 type if:interface-ref; 4154 description 4155 "downstream interface."; 4156 } 4158 leaf neighbor { 4159 type inet:ip-address; 4160 description 4161 "downstream neighbor."; 4162 } 4164 leaf label { 4165 type rt-types:generalized-label; 4166 description 4167 "downstream label."; 4168 } 4169 } 4171 container upstream-info { 4172 when "../te:origin-type != 'ingress'" { 4173 description "Applicable to non-ingress LSPs only"; 4174 } 4175 description 4176 "upstream information"; 4178 leaf phop { 4179 type inet:ip-address; 4180 description 4181 "upstream nexthop or previous-hop."; 4182 } 4183 leaf neighbor { 4184 type inet:ip-address; 4185 description 4186 "upstream neighbor."; 4187 } 4189 leaf label { 4190 type rt-types:generalized-label; 4191 description 4192 "upstream label."; 4193 } 4194 } 4195 } 4197 /** 4198 * Device general groupings. 4199 */ 4200 grouping tunnel-device-config { 4201 description "Device TE tunnel configs"; 4202 leaf path-invalidation-action { 4203 type identityref { 4204 base te-types:path-invalidation-action-type; 4205 } 4206 description "Tunnel path invalidtion action"; 4207 } 4208 } 4210 grouping lsp-device-timers-config { 4211 description "Device TE LSP timers configs"; 4212 leaf lsp-install-interval { 4213 type uint32; 4214 units seconds; 4215 description 4216 "lsp installation delay time"; 4217 } 4218 leaf lsp-cleanup-interval { 4219 type uint32; 4220 units seconds; 4221 description 4222 "lsp cleanup delay time"; 4223 } 4224 leaf lsp-invalidation-interval { 4225 type uint32; 4226 units seconds; 4227 description 4228 "lsp path invalidation before taking action delay time"; 4229 } 4230 } 4231 /** 4232 * TE global device generic groupings 4233 */ 4235 /* TE interface container data */ 4236 grouping interfaces-grouping { 4237 description 4238 "Interface TE configuration data grouping"; 4239 container interfaces { 4240 description 4241 "Configuration data model for TE interfaces."; 4242 uses te-all-attributes; 4243 list interface { 4244 key "interface"; 4245 description "TE interfaces."; 4246 leaf interface { 4247 type if:interface-ref; 4248 description 4249 "TE interface name."; 4250 } 4251 /* TE interface parameters */ 4252 uses te-attributes; 4253 } 4254 } 4255 } 4257 /** 4258 * TE interface device generic groupings 4259 */ 4260 grouping te-admin-groups-config { 4261 description 4262 "TE interface affinities grouping"; 4263 choice admin-group-type { 4264 description 4265 "TE interface administrative groups 4266 representation type"; 4267 case value-admin-groups { 4268 choice value-admin-group-type { 4269 description "choice of admin-groups"; 4270 case admin-groups { 4271 description 4272 "Administrative group/Resource 4273 class/Color."; 4274 leaf admin-group { 4275 type te-types:admin-group; 4276 description 4277 "TE interface administrative group"; 4278 } 4280 } 4281 case extended-admin-groups { 4282 if-feature te-types:extended-admin-groups; 4283 description 4284 "Extended administrative group/Resource 4285 class/Color."; 4286 leaf extended-admin-group { 4287 type te-types:extended-admin-group; 4288 description 4289 "TE interface extended administrativei 4290 group"; 4291 } 4292 } 4293 } 4294 } 4295 case named-admin-groups { 4296 list named-admin-groups { 4297 if-feature te-types:extended-admin-groups; 4298 if-feature te-types:named-extended-admin-groups; 4299 key named-admin-group; 4300 description 4301 "A list of named admin-group entries"; 4302 leaf named-admin-group { 4303 type leafref { 4304 path "../../../../te:globals/" + 4305 "te:named-admin-groups/te:named-admin-group/" + 4306 "te:name"; 4307 } 4308 description "A named admin-group entry"; 4309 } 4310 } 4311 } 4312 } 4313 } 4315 /* TE interface SRLGs */ 4316 grouping te-srlgs-config { 4317 description "TE interface SRLG grouping"; 4318 choice srlg-type { 4319 description "Choice of SRLG configuration"; 4320 case value-srlgs { 4321 list values { 4322 key "value"; 4323 description "List of SRLG values that 4324 this link is part of."; 4325 leaf value { 4326 type uint32 { 4327 range "0..4294967295"; 4329 } 4330 description 4331 "Value of the SRLG"; 4332 } 4333 } 4334 } 4335 case named-srlgs { 4336 list named-srlgs { 4337 if-feature te-types:named-srlg-groups; 4338 key named-srlg; 4339 description 4340 "A list of named SRLG entries"; 4341 leaf named-srlg { 4342 type leafref { 4343 path "../../../../te:globals/" + 4344 "te:named-srlgs/te:named-srlg/te:name"; 4345 } 4346 description 4347 "A named SRLG entry"; 4348 } 4349 } 4350 } 4351 } 4352 } 4354 grouping te-igp-flooding-bandwidth-config { 4355 description 4356 "Configurable items for igp flooding bandwidth 4357 threshold configuration."; 4358 leaf threshold-type { 4359 type enumeration { 4360 enum DELTA { 4361 description 4362 "DELTA indicates that the local 4363 system should flood IGP updates when a 4364 change in reserved bandwidth >= the specified 4365 delta occurs on the interface."; 4366 } 4367 enum THRESHOLD_CROSSED { 4368 description 4369 "THRESHOLD-CROSSED indicates that 4370 the local system should trigger an update (and 4371 hence flood) the reserved bandwidth when the 4372 reserved bandwidth changes such that it crosses, 4373 or becomes equal to one of the threshold values."; 4374 } 4375 } 4376 description 4377 "The type of threshold that should be used to specify the 4378 values at which bandwidth is flooded. DELTA indicates that 4379 the local system should flood IGP updates when a change in 4380 reserved bandwidth >= the specified delta occurs on the 4381 interface. Where THRESHOLD_CROSSED is specified, the local 4382 system should trigger an update (and hence flood) the 4383 reserved bandwidth when the reserved bandwidth changes such 4384 that it crosses, or becomes equal to one of the threshold 4385 values"; 4386 } 4388 leaf delta-percentage { 4389 when "../threshold-type = 'DELTA'" { 4390 description 4391 "The percentage delta can only be specified when the 4392 threshold type is specified to be a percentage delta of 4393 the reserved bandwidth"; 4394 } 4395 type rt-types:percentage; 4396 description 4397 "The percentage of the maximum-reservable-bandwidth 4398 considered as the delta that results in an IGP update 4399 being flooded"; 4400 } 4401 leaf threshold-specification { 4402 when "../threshold-type = 'THRESHOLD_CROSSED'" { 4403 description 4404 "The selection of whether mirrored or separate threshold 4405 values are to be used requires user specified thresholds to 4406 be set"; 4407 } 4408 type enumeration { 4409 enum MIRRORED_UP_DOWN { 4410 description 4411 "MIRRORED_UP_DOWN indicates that a single set of 4412 threshold values should be used for both increasing 4413 and decreasing bandwidth when determining whether 4414 to trigger updated bandwidth values to be flooded 4415 in the IGP TE extensions."; 4416 } 4417 enum SEPARATE_UP_DOWN { 4418 description 4419 "SEPARATE_UP_DOWN indicates that a separate 4420 threshold values should be used for the increasing 4421 and decreasing bandwidth when determining whether 4422 to trigger updated bandwidth values to be flooded 4423 in the IGP TE extensions."; 4424 } 4426 } 4427 description 4428 "This value specifies whether a single set of threshold 4429 values should be used for both increasing and decreasing 4430 bandwidth when determining whether to trigger updated 4431 bandwidth values to be flooded in the IGP TE extensions. 4432 MIRRORED-UP-DOWN indicates that a single value (or set of 4433 values) should be used for both increasing and decreasing 4434 values, where SEPARATE-UP-DOWN specifies that the increasing 4435 and decreasing values will be separately specified"; 4436 } 4438 leaf-list up-thresholds { 4439 when "../threshold-type = 'THRESHOLD_CROSSED'" + 4440 "and ../threshold-specification = 'SEPARATE_UP_DOWN'" { 4441 description 4442 "A list of up-thresholds can only be specified when the 4443 bandwidth update is triggered based on crossing a 4444 threshold and separate up and down thresholds are 4445 required"; 4446 } 4447 type rt-types:percentage; 4448 description 4449 "The thresholds (expressed as a percentage of the maximum 4450 reservable bandwidth) at which bandwidth updates are to be 4451 triggered when the bandwidth is increasing."; 4452 } 4454 leaf-list down-thresholds { 4455 when "../threshold-type = 'THRESHOLD_CROSSED'" + 4456 "and ../threshold-specification = 'SEPARATE_UP_DOWN'" { 4457 description 4458 "A list of down-thresholds can only be specified when the 4459 bandwidth update is triggered based on crossing a 4460 threshold and separate up and down thresholds are 4461 required"; 4462 } 4463 type rt-types:percentage; 4464 description 4465 "The thresholds (expressed as a percentage of the maximum 4466 reservable bandwidth) at which bandwidth updates are to be 4467 triggered when the bandwidth is decreasing."; 4468 } 4470 leaf-list up-down-thresholds { 4471 when "../threshold-type = 'THRESHOLD_CROSSED'" + 4472 "and ../threshold-specification = 'MIRRORED_UP_DOWN'" { 4473 description 4474 "A list of thresholds corresponding to both increasing 4475 and decreasing bandwidths can be specified only when an 4476 update is triggered based on crossing a threshold, and 4477 the same up and down thresholds are required."; 4478 } 4479 type rt-types:percentage; 4480 description 4481 "The thresholds (expressed as a percentage of the maximum 4482 reservable bandwidth of the interface) at which bandwidth 4483 updates are flooded - used both when the bandwidth is 4484 increasing and decreasing"; 4485 } 4486 } 4488 /* TE interface metric */ 4489 grouping te-metric-config { 4490 description "Interface TE metric grouping"; 4491 leaf te-metric { 4492 type te-types:te-metric; 4493 description "Interface TE metric."; 4494 } 4495 } 4497 /* TE interface switching capabilities */ 4498 grouping te-switching-cap-config { 4499 description 4500 "TE interface switching capabilities"; 4501 list switching-capabilities { 4502 key "switching-capability"; 4503 description 4504 "List of interface capabilities for this interface"; 4505 leaf switching-capability { 4506 type identityref { 4507 base te-types:switching-capabilities; 4508 } 4509 description 4510 "Switching Capability for this interface"; 4511 } 4512 leaf encoding { 4513 type identityref { 4514 base te-types:lsp-encoding-types; 4515 } 4516 description 4517 "Encoding supported by this interface"; 4518 } 4519 } 4520 } 4521 grouping te-advertisements-state { 4522 description 4523 "TE interface advertisements state grouping"; 4524 container te-advertisements-state { 4525 description 4526 "TE interface advertisements state container"; 4527 leaf flood-interval { 4528 type uint32; 4529 description 4530 "The periodic flooding interval"; 4531 } 4532 leaf last-flooded-time { 4533 type uint32; 4534 units seconds; 4535 description 4536 "Time elapsed since last flooding in seconds"; 4537 } 4538 leaf next-flooded-time { 4539 type uint32; 4540 units seconds; 4541 description 4542 "Time remained for next flooding in seconds"; 4543 } 4544 leaf last-flooded-trigger { 4545 type enumeration { 4546 enum link-up { 4547 description "Link-up flooding trigger"; 4548 } 4549 enum link-down { 4550 description "Link-up flooding trigger"; 4551 } 4552 enum threshold-up { 4553 description 4554 "Bandwidth reservation up threshold"; 4555 } 4556 enum threshold-down { 4557 description 4558 "Bandwidth reservation down threshold"; 4559 } 4560 enum bandwidth-change { 4561 description "Banwidth capacity change"; 4562 } 4563 enum user-initiated { 4564 description "Initiated by user"; 4565 } 4566 enum srlg-change { 4567 description "SRLG property change"; 4568 } 4569 enum periodic-timer { 4570 description "Periodic timer expired"; 4571 } 4572 } 4573 default 'periodic-timer'; 4574 description "Trigger for the last flood"; 4575 } 4576 list advertized-level-areas { 4577 key level-area; 4578 description 4579 "List of areas the TE interface is advertised 4580 in"; 4581 leaf level-area { 4582 type uint32; 4583 description 4584 "The IGP area or level where the TE 4585 interface state is advertised in"; 4586 } 4587 } 4588 } 4589 } 4591 /* TE interface attributes grouping */ 4592 grouping te-attributes { 4593 description "TE attributes configuration grouping"; 4594 uses te-metric-config; 4595 uses te-admin-groups-config; 4596 uses te-srlgs-config; 4597 uses te-igp-flooding-bandwidth-config; 4598 uses te-switching-cap-config; 4599 container state { 4600 config false; 4601 description 4602 "State parameters for interface TE metric"; 4603 uses te-advertisements-state; 4604 } 4605 } 4607 grouping te-all-attributes { 4608 description 4609 "TE attributes configuration grouping for all 4610 interfaces"; 4611 uses te-igp-flooding-bandwidth-config; 4612 } 4613 /*** End of TE interfaces device groupings ***/ 4615 /** 4616 * TE device augmentations 4617 */ 4618 augment "/te:te" { 4619 description "TE global container."; 4620 /* TE Interface Configuration Data */ 4621 uses interfaces-grouping; 4622 container performance-thresholds { 4623 description 4624 "Performance parameters configurable thresholds"; 4625 } 4626 } 4628 /* TE globals device augmentation */ 4629 augment "/te:te/te:globals" { 4630 description 4631 "Global TE device specific configuration parameters"; 4632 uses lsp-device-timers-config; 4633 } 4635 /* TE tunnels device configuration augmentation */ 4636 augment "/te:te/te:tunnels/te:tunnel" { 4637 description 4638 "Tunnel device dependent augmentation"; 4639 uses lsp-device-timers-config; 4640 } 4642 /* TE LSPs device state augmentation */ 4643 augment "/te:te/te:lsps-state/te:lsp" { 4644 description 4645 "LSP device dependent augmentation"; 4646 uses lsps-device-state; 4647 } 4649 augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + 4650 "/te:p2p-secondary-path/te:lsps/te:lsp" { 4651 description 4652 "LSP device dependent augmentation"; 4653 uses lsps-device-state; 4654 } 4656 augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + 4657 "/te:p2p-primary-path/te:lsps/te:lsp" { 4658 description 4659 "LSP device dependent augmentation"; 4660 uses lsps-device-state; 4661 } 4663 /* TE interfaces RPCs/execution Data */ 4664 rpc interfaces-rpc { 4665 description 4666 "Execution data for TE interfaces."; 4667 } 4669 /* TE Interfaces Notification Data */ 4670 notification interfaces-notif { 4671 description 4672 "Notification messages for TE interfaces."; 4673 } 4674 } 4675 4677 Figure 8: TE device specific YANG module 4679 5. IANA Considerations 4681 This document registers the following URIs in the IETF XML registry 4682 [RFC3688]. Following the format in [RFC3688], the following 4683 registrations are requested to be made. 4685 URI: urn:ietf:params:xml:ns:yang:ietf-te 4686 XML: N/A, the requested URI is an XML namespace. 4688 URI: urn:ietf:params:xml:ns:yang:ietf-te-device 4689 XML: N/A, the requested URI is an XML namespace. 4691 This document registers two YANG modules in the YANG Module Names 4692 registry [RFC6020]. 4694 name: ietf-te 4695 namespace: urn:ietf:params:xml:ns:yang:ietf-te 4696 prefix: ietf-te 4697 reference: RFCXXXX 4699 name: ietf-te-device 4700 namespace: urn:ietf:params:xml:ns:yang:ietf-te-device 4701 prefix: ietf-te-device 4702 reference: RFCXXXX 4704 6. Security Considerations 4706 The YANG module defined in this memo is designed to be accessed via 4707 the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the 4708 secure transport layer and the mandatory-to-implement secure 4709 transport is SSH [RFC6242]. The NETCONF access control model 4710 [RFC8341] provides means to restrict access for particular NETCONF 4711 users to a pre-configured subset of all available NETCONF protocol 4712 operations and content. 4714 There are a number of data nodes defined in the YANG module which are 4715 writable/creatable/deletable (i.e., config true, which is the 4716 default). These data nodes may be considered sensitive or vulnerable 4717 in some network environments. Write operations (e.g., ) 4718 to these data nodes without proper protection can have a negative 4719 effect on network operations. Following are the subtrees and data 4720 nodes and their sensitivity/vulnerability: 4722 "/te/globals": This module specifies the global TE configurations on 4723 a device. Unauthorized access to this container could cause the 4724 device to ignore packets it should receive and process. 4726 "/te/tunnels": This list specifies the configured TE tunnels on a 4727 device. Unauthorized access to this list could cause the device to 4728 ignore packets it should receive and process. 4730 "/te/lsps-state": This list specifies the state derived LSPs. 4731 Unauthorized access to this list could cause the device to ignore 4732 packets it should receive and process. 4734 "/te/interfaces": This list specifies the configured TE interfaces on 4735 a device. Unauthorized access to this list could cause the device to 4736 ignore packets it should receive and process. 4738 7. Acknowledgement 4740 The authors would like to thank the members of the multi-vendor YANG 4741 design team who are involved in the definition of this model. 4743 The authors would also like to thank Loa Andersson, Lou Berger, 4744 Sergio Belotti, Italo Busi, Carlo Perocchio, Francesco Lazzeri, Aihua 4745 Guo, Dhruv Dhody, Anurag Sharma, and Xian Zhang for their comments 4746 and providing valuable feedback on this document. 4748 8. Contributors 4749 Himanshu Shah 4750 Ciena 4752 Email: hshah@ciena.com 4754 Xia Chen 4755 Huawei Technologies 4757 Email: jescia.chenxia@huawei.com 4759 Raqib Jones 4760 Brocade 4762 Email: raqib@Brocade.com 4764 Bin Wen 4765 Comcast 4767 Email: Bin_Wen@cable.comcast.com 4769 9. References 4771 9.1. Normative References 4773 [I-D.ietf-teas-yang-path-computation] 4774 Busi, I., Belotti, S., Lopezalvarez, V., Dios, O., Sharma, 4775 A., Shi, Y., Vilata, R., Sethuraman, K., Scharf, M., and 4776 D. Ceccarelli, "Yang model for requesting Path 4777 Computation", draft-ietf-teas-yang-path-computation-05 4778 (work in progress), March 2019. 4780 [I-D.ietf-teas-yang-rsvp] 4781 Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I., 4782 and H. Shah, "A YANG Data Model for Resource Reservation 4783 Protocol (RSVP)", draft-ietf-teas-yang-rsvp-10 (work in 4784 progress), February 2019. 4786 [I-D.ietf-teas-yang-te-types] 4787 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 4788 "Traffic Engineering Common YANG Types", draft-ietf-teas- 4789 yang-te-types-08 (work in progress), April 2019. 4791 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 4792 Requirement Levels", BCP 14, RFC 2119, 4793 DOI 10.17487/RFC2119, March 1997, 4794 . 4796 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 4797 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 4798 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 4799 . 4801 [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label 4802 Switching (GMPLS) Signaling Resource ReserVation Protocol- 4803 Traffic Engineering (RSVP-TE) Extensions", RFC 3473, 4804 DOI 10.17487/RFC3473, January 2003, 4805 . 4807 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 4808 DOI 10.17487/RFC3688, January 2004, 4809 . 4811 [RFC3945] Mannie, E., Ed., "Generalized Multi-Protocol Label 4812 Switching (GMPLS) Architecture", RFC 3945, 4813 DOI 10.17487/RFC3945, October 2004, 4814 . 4816 [RFC4206] Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP) 4817 Hierarchy with Generalized Multi-Protocol Label Switching 4818 (GMPLS) Traffic Engineering (TE)", RFC 4206, 4819 DOI 10.17487/RFC4206, October 2005, 4820 . 4822 [RFC4872] Lang, J., Ed., Rekhter, Y., Ed., and D. Papadimitriou, 4823 Ed., "RSVP-TE Extensions in Support of End-to-End 4824 Generalized Multi-Protocol Label Switching (GMPLS) 4825 Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007, 4826 . 4828 [RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S. 4829 Yasukawa, Ed., "Extensions to Resource Reservation 4830 Protocol - Traffic Engineering (RSVP-TE) for Point-to- 4831 Multipoint TE Label Switched Paths (LSPs)", RFC 4875, 4832 DOI 10.17487/RFC4875, May 2007, 4833 . 4835 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 4836 the Network Configuration Protocol (NETCONF)", RFC 6020, 4837 DOI 10.17487/RFC6020, October 2010, 4838 . 4840 [RFC6107] Shiomoto, K., Ed. and A. Farrel, Ed., "Procedures for 4841 Dynamically Signaled Hierarchical Label Switched Paths", 4842 RFC 6107, DOI 10.17487/RFC6107, February 2011, 4843 . 4845 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 4846 and A. Bierman, Ed., "Network Configuration Protocol 4847 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 4848 . 4850 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 4851 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 4852 . 4854 [RFC6780] Berger, L., Le Faucheur, F., and A. Narayanan, "RSVP 4855 ASSOCIATION Object Extensions", RFC 6780, 4856 DOI 10.17487/RFC6780, October 2012, 4857 . 4859 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 4860 RFC 6991, DOI 10.17487/RFC6991, July 2013, 4861 . 4863 [RFC7308] Osborne, E., "Extended Administrative Groups in MPLS 4864 Traffic Engineering (MPLS-TE)", RFC 7308, 4865 DOI 10.17487/RFC7308, July 2014, 4866 . 4868 [RFC7551] Zhang, F., Ed., Jing, R., and R. Gandhi, Ed., "RSVP-TE 4869 Extensions for Associated Bidirectional Label Switched 4870 Paths (LSPs)", RFC 7551, DOI 10.17487/RFC7551, May 2015, 4871 . 4873 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 4874 RFC 7950, DOI 10.17487/RFC7950, August 2016, 4875 . 4877 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 4878 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 4879 . 4881 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 4882 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 4883 May 2017, . 4885 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 4886 "Common YANG Data Types for the Routing Area", RFC 8294, 4887 DOI 10.17487/RFC8294, December 2017, 4888 . 4890 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 4891 Access Control Model", STD 91, RFC 8341, 4892 DOI 10.17487/RFC8341, March 2018, 4893 . 4895 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 4896 and R. Wilton, "Network Management Datastore Architecture 4897 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 4898 . 4900 [RFC8343] Bjorklund, M., "A YANG Data Model for Interface 4901 Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, 4902 . 4904 9.2. Informative References 4906 [RFC4427] Mannie, E., Ed. and D. Papadimitriou, Ed., "Recovery 4907 (Protection and Restoration) Terminology for Generalized 4908 Multi-Protocol Label Switching (GMPLS)", RFC 4427, 4909 DOI 10.17487/RFC4427, March 2006, 4910 . 4912 Authors' Addresses 4914 Tarek Saad 4915 Juniper Networks 4917 Email: tsaad@juniper.net 4919 Rakesh Gandhi 4920 Cisco Systems Inc 4922 Email: rgandhi@cisco.com 4924 Xufeng Liu 4925 Volta Networks 4927 Email: xufeng.liu.ietf@gmail.com 4928 Vishnu Pavan Beeram 4929 Juniper Networks 4931 Email: vbeeram@juniper.net 4933 Igor Bryskin 4934 Huawei Technologies 4936 Email: Igor.Bryskin@huawei.com