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