idnits 2.17.1 draft-ietf-ccamp-flexigrid-media-channel-yang-03.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 82 instances of weird spacing in the document. Is it really formatted ragged-right, rather than justified? ** There are 38 instances of too long lines in the document, the longest one being 18 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 250 has weird spacing: '...ic-type ide...' == Line 254 has weird spacing: '...w usage ide...' == Line 260 has weird spacing: '...rw name str...' == Line 267 has weird spacing: '...w usage ide...' == Line 281 has weird spacing: '...k-tp-id te-...' == (77 more instances...) -- The document date (February 22, 2021) is 1158 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-16) exists of draft-ietf-ccamp-flexigrid-yang-08 == Outdated reference: A later version (-36) exists of draft-ietf-teas-yang-te-25 Summary: 2 errors (**), 0 flaws (~~), 9 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 CCAMP Working Group J. Lopez de Vergara 3 Internet-Draft Naudit HPCN 4 Intended status: Informational D. Perdices Burrero 5 Expires: August 26, 2021 Universidad Autonoma de Madrid 6 D. King 7 Old Dog Consulting 8 V. Lopez 9 Telefonica I+D/GCTO 10 I. Busi 11 Huawei Technologies 12 O. Gonzalez de Dios 13 Telefonica I+D/GCTO 14 Y. Lee 15 Samsung 16 G. Galimberti 17 Cisco 18 February 22, 2021 20 A YANG Data Model for Flexi-Grid Media Channels 21 draft-ietf-ccamp-flexigrid-media-channel-yang-03 23 Abstract 25 This document defines a YANG model for managing flexi-grid optical 26 media channels, complementing the information provided by the flexi- 27 grid topology model. 29 The YANG data model defined in this document conforms to the Network 30 Management Datastore Architecture (NMDA). 32 Status of This Memo 34 This Internet-Draft is submitted in full conformance with the 35 provisions of BCP 78 and BCP 79. 37 Internet-Drafts are working documents of the Internet Engineering 38 Task Force (IETF). Note that other groups may also distribute 39 working documents as Internet-Drafts. The list of current Internet- 40 Drafts is at https://datatracker.ietf.org/drafts/current/. 42 Internet-Drafts are draft documents valid for a maximum of six months 43 and may be updated, replaced, or obsoleted by other documents at any 44 time. It is inappropriate to use Internet-Drafts as reference 45 material or to cite them other than as "work in progress." 47 This Internet-Draft will expire on August 26, 2021. 49 Copyright Notice 51 Copyright (c) 2021 IETF Trust and the persons identified as the 52 document authors. All rights reserved. 54 This document is subject to BCP 78 and the IETF Trust's Legal 55 Provisions Relating to IETF Documents 56 (https://trustee.ietf.org/license-info) in effect on the date of 57 publication of this document. Please review these documents 58 carefully, as they describe your rights and restrictions with respect 59 to this document. Code Components extracted from this document must 60 include Simplified BSD License text as described in Section 4.e of 61 the Trust Legal Provisions and are provided without warranty as 62 described in the Simplified BSD License. 64 Table of Contents 66 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 67 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 68 3. Flexi-Grid Media-Channel Overview . . . . . . . . . . . . . . 3 69 4. Example of Use . . . . . . . . . . . . . . . . . . . . . . . 4 70 5. YANG Model for Flexi-Grid Media Channel . . . . . . . . . . . 6 71 5.1. YANG Tree . . . . . . . . . . . . . . . . . . . . . . . . 6 72 5.2. YANG Code . . . . . . . . . . . . . . . . . . . . . . . . 43 73 6. Security Considerations . . . . . . . . . . . . . . . . . . . 58 74 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 58 75 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 58 76 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 59 77 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 59 78 10.1. Normative References . . . . . . . . . . . . . . . . . . 59 79 10.2. Informative References . . . . . . . . . . . . . . . . . 59 80 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 60 82 1. Introduction 84 Transport networks are evolving from current DWDM systems towards 85 elastic optical networks, based on flexi-grid transmission and 86 switching technologies [RFC7698]. Such technology aims at increasing 87 both transport network scalability and flexibility, allowing the 88 optimization of bandwidth usage. 90 While [I-D.ietf-ccamp-flexigrid-yang] focuses on flexi-grid objects 91 such as nodes, transponders and links, this document presents a YANG 92 [RFC7950] model for the flexi-grid media-channel. This YANG module 93 defines the whole path from a source transponder or node to the 94 destination through a number of intermediate nodes in the flexi-grid 95 network. 97 This document identifies the flexi-grid media-channel components, 98 parameters and their values, characterizes the features and the 99 performances of the flexi-grid elements. An application example is 100 provided towards the end of the document to better understand their 101 utility. 103 2. Terminology 105 Refer to [RFC7446] and [RFC7699] for the key terms used in this 106 document. 108 The following terms are defined in [RFC7950] and are not redefined 109 here: 111 o client 113 o server 115 o augment 117 o data model 119 o data node 121 The following terms are defined in [RFC6241] and are not redefined 122 here: 124 o configuration data 126 o state data 128 The terminology for describing YANG data models is found in 129 [RFC7950]. 131 3. Flexi-Grid Media-Channel Overview 133 The present model defines a flexi-grid media-channel mainly composed 134 of: 136 o source address 138 o source flexi-grid port 140 o source flexi-grid transponder 142 o destination address 144 o destination flexi-grid port 145 o destination flexi-grid transponder 147 o list of links that defines the path 149 o other optical attributes 151 Each path can be a media-channel (only defined by source and 152 destination node) or a network media-channel (additionally needs 153 source and destination transponders). Therefore, all the attributes 154 are optional to support both situations. 156 This is achieved by a combination of the traffic engineering tunnel 157 attributes explained in [I-D.ietf-teas-yang-te] and augments when 158 necessary. For instance, source address, source flexi-grid 159 transponder, destination address and destination flexi-grid 160 transponder attributes are directly taken from tunnel, whereas other 161 attributes such as source flexi-grid port, destination flexi-grid 162 port are defined, as they are specific for flexi-grid. 164 4. Example of Use 166 In order to explain how this model is used, we provide the following 167 example. An optical network usually has multiple transponders, 168 switches (nodes) and links. Figure 1 shows a simple topology, where 169 two physical paths interconnect two optical transponders. 171 Media channel 172 <========================================================> 173 Path x 174 <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~> 175 +-----------+ +-----------+ 176 | Optical | | Optical | 177 | Edge | | Edge | 178 | | | | 179 | ........| +------+ +------+ |........ | 180 | : | Link 1 |Flexi-| Link 2 |Flexi-| Link 3 | : | 181 | : Flexi-|<------>| grid|<------>| grid|<------>|Flexi- : | 182 | : grid| |node B| |node C| | grid : | 183 | : Trans-| +------+ +------+ |Trans- : | 184 | : ponder| |ponder : | 185 | : A | +----------+ | E : | 186 | : | Link 4 |Flexi-grid| Link 5 | : | 187 | : |<------------>| node |<------------>| : | 188 | :.......| | D | |.......: | 189 | | +----------+ | | 190 +-----------+ +-----------+ 191 <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~> 192 Path y 194 Figure 1: Topology Example 196 After the nodes, links and transponders have been defined using 197 [I-D.ietf-ccamp-flexigrid-yang] we can configure the media-channel 198 from the information we have stored in the flexi-grid topology, by 199 querying which elements are available, and planning the resources 200 that have to be provided on each situation. Note that every element 201 in the flexi-grid topology has a reference, and this is the way in 202 which they are called in the media-channel. 204 o Depending on the case, it is possible to define either the source 205 and destination node ports, or the source and destination node and 206 transponder. In our case, we would define a network media 207 channel, with source transponder A and source node B, and 208 destination transponder E and destination node C. Thus, we are 209 going to follow path x. 211 o Then, for each link in the path x, we indicate which channel we 212 are going to use, providing information about the slots, and what 213 nodes are connected. 215 o Finally, the flexi-grid topology has to be updated with each 216 element usage status each time a media channel is created or torn 217 down. 219 5. YANG Model for Flexi-Grid Media Channel 221 5.1. YANG Tree 223 module: ietf-te 224 +--rw te! 225 +--rw globals 226 | +--rw named-admin-groups 227 | | +--rw named-admin-group* [name] 228 | | {te-types:extended-admin-groups,te-types:named-extended-admin-groups}? 229 | | +--rw name string 230 | | +--rw bit-position? uint32 231 | +--rw named-srlgs 232 | | +--rw named-srlg* [name] {te-types:named-srlg-groups}? 233 | | +--rw name string 234 | | +--rw group? te-types:srlg 235 | | +--rw cost? uint32 236 | +--rw named-path-constraints 237 | +--rw named-path-constraint* [name] 238 | {te-types:named-path-constraints}? 239 | +--rw name string 240 | +--rw te-bandwidth 241 | | +--rw (technology)? 242 | | +--:(generic) 243 | | +--rw generic? te-bandwidth 244 | +--rw link-protection? identityref 245 | +--rw setup-priority? uint8 246 | +--rw hold-priority? uint8 247 | +--rw signaling-type? identityref 248 | +--rw path-metric-bounds 249 | | +--rw path-metric-bound* [metric-type] 250 | | +--rw metric-type identityref 251 | | +--rw upper-bound? uint64 252 | +--rw path-affinities-values 253 | | +--rw path-affinities-value* [usage] 254 | | +--rw usage identityref 255 | | +--rw value? admin-groups 256 | +--rw path-affinity-names 257 | | +--rw path-affinity-name* [usage] 258 | | +--rw usage identityref 259 | | +--rw affinity-name* [name] 260 | | +--rw name string 261 | +--rw path-srlgs-lists 262 | | +--rw path-srlgs-list* [usage] 263 | | +--rw usage identityref 264 | | +--rw values* srlg 265 | +--rw path-srlgs-names 266 | | +--rw path-srlgs-name* [usage] 267 | | +--rw usage identityref 268 | | +--rw names* string 269 | +--rw disjointness? 270 | | te-path-disjointness 271 | +--rw explicit-route-objects-always 272 | | +--rw route-object-exclude-always* [index] 273 | | | +--rw index uint32 274 | | | +--rw (type)? 275 | | | +--:(numbered-node-hop) 276 | | | | +--rw numbered-node-hop 277 | | | | +--rw node-id te-node-id 278 | | | | +--rw hop-type? te-hop-type 279 | | | +--:(numbered-link-hop) 280 | | | | +--rw numbered-link-hop 281 | | | | +--rw link-tp-id te-tp-id 282 | | | | +--rw hop-type? te-hop-type 283 | | | | +--rw direction? te-link-direction 284 | | | +--:(unnumbered-link-hop) 285 | | | | +--rw unnumbered-link-hop 286 | | | | +--rw link-tp-id te-tp-id 287 | | | | +--rw node-id te-node-id 288 | | | | +--rw hop-type? te-hop-type 289 | | | | +--rw direction? te-link-direction 290 | | | +--:(as-number) 291 | | | | +--rw as-number-hop 292 | | | | +--rw as-number inet:as-number 293 | | | | +--rw hop-type? te-hop-type 294 | | | +--:(label) 295 | | | +--rw label-hop 296 | | | +--rw te-label 297 | | | +--rw (technology)? 298 | | | | +--:(generic) 299 | | | | +--rw generic? 300 | | | | rt-types:generalized-label 301 | | | +--rw direction? 302 | | | te-label-direction 303 | | +--rw route-object-include-exclude* [index] 304 | | +--rw explicit-route-usage? identityref 305 | | +--rw index uint32 306 | | +--rw (type)? 307 | | +--:(numbered-node-hop) 308 | | | +--rw numbered-node-hop 309 | | | +--rw node-id te-node-id 310 | | | +--rw hop-type? te-hop-type 311 | | +--:(numbered-link-hop) 312 | | | +--rw numbered-link-hop 313 | | | +--rw link-tp-id te-tp-id 314 | | | +--rw hop-type? te-hop-type 315 | | | +--rw direction? te-link-direction 316 | | +--:(unnumbered-link-hop) 317 | | | +--rw unnumbered-link-hop 318 | | | +--rw link-tp-id te-tp-id 319 | | | +--rw node-id te-node-id 320 | | | +--rw hop-type? te-hop-type 321 | | | +--rw direction? te-link-direction 322 | | +--:(as-number) 323 | | | +--rw as-number-hop 324 | | | +--rw as-number inet:as-number 325 | | | +--rw hop-type? te-hop-type 326 | | +--:(label) 327 | | | +--rw label-hop 328 | | | +--rw te-label 329 | | | +--rw (technology)? 330 | | | | +--:(generic) 331 | | | | +--rw generic? 332 | | | | rt-types:generalized-label 333 | | | +--rw direction? 334 | | | te-label-direction 335 | | +--:(srlg) 336 | | +--rw srlg 337 | | +--rw srlg? uint32 338 | +--rw shared-resources-tunnels 339 | | +--rw lsp-shared-resources-tunnel* tunnel-ref 340 | +--rw path-in-segment! 341 | | +--rw label-restrictions 342 | | +--rw label-restriction* [index] 343 | | +--rw restriction? enumeration 344 | | +--rw index uint32 345 | | +--rw label-start 346 | | | +--rw te-label 347 | | | +--rw (technology)? 348 | | | | +--:(generic) 349 | | | | +--rw generic? 350 | | | | rt-types:generalized-label 351 | | | +--rw direction? 352 | | | te-label-direction 353 | | +--rw label-end 354 | | | +--rw te-label 355 | | | +--rw (technology)? 356 | | | | +--:(generic) 357 | | | | +--rw generic? 358 | | | | rt-types:generalized-label 359 | | | +--rw direction? 360 | | | te-label-direction 361 | | +--rw label-step 362 | | | +--rw (technology)? 363 | | | +--:(generic) 364 | | | +--rw generic? int32 365 | | +--rw range-bitmap? yang:hex-string 366 | +--rw path-out-segment! 367 | +--rw label-restrictions 368 | +--rw label-restriction* [index] 369 | +--rw restriction? enumeration 370 | +--rw index uint32 371 | +--rw label-start 372 | | +--rw te-label 373 | | +--rw (technology)? 374 | | | +--:(generic) 375 | | | +--rw generic? 376 | | | rt-types:generalized-label 377 | | +--rw direction? 378 | | te-label-direction 379 | +--rw label-end 380 | | +--rw te-label 381 | | +--rw (technology)? 382 | | | +--:(generic) 383 | | | +--rw generic? 384 | | | rt-types:generalized-label 385 | | +--rw direction? 386 | | te-label-direction 387 | +--rw label-step 388 | | +--rw (technology)? 389 | | +--:(generic) 390 | | +--rw generic? int32 391 | +--rw range-bitmap? yang:hex-string 392 +--rw tunnels 393 | +--rw tunnel* [name] 394 | | +--ro operational-state? identityref 395 | | +--rw name string 396 | | +--rw identifier? uint16 397 | | +--rw description? string 398 | | +--rw encoding? identityref 399 | | +--rw switching-type? identityref 400 | | +--rw provisioning-state? identityref 401 | | +--rw preference? uint8 402 | | +--rw reoptimize-timer? uint16 403 | | +--rw source? te-types:te-node-id 404 | | +--rw destination? te-types:te-node-id 405 | | +--rw src-tp-id? yang:hex-string 406 | | +--rw dst-tp-id? yang:hex-string 407 | | +--rw bidirectional? boolean 408 | | +--rw association-objects 409 | | | +--rw association-object* 410 | | | | [type ID source global-source] 411 | | | | +--rw type identityref 412 | | | | +--rw ID uint16 413 | | | | +--rw source te-types:te-node-id 414 | | | | +--rw global-source te-types:te-node-id 415 | | | +--rw association-object-extended* 416 | | | [type ID source global-source extended-ID] 417 | | | +--rw type identityref 418 | | | +--rw ID uint16 419 | | | +--rw source te-types:te-node-id 420 | | | +--rw global-source te-types:te-node-id 421 | | | +--rw extended-ID yang:hex-string 422 | | +--rw protection 423 | | | +--rw enable? boolean 424 | | | +--rw protection-type? identityref 425 | | | +--rw protection-reversion-disable? boolean 426 | | | +--rw hold-off-time? uint32 427 | | | +--rw wait-to-revert? uint16 428 | | | +--rw aps-signal-id? uint8 429 | | +--rw restoration 430 | | | +--rw enable? boolean 431 | | | +--rw restoration-type? identityref 432 | | | +--rw restoration-scheme? identityref 433 | | | +--rw restoration-reversion-disable? boolean 434 | | | +--rw hold-off-time? uint32 435 | | | +--rw wait-to-restore? uint16 436 | | | +--rw wait-to-revert? uint16 437 | | +--rw te-topology-identifier 438 | | | +--rw provider-id? te-global-id 439 | | | +--rw client-id? te-global-id 440 | | | +--rw topology-id? te-topology-id 441 | | +--rw te-bandwidth 442 | | | +--rw (technology)? 443 | | | +--:(generic) 444 | | | +--rw generic? te-bandwidth 445 | | +--rw link-protection? identityref 446 | | +--rw setup-priority? uint8 447 | | +--rw hold-priority? uint8 448 | | +--rw signaling-type? identityref 449 | | +--rw dependency-tunnels 450 | | | +--rw dependency-tunnel* [name] 451 | | | +--rw name 452 | | | | -> ../../../../../tunnels/tunnel/name 453 | | | +--rw encoding? identityref 454 | | | +--rw switching-type? identityref 455 | | +--rw hierarchical-link 456 | | | +--rw local-te-node-id? te-types:te-node-id 457 | | | +--rw local-te-link-tp-id? te-types:te-tp-id 458 | | | +--rw remote-te-node-id? te-types:te-node-id 459 | | | +--rw te-topology-identifier 460 | | | +--rw provider-id? te-global-id 461 | | | +--rw client-id? te-global-id 462 | | | +--rw topology-id? te-topology-id 463 | | +--rw p2p-primary-paths 464 | | | +--rw p2p-primary-path* [name] 465 | | | +--rw name string 466 | | | +--rw path-setup-protocol? identityref 467 | | | +--rw path-computation-method? identityref 468 | | | +--rw path-computation-server? 469 | | | | inet:ip-address 470 | | | +--rw compute-only? empty 471 | | | +--rw use-path-computation? boolean 472 | | | +--rw lockdown? empty 473 | | | +--ro path-scope? identityref 474 | | | +--rw optimizations 475 | | | | +--rw (algorithm)? 476 | | | | +--:(metric) {path-optimization-metric}? 477 | | | | | +--rw optimization-metric* [metric-type] 478 | | | | | | +--rw metric-type 479 | | | | | | | identityref 480 | | | | | | +--rw weight? 481 | | | | | | | uint8 482 | | | | | | +--rw explicit-route-exclude-objects 483 | | | | | | | +--rw route-object-exclude-object* 484 | | | | | | | [index] 485 | | | | | | | +--rw index 486 | | | | | | | | uint32 487 | | | | | | | +--rw (type)? 488 | | | | | | | +--:(numbered-node-hop) 489 | | | | | | | | +--rw numbered-node-hop 490 | | | | | | | | +--rw node-id 491 | | | | | | | | | te-node-id 492 | | | | | | | | +--rw hop-type? 493 | | | | | | | | te-hop-type 494 | | | | | | | +--:(numbered-link-hop) 495 | | | | | | | | +--rw numbered-link-hop 496 | | | | | | | | +--rw link-tp-id 497 | | | | | | | | | te-tp-id 498 | | | | | | | | +--rw hop-type? 499 | | | | | | | | | te-hop-type 500 | | | | | | | | +--rw direction? 501 | | | | | | | | te-link-direction 502 | | | | | | | +--:(unnumbered-link-hop) 503 | | | | | | | | +--rw unnumbered-link-hop 504 | | | | | | | | +--rw link-tp-id 505 | | | | | | | | | te-tp-id 506 | | | | | | | | +--rw node-id 507 | | | | | | | | | te-node-id 508 | | | | | | | | +--rw hop-type? 509 | | | | | | | | | te-hop-type 510 | | | | | | | | +--rw direction? 511 | | | | | | | | te-link-direction 512 | | | | | | | +--:(as-number) 513 | | | | | | | | +--rw as-number-hop 514 | | | | | | | | +--rw as-number 515 | | | | | | | | | inet:as-number 516 | | | | | | | | +--rw hop-type? 517 | | | | | | | | te-hop-type 518 | | | | | | | +--:(label) 519 | | | | | | | | +--rw label-hop 520 | | | | | | | | +--rw te-label 521 | | | | | | | | +--rw (technology)? 522 | | | | | | | | | +--:(generic) 523 | | | | | | | | | +--rw generic? 524 | | | | | | | | | rt-types:generalized-label 525 | | | | | | | | +--rw direction? 526 | | | | | | | | te-label-direction 527 | | | | | | | +--:(srlg) 528 | | | | | | | +--rw srlg 529 | | | | | | | +--rw srlg? uint32 530 | | | | | | +--rw explicit-route-include-objects 531 | | | | | | +--rw route-object-include-object* 532 | | | | | | [index] 533 | | | | | | +--rw index 534 | | | | | | | uint32 535 | | | | | | +--rw (type)? 536 | | | | | | +--:(numbered-node-hop) 537 | | | | | | | +--rw numbered-node-hop 538 | | | | | | | +--rw node-id 539 | | | | | | | | te-node-id 540 | | | | | | | +--rw hop-type? 541 | | | | | | | te-hop-type 542 | | | | | | +--:(numbered-link-hop) 543 | | | | | | | +--rw numbered-link-hop 544 | | | | | | | +--rw link-tp-id 545 | | | | | | | | te-tp-id 546 | | | | | | | +--rw hop-type? 547 | | | | | | | | te-hop-type 548 | | | | | | | +--rw direction? 549 | | | | | | | te-link-direction 550 | | | | | | +--:(unnumbered-link-hop) 551 | | | | | | | +--rw unnumbered-link-hop 552 | | | | | | | +--rw link-tp-id 553 | | | | | | | | te-tp-id 554 | | | | | | | +--rw node-id 555 | | | | | | | | te-node-id 556 | | | | | | | +--rw hop-type? 557 | | | | | | | | te-hop-type 558 | | | | | | | +--rw direction? 559 | | | | | | | te-link-direction 560 | | | | | | +--:(as-number) 561 | | | | | | | +--rw as-number-hop 562 | | | | | | | +--rw as-number 563 | | | | | | | | inet:as-number 564 | | | | | | | +--rw hop-type? 565 | | | | | | | te-hop-type 566 | | | | | | +--:(label) 567 | | | | | | +--rw label-hop 568 | | | | | | +--rw te-label 569 | | | | | | +--rw (technology)? 570 | | | | | | | +--:(generic) 571 | | | | | | | +--rw generic? 572 | | | | | | | rt-types:generalized-label 573 | | | | | | +--rw direction? 574 | | | | | | te-label-direction 575 | | | | | +--rw tiebreakers 576 | | | | | +--rw tiebreaker* [tiebreaker-type] 577 | | | | | +--rw tiebreaker-type identityref 578 | | | | +--:(objective-function) 579 | | | | {path-optimization-objective-function}? 580 | | | | +--rw objective-function 581 | | | | +--rw objective-function-type? 582 | | | | identityref 583 | | | +--rw preference? uint8 584 | | | +--rw k-requested-paths? uint8 585 | | | +--rw named-path-constraint? leafref 586 | | | | {te-types:named-path-constraints}? 587 | | | +--rw te-bandwidth 588 | | | | +--rw (technology)? 589 | | | | +--:(generic) 590 | | | | +--rw generic? te-bandwidth 591 | | | +--rw link-protection? identityref 592 | | | +--rw setup-priority? uint8 593 | | | +--rw hold-priority? uint8 594 | | | +--rw signaling-type? identityref 595 | | | +--rw path-metric-bounds 596 | | | | +--rw path-metric-bound* [metric-type] 597 | | | | +--rw metric-type identityref 598 | | | | +--rw upper-bound? uint64 599 | | | +--rw path-affinities-values 600 | | | | +--rw path-affinities-value* [usage] 601 | | | | +--rw usage identityref 602 | | | | +--rw value? admin-groups 603 | | | +--rw path-affinity-names 604 | | | | +--rw path-affinity-name* [usage] 605 | | | | +--rw usage identityref 606 | | | | +--rw affinity-name* [name] 607 | | | | +--rw name string 608 | | | +--rw path-srlgs-lists 609 | | | | +--rw path-srlgs-list* [usage] 610 | | | | +--rw usage identityref 611 | | | | +--rw values* srlg 612 | | | +--rw path-srlgs-names 613 | | | | +--rw path-srlgs-name* [usage] 614 | | | | +--rw usage identityref 615 | | | | +--rw names* string 616 | | | +--rw disjointness? 617 | | | | te-path-disjointness 618 | | | +--rw explicit-route-objects-always 619 | | | | +--rw route-object-exclude-always* [index] 620 | | | | | +--rw index uint32 621 | | | | | +--rw (type)? 622 | | | | | +--:(numbered-node-hop) 623 | | | | | | +--rw numbered-node-hop 624 | | | | | | +--rw node-id te-node-id 625 | | | | | | +--rw hop-type? te-hop-type 626 | | | | | +--:(numbered-link-hop) 627 | | | | | | +--rw numbered-link-hop 628 | | | | | | +--rw link-tp-id te-tp-id 629 | | | | | | +--rw hop-type? te-hop-type 630 | | | | | | +--rw direction? te-link-direction 631 | | | | | +--:(unnumbered-link-hop) 632 | | | | | | +--rw unnumbered-link-hop 633 | | | | | | +--rw link-tp-id te-tp-id 634 | | | | | | +--rw node-id te-node-id 635 | | | | | | +--rw hop-type? te-hop-type 636 | | | | | | +--rw direction? te-link-direction 637 | | | | | +--:(as-number) 638 | | | | | | +--rw as-number-hop 639 | | | | | | +--rw as-number inet:as-number 640 | | | | | | +--rw hop-type? te-hop-type 641 | | | | | +--:(label) 642 | | | | | +--rw label-hop 643 | | | | | +--rw te-label 644 | | | | | +--rw (technology)? 645 | | | | | | +--:(generic) 646 | | | | | | +--rw generic? 647 | | | | | | rt-types:generalized-label 648 | | | | | +--rw direction? 649 | | | | | te-label-direction 650 | | | | +--rw route-object-include-exclude* [index] 651 | | | | +--rw explicit-route-usage? identityref 652 | | | | +--rw index uint32 653 | | | | +--rw (type)? 654 | | | | +--:(numbered-node-hop) 655 | | | | | +--rw numbered-node-hop 656 | | | | | +--rw node-id te-node-id 657 | | | | | +--rw hop-type? te-hop-type 658 | | | | +--:(numbered-link-hop) 659 | | | | | +--rw numbered-link-hop 660 | | | | | +--rw link-tp-id te-tp-id 661 | | | | | +--rw hop-type? te-hop-type 662 | | | | | +--rw direction? te-link-direction 663 | | | | +--:(unnumbered-link-hop) 664 | | | | | +--rw unnumbered-link-hop 665 | | | | | +--rw link-tp-id te-tp-id 666 | | | | | +--rw node-id te-node-id 667 | | | | | +--rw hop-type? te-hop-type 668 | | | | | +--rw direction? te-link-direction 669 | | | | +--:(as-number) 670 | | | | | +--rw as-number-hop 671 | | | | | +--rw as-number inet:as-number 672 | | | | | +--rw hop-type? te-hop-type 673 | | | | +--:(label) 674 | | | | | +--rw label-hop 675 | | | | | +--rw te-label 676 | | | | | +--rw (technology)? 677 | | | | | | +--:(generic) 678 | | | | | | +--rw generic? 679 | | | | | | rt-types:generalized-label 680 | | | | | +--rw direction? 681 | | | | | te-label-direction 682 | | | | +--:(srlg) 683 | | | | +--rw srlg 684 | | | | +--rw srlg? uint32 685 | | | +--rw shared-resources-tunnels 686 | | | | +--rw lsp-shared-resources-tunnel* tunnel-ref 687 | | | +--rw path-in-segment! 688 | | | | +--rw label-restrictions 689 | | | | +--rw label-restriction* [index] 690 | | | | +--rw restriction? enumeration 691 | | | | +--rw index uint32 692 | | | | +--rw label-start 693 | | | | | +--rw te-label 694 | | | | | +--rw (technology)? 695 | | | | | | +--:(generic) 696 | | | | | | +--rw generic? 697 | | | | | | rt-types:generalized-label 698 | | | | | +--rw direction? 699 | | | | | te-label-direction 700 | | | | +--rw label-end 701 | | | | | +--rw te-label 702 | | | | | +--rw (technology)? 703 | | | | | | +--:(generic) 704 | | | | | | +--rw generic? 705 | | | | | | rt-types:generalized-label 706 | | | | | +--rw direction? 707 | | | | | te-label-direction 708 | | | | +--rw label-step 709 | | | | | +--rw (technology)? 710 | | | | | +--:(generic) 711 | | | | | +--rw generic? int32 712 | | | | +--rw range-bitmap? yang:hex-string 713 | | | +--rw path-out-segment! 714 | | | | +--rw label-restrictions 715 | | | | +--rw label-restriction* [index] 716 | | | | +--rw restriction? enumeration 717 | | | | +--rw index uint32 718 | | | | +--rw label-start 719 | | | | | +--rw te-label 720 | | | | | +--rw (technology)? 721 | | | | | | +--:(generic) 722 | | | | | | +--rw generic? 723 | | | | | | rt-types:generalized-label 724 | | | | | +--rw direction? 725 | | | | | te-label-direction 726 | | | | +--rw label-end 727 | | | | | +--rw te-label 728 | | | | | +--rw (technology)? 729 | | | | | | +--:(generic) 730 | | | | | | +--rw generic? 731 | | | | | | rt-types:generalized-label 732 | | | | | +--rw direction? 733 | | | | | te-label-direction 734 | | | | +--rw label-step 735 | | | | | +--rw (technology)? 736 | | | | | +--:(generic) 737 | | | | | +--rw generic? int32 738 | | | | +--rw range-bitmap? yang:hex-string 739 | | | +--ro computed-paths-properties 740 | | | | +--ro computed-path-properties* [k-index] 741 | | | | +--ro k-index uint8 742 | | | | +--ro path-properties 743 | | | | +--ro path-metric* [metric-type] 744 | | | | | +--ro metric-type identityref 745 | | | | | +--ro accumulative-value? uint64 746 | | | | +--ro path-affinities-values 747 | | | | | +--ro path-affinities-value* [usage] 748 | | | | | +--ro usage identityref 749 | | | | | +--ro value? admin-groups 750 | | | | +--ro path-affinity-names 751 | | | | | +--ro path-affinity-name* [usage] 752 | | | | | +--ro usage identityref 753 | | | | | +--ro affinity-name* [name] 754 | | | | | +--ro name string 755 | | | | +--ro path-srlgs-lists 756 | | | | | +--ro path-srlgs-list* [usage] 757 | | | | | +--ro usage identityref 758 | | | | | +--ro values* srlg 759 | | | | +--ro path-srlgs-names 760 | | | | | +--ro path-srlgs-name* [usage] 761 | | | | | +--ro usage identityref 762 | | | | | +--ro names* string 763 | | | | +--ro path-route-objects 764 | | | | | +--ro path-computed-route-object* 765 | | | | | [index] 766 | | | | | +--ro index 767 | | | | | | uint32 768 | | | | | +--ro (type)? 769 | | | | | +--:(numbered-node-hop) 770 | | | | | | +--ro numbered-node-hop 771 | | | | | | +--ro node-id te-node-id 772 | | | | | | +--ro hop-type? 773 | | | | | | te-hop-type 774 | | | | | +--:(numbered-link-hop) 775 | | | | | | +--ro numbered-link-hop 776 | | | | | | +--ro link-tp-id te-tp-id 777 | | | | | | +--ro hop-type? 778 | | | | | | | te-hop-type 779 | | | | | | +--ro direction? 780 | | | | | | te-link-direction 781 | | | | | +--:(unnumbered-link-hop) 782 | | | | | | +--ro unnumbered-link-hop 783 | | | | | | +--ro link-tp-id te-tp-id 784 | | | | | | +--ro node-id 785 | | | | | | | te-node-id 786 | | | | | | +--ro hop-type? 787 | | | | | | | te-hop-type 788 | | | | | | +--ro direction? 789 | | | | | | te-link-direction 790 | | | | | +--:(as-number) 791 | | | | | | +--ro as-number-hop 792 | | | | | | +--ro as-number 793 | | | | | | | inet:as-number 794 | | | | | | +--ro hop-type? 795 | | | | | | te-hop-type 796 | | | | | +--:(label) 797 | | | | | +--ro label-hop 798 | | | | | +--ro te-label 799 | | | | | +--ro (technology)? 800 | | | | | | +--:(generic) 801 | | | | | | +--ro generic? 802 | | | | | | rt-types:generalized-label 803 | | | | | +--ro direction? 804 | | | | | te-label-direction 805 | | | | +--ro shared-resources-tunnels 806 | | | | +--ro lsp-shared-resources-tunnel* 807 | | | | tunnel-ref 808 | | | +--ro lsps 809 | | | | +--ro lsp* 810 | | | | [source destination tunnel-id lsp-id extended-tunnel-id] 811 | | | | +--ro source 812 | | | | | te-types:te-node-id 813 | | | | +--ro destination 814 | | | | | te-types:te-node-id 815 | | | | +--ro tunnel-id 816 | | | | | uint16 817 | | | | +--ro lsp-id 818 | | | | | uint16 819 | | | | +--ro extended-tunnel-id 820 | | | | | yang:dotted-quad 821 | | | | +--ro operational-state? 822 | | | | | identityref 823 | | | | +--ro path-setup-protocol? 824 | | | | | identityref 825 | | | | +--ro origin-type? 826 | | | | | enumeration 827 | | | | +--ro lsp-resource-status? 828 | | | | | enumeration 829 | | | | +--ro lockout-of-normal? 830 | | | | | boolean 831 | | | | +--ro freeze? 832 | | | | | boolean 833 | | | | +--ro lsp-protection-role? 834 | | | | | enumeration 835 | | | | +--ro lsp-protection-state? 836 | | | | | identityref 837 | | | | +--ro protection-group-ingress-node-id? 838 | | | | | te-types:te-node-id 839 | | | | +--ro protection-group-egress-node-id? 840 | | | | | te-types:te-node-id 841 | | | | +--ro lsp-shared-resources-tunnel? 842 | | | | | tunnel-ref 843 | | | | +--ro lsp-record-route-information 844 | | | | | +--ro lsp-record-route-information* [index] 845 | | | | | +--ro index 846 | | | | | | uint32 847 | | | | | +--ro (type)? 848 | | | | | +--:(numbered-node-hop) 849 | | | | | | +--ro numbered-node-hop 850 | | | | | | +--ro node-id te-node-id 851 | | | | | | +--ro flags* 852 | | | | | | path-attribute-flags 853 | | | | | +--:(numbered-link-hop) 854 | | | | | | +--ro numbered-link-hop 855 | | | | | | +--ro link-tp-id te-tp-id 856 | | | | | | +--ro flags* 857 | | | | | | path-attribute-flags 858 | | | | | +--:(unnumbered-link-hop) 859 | | | | | | +--ro unnumbered-link-hop 860 | | | | | | +--ro link-tp-id te-tp-id 861 | | | | | | +--ro node-id? te-node-id 862 | | | | | | +--ro flags* 863 | | | | | | path-attribute-flags 864 | | | | | +--:(label) 865 | | | | | +--ro label-hop 866 | | | | | +--ro te-label 867 | | | | | | +--ro (technology)? 868 | | | | | | | +--:(generic) 869 | | | | | | | +--ro generic? 870 | | | | | | | rt-types:generalized-label 871 | | | | | | +--ro direction? 872 | | | | | | te-label-direction 873 | | | | | +--ro flags* 874 | | | | | path-attribute-flags 875 | | | | +--ro path-properties 876 | | | | +--ro path-metric* [metric-type] 877 | | | | | +--ro metric-type identityref 878 | | | | | +--ro accumulative-value? uint64 879 | | | | +--ro path-affinities-values 880 | | | | | +--ro path-affinities-value* [usage] 881 | | | | | +--ro usage identityref 882 | | | | | +--ro value? admin-groups 883 | | | | +--ro path-affinity-names 884 | | | | | +--ro path-affinity-name* [usage] 885 | | | | | +--ro usage identityref 886 | | | | | +--ro affinity-name* [name] 887 | | | | | +--ro name string 888 | | | | +--ro path-srlgs-lists 889 | | | | | +--ro path-srlgs-list* [usage] 890 | | | | | +--ro usage identityref 891 | | | | | +--ro values* srlg 892 | | | | +--ro path-srlgs-names 893 | | | | | +--ro path-srlgs-name* [usage] 894 | | | | | +--ro usage identityref 895 | | | | | +--ro names* string 896 | | | | +--ro path-route-objects 897 | | | | | +--ro path-computed-route-object* 898 | | | | | [index] 899 | | | | | +--ro index 900 | | | | | | uint32 901 | | | | | +--ro (type)? 902 | | | | | +--:(numbered-node-hop) 903 | | | | | | +--ro numbered-node-hop 904 | | | | | | +--ro node-id te-node-id 905 | | | | | | +--ro hop-type? 906 | | | | | | te-hop-type 907 | | | | | +--:(numbered-link-hop) 908 | | | | | | +--ro numbered-link-hop 909 | | | | | | +--ro link-tp-id te-tp-id 910 | | | | | | +--ro hop-type? 911 | | | | | | | te-hop-type 912 | | | | | | +--ro direction? 913 | | | | | | te-link-direction 914 | | | | | +--:(unnumbered-link-hop) 915 | | | | | | +--ro unnumbered-link-hop 916 | | | | | | +--ro link-tp-id te-tp-id 917 | | | | | | +--ro node-id 918 | | | | | | | te-node-id 919 | | | | | | +--ro hop-type? 920 | | | | | | | te-hop-type 921 | | | | | | +--ro direction? 922 | | | | | | te-link-direction 923 | | | | | +--:(as-number) 924 | | | | | | +--ro as-number-hop 925 | | | | | | +--ro as-number 926 | | | | | | | inet:as-number 927 | | | | | | +--ro hop-type? 928 | | | | | | te-hop-type 929 | | | | | +--:(label) 930 | | | | | +--ro label-hop 931 | | | | | +--ro te-label 932 | | | | | +--ro (technology)? 933 | | | | | | +--:(generic) 934 | | | | | | +--ro generic? 935 | | | | | | rt-types:generalized-label 936 | | | | | +--ro direction? 937 | | | | | te-label-direction 938 | | | | +--ro shared-resources-tunnels 939 | | | | +--ro lsp-shared-resources-tunnel* 940 | | | | tunnel-ref 941 | | | +--rw p2p-primary-reverse-path 942 | | | | +--rw name? string 943 | | | | +--rw path-setup-protocol? 944 | | | | | identityref 945 | | | | +--rw path-computation-method? 946 | | | | | identityref 947 | | | | +--rw path-computation-server? 948 | | | | | inet:ip-address 949 | | | | +--rw compute-only? empty 950 | | | | +--rw use-path-computation? boolean 951 | | | | +--rw lockdown? empty 952 | | | | +--ro path-scope? 953 | | | | | identityref 954 | | | | +--rw optimizations 955 | | | | | +--rw (algorithm)? 956 | | | | | +--:(metric) {path-optimization-metric}? 957 | | | | | | +--rw optimization-metric* [metric-type] 958 | | | | | | | +--rw metric-type 959 | | | | | | | | identityref 960 | | | | | | | +--rw weight? 961 | | | | | | | | uint8 962 | | | | | | | +--rw explicit-route-exclude-objects 963 | | | | | | | | +--rw route-object-exclude-object* 964 | | | | | | | | [index] 965 | | | | | | | | +--rw index 966 | | | | | | | | | uint32 967 | | | | | | | | +--rw (type)? 968 | | | | | | | | +--:(numbered-node-hop) 969 | | | | | | | | | +--rw numbered-node-hop 970 | | | | | | | | | +--rw node-id 971 | | | | | | | | | | te-node-id 972 | | | | | | | | | +--rw hop-type? 973 | | | | | | | | | te-hop-type 974 | | | | | | | | +--:(numbered-link-hop) 975 | | | | | | | | | +--rw numbered-link-hop 976 | | | | | | | | | +--rw link-tp-id 977 | | | | | | | | | | te-tp-id 978 | | | | | | | | | +--rw hop-type? 979 | | | | | | | | | | te-hop-type 980 | | | | | | | | | +--rw direction? 981 | | | | | | | | | te-link-direction 982 | | | | | | | | +--:(unnumbered-link-hop) 983 | | | | | | | | | +--rw unnumbered-link-hop 984 | | | | | | | | | +--rw link-tp-id 985 | | | | | | | | | | te-tp-id 986 | | | | | | | | | +--rw node-id 987 | | | | | | | | | | te-node-id 988 | | | | | | | | | +--rw hop-type? 989 | | | | | | | | | | te-hop-type 990 | | | | | | | | | +--rw direction? 991 | | | | | | | | | te-link-direction 992 | | | | | | | | +--:(as-number) 993 | | | | | | | | | +--rw as-number-hop 994 | | | | | | | | | +--rw as-number 995 | | | | | | | | | | inet:as-number 996 | | | | | | | | | +--rw hop-type? 997 | | | | | | | | | te-hop-type 998 | | | | | | | | +--:(label) 999 | | | | | | | | | +--rw label-hop 1000 | | | | | | | | | +--rw te-label 1001 | | | | | | | | | +--rw (technology)? 1002 | | | | | | | | | | +--:(generic) 1003 | | | | | | | | | | +--rw generic? 1004 | | | | | | | | | | rt-types:generalized-label 1005 | | | | | | | | | +--rw direction? 1006 | | | | | | | | | te-label-direction 1007 | | | | | | | | +--:(srlg) 1008 | | | | | | | | +--rw srlg 1009 | | | | | | | | +--rw srlg? uint32 1010 | | | | | | | +--rw explicit-route-include-objects 1011 | | | | | | | +--rw route-object-include-object* 1012 | | | | | | | [index] 1013 | | | | | | | +--rw index 1014 | | | | | | | | uint32 1015 | | | | | | | +--rw (type)? 1016 | | | | | | | +--:(numbered-node-hop) 1017 | | | | | | | | +--rw numbered-node-hop 1018 | | | | | | | | +--rw node-id 1019 | | | | | | | | | te-node-id 1020 | | | | | | | | +--rw hop-type? 1021 | | | | | | | | te-hop-type 1022 | | | | | | | +--:(numbered-link-hop) 1023 | | | | | | | | +--rw numbered-link-hop 1024 | | | | | | | | +--rw link-tp-id 1025 | | | | | | | | | te-tp-id 1026 | | | | | | | | +--rw hop-type? 1027 | | | | | | | | | te-hop-type 1028 | | | | | | | | +--rw direction? 1029 | | | | | | | | te-link-direction 1030 | | | | | | | +--:(unnumbered-link-hop) 1031 | | | | | | | | +--rw unnumbered-link-hop 1032 | | | | | | | | +--rw link-tp-id 1033 | | | | | | | | | te-tp-id 1034 | | | | | | | | +--rw node-id 1035 | | | | | | | | | te-node-id 1036 | | | | | | | | +--rw hop-type? 1037 | | | | | | | | | te-hop-type 1038 | | | | | | | | +--rw direction? 1039 | | | | | | | | te-link-direction 1040 | | | | | | | +--:(as-number) 1041 | | | | | | | | +--rw as-number-hop 1042 | | | | | | | | +--rw as-number 1043 | | | | | | | | | inet:as-number 1044 | | | | | | | | +--rw hop-type? 1045 | | | | | | | | te-hop-type 1046 | | | | | | | +--:(label) 1047 | | | | | | | +--rw label-hop 1048 | | | | | | | +--rw te-label 1049 | | | | | | | +--rw (technology)? 1050 | | | | | | | | +--:(generic) 1051 | | | | | | | | +--rw generic? 1052 | | | | | | | | rt-types:generalized-label 1053 | | | | | | | +--rw direction? 1054 | | | | | | | te-label-direction 1055 | | | | | | +--rw tiebreakers 1056 | | | | | | +--rw tiebreaker* [tiebreaker-type] 1057 | | | | | | +--rw tiebreaker-type 1058 | | | | | | identityref 1059 | | | | | +--:(objective-function) 1060 | | | | | {path-optimization-objective-function}? 1061 | | | | | +--rw objective-function 1062 | | | | | +--rw objective-function-type? 1063 | | | | | identityref 1064 | | | | +--rw named-path-constraint? leafref 1065 | | | | | {te-types:named-path-constraints}? 1066 | | | | +--rw te-bandwidth 1067 | | | | | +--rw (technology)? 1068 | | | | | +--:(generic) 1069 | | | | | +--rw generic? te-bandwidth 1070 | | | | +--rw link-protection? 1071 | | | | | identityref 1072 | | | | +--rw setup-priority? uint8 1073 | | | | +--rw hold-priority? uint8 1074 | | | | +--rw signaling-type? 1075 | | | | | identityref 1076 | | | | +--rw path-metric-bounds 1077 | | | | | +--rw path-metric-bound* [metric-type] 1078 | | | | | +--rw metric-type identityref 1079 | | | | | +--rw upper-bound? uint64 1080 | | | | +--rw path-affinities-values 1081 | | | | | +--rw path-affinities-value* [usage] 1082 | | | | | +--rw usage identityref 1083 | | | | | +--rw value? admin-groups 1084 | | | | +--rw path-affinity-names 1085 | | | | | +--rw path-affinity-name* [usage] 1086 | | | | | +--rw usage identityref 1087 | | | | | +--rw affinity-name* [name] 1088 | | | | | +--rw name string 1089 | | | | +--rw path-srlgs-lists 1090 | | | | | +--rw path-srlgs-list* [usage] 1091 | | | | | +--rw usage identityref 1092 | | | | | +--rw values* srlg 1093 | | | | +--rw path-srlgs-names 1094 | | | | | +--rw path-srlgs-name* [usage] 1095 | | | | | +--rw usage identityref 1096 | | | | | +--rw names* string 1097 | | | | +--rw disjointness? 1098 | | | | | te-path-disjointness 1099 | | | | +--rw explicit-route-objects-always 1100 | | | | | +--rw route-object-exclude-always* [index] 1101 | | | | | | +--rw index uint32 1102 | | | | | | +--rw (type)? 1103 | | | | | | +--:(numbered-node-hop) 1104 | | | | | | | +--rw numbered-node-hop 1105 | | | | | | | +--rw node-id te-node-id 1106 | | | | | | | +--rw hop-type? te-hop-type 1107 | | | | | | +--:(numbered-link-hop) 1108 | | | | | | | +--rw numbered-link-hop 1109 | | | | | | | +--rw link-tp-id te-tp-id 1110 | | | | | | | +--rw hop-type? te-hop-type 1111 | | | | | | | +--rw direction? 1112 | | | | | | | te-link-direction 1113 | | | | | | +--:(unnumbered-link-hop) 1114 | | | | | | | +--rw unnumbered-link-hop 1115 | | | | | | | +--rw link-tp-id te-tp-id 1116 | | | | | | | +--rw node-id te-node-id 1117 | | | | | | | +--rw hop-type? te-hop-type 1118 | | | | | | | +--rw direction? 1119 | | | | | | | te-link-direction 1120 | | | | | | +--:(as-number) 1121 | | | | | | | +--rw as-number-hop 1122 | | | | | | | +--rw as-number inet:as-number 1123 | | | | | | | +--rw hop-type? te-hop-type 1124 | | | | | | +--:(label) 1125 | | | | | | +--rw label-hop 1126 | | | | | | +--rw te-label 1127 | | | | | | +--rw (technology)? 1128 | | | | | | | +--:(generic) 1129 | | | | | | | +--rw generic? 1130 | | | | | | | rt-types:generalized-label 1131 | | | | | | +--rw direction? 1132 | | | | | | te-label-direction 1133 | | | | | +--rw route-object-include-exclude* [index] 1134 | | | | | +--rw explicit-route-usage? 1135 | | | | | | identityref 1136 | | | | | +--rw index uint32 1137 | | | | | +--rw (type)? 1138 | | | | | +--:(numbered-node-hop) 1139 | | | | | | +--rw numbered-node-hop 1140 | | | | | | +--rw node-id te-node-id 1141 | | | | | | +--rw hop-type? te-hop-type 1142 | | | | | +--:(numbered-link-hop) 1143 | | | | | | +--rw numbered-link-hop 1144 | | | | | | +--rw link-tp-id te-tp-id 1145 | | | | | | +--rw hop-type? te-hop-type 1146 | | | | | | +--rw direction? 1147 | | | | | | te-link-direction 1148 | | | | | +--:(unnumbered-link-hop) 1149 | | | | | | +--rw unnumbered-link-hop 1150 | | | | | | +--rw link-tp-id te-tp-id 1151 | | | | | | +--rw node-id te-node-id 1152 | | | | | | +--rw hop-type? te-hop-type 1153 | | | | | | +--rw direction? 1154 | | | | | | te-link-direction 1155 | | | | | +--:(as-number) 1156 | | | | | | +--rw as-number-hop 1157 | | | | | | +--rw as-number inet:as-number 1158 | | | | | | +--rw hop-type? te-hop-type 1159 | | | | | +--:(label) 1160 | | | | | | +--rw label-hop 1161 | | | | | | +--rw te-label 1162 | | | | | | +--rw (technology)? 1163 | | | | | | | +--:(generic) 1164 | | | | | | | +--rw generic? 1165 | | | | | | | rt-types:generalized-label 1166 | | | | | | +--rw direction? 1167 | | | | | | te-label-direction 1168 | | | | | +--:(srlg) 1169 | | | | | +--rw srlg 1170 | | | | | +--rw srlg? uint32 1171 | | | | +--rw shared-resources-tunnels 1172 | | | | | +--rw lsp-shared-resources-tunnel* 1173 | | | | | tunnel-ref 1174 | | | | +--rw path-in-segment! 1175 | | | | | +--rw label-restrictions 1176 | | | | | +--rw label-restriction* [index] 1177 | | | | | +--rw restriction? enumeration 1178 | | | | | +--rw index uint32 1179 | | | | | +--rw label-start 1180 | | | | | | +--rw te-label 1181 | | | | | | +--rw (technology)? 1182 | | | | | | | +--:(generic) 1183 | | | | | | | +--rw generic? 1184 | | | | | | | rt-types:generalized-label 1185 | | | | | | +--rw direction? 1186 | | | | | | te-label-direction 1187 | | | | | +--rw label-end 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 label-step 1196 | | | | | | +--rw (technology)? 1197 | | | | | | +--:(generic) 1198 | | | | | | +--rw generic? int32 1199 | | | | | +--rw range-bitmap? yang:hex-string 1200 | | | | +--rw path-out-segment! 1201 | | | | | +--rw label-restrictions 1202 | | | | | +--rw label-restriction* [index] 1203 | | | | | +--rw restriction? enumeration 1204 | | | | | +--rw index uint32 1205 | | | | | +--rw label-start 1206 | | | | | | +--rw te-label 1207 | | | | | | +--rw (technology)? 1208 | | | | | | | +--:(generic) 1209 | | | | | | | +--rw generic? 1210 | | | | | | | rt-types:generalized-label 1211 | | | | | | +--rw direction? 1212 | | | | | | te-label-direction 1213 | | | | | +--rw label-end 1214 | | | | | | +--rw te-label 1215 | | | | | | +--rw (technology)? 1216 | | | | | | | +--:(generic) 1217 | | | | | | | +--rw generic? 1218 | | | | | | | rt-types:generalized-label 1219 | | | | | | +--rw direction? 1220 | | | | | | te-label-direction 1221 | | | | | +--rw label-step 1222 | | | | | | +--rw (technology)? 1223 | | | | | | +--:(generic) 1224 | | | | | | +--rw generic? int32 1225 | | | | | +--rw range-bitmap? yang:hex-string 1226 | | | | +--ro computed-paths-properties 1227 | | | | | +--ro computed-path-properties* [k-index] 1228 | | | | | +--ro k-index uint8 1229 | | | | | +--ro path-properties 1230 | | | | | +--ro path-metric* [metric-type] 1231 | | | | | | +--ro metric-type 1232 | | | | | | | identityref 1233 | | | | | | +--ro accumulative-value? uint64 1234 | | | | | +--ro path-affinities-values 1235 | | | | | | +--ro path-affinities-value* [usage] 1236 | | | | | | +--ro usage identityref 1237 | | | | | | +--ro value? admin-groups 1238 | | | | | +--ro path-affinity-names 1239 | | | | | | +--ro path-affinity-name* [usage] 1240 | | | | | | +--ro usage identityref 1241 | | | | | | +--ro affinity-name* [name] 1242 | | | | | | +--ro name string 1243 | | | | | +--ro path-srlgs-lists 1244 | | | | | | +--ro path-srlgs-list* [usage] 1245 | | | | | | +--ro usage identityref 1246 | | | | | | +--ro values* srlg 1247 | | | | | +--ro path-srlgs-names 1248 | | | | | | +--ro path-srlgs-name* [usage] 1249 | | | | | | +--ro usage identityref 1250 | | | | | | +--ro names* string 1251 | | | | | +--ro path-route-objects 1252 | | | | | | +--ro path-computed-route-object* 1253 | | | | | | [index] 1254 | | | | | | +--ro index 1255 | | | | | | | uint32 1256 | | | | | | +--ro (type)? 1257 | | | | | | +--:(numbered-node-hop) 1258 | | | | | | | +--ro numbered-node-hop 1259 | | | | | | | +--ro node-id 1260 | | | | | | | | te-node-id 1261 | | | | | | | +--ro hop-type? 1262 | | | | | | | te-hop-type 1263 | | | | | | +--:(numbered-link-hop) 1264 | | | | | | | +--ro numbered-link-hop 1265 | | | | | | | +--ro link-tp-id 1266 | | | | | | | | te-tp-id 1267 | | | | | | | +--ro hop-type? 1268 | | | | | | | | te-hop-type 1269 | | | | | | | +--ro direction? 1270 | | | | | | | te-link-direction 1271 | | | | | | +--:(unnumbered-link-hop) 1272 | | | | | | | +--ro unnumbered-link-hop 1273 | | | | | | | +--ro link-tp-id 1274 | | | | | | | | te-tp-id 1275 | | | | | | | +--ro node-id 1276 | | | | | | | | te-node-id 1277 | | | | | | | +--ro hop-type? 1278 | | | | | | | | te-hop-type 1279 | | | | | | | +--ro direction? 1280 | | | | | | | te-link-direction 1281 | | | | | | +--:(as-number) 1282 | | | | | | | +--ro as-number-hop 1283 | | | | | | | +--ro as-number 1284 | | | | | | | | inet:as-number 1285 | | | | | | | +--ro hop-type? 1286 | | | | | | | te-hop-type 1287 | | | | | | +--:(label) 1288 | | | | | | +--ro label-hop 1289 | | | | | | +--ro te-label 1290 | | | | | | +--ro (technology)? 1291 | | | | | | | +--:(generic) 1292 | | | | | | | +--ro generic? 1293 | | | | | | | rt-types:generalized-label 1294 | | | | | | +--ro direction? 1295 | | | | | | te-label-direction 1296 | | | | | +--ro shared-resources-tunnels 1297 | | | | | +--ro lsp-shared-resources-tunnel* 1298 | | | | | tunnel-ref 1299 | | | | +--ro lsps 1300 | | | | | +--ro lsp* 1301 | | | | | [source destination tunnel-id lsp-id extended-tunnel-id] 1302 | | | | | +--ro source 1303 | | | | | | te-types:te-node-id 1304 | | | | | +--ro destination 1305 | | | | | | te-types:te-node-id 1306 | | | | | +--ro tunnel-id 1307 | | | | | | uint16 1308 | | | | | +--ro lsp-id 1309 | | | | | | uint16 1310 | | | | | +--ro extended-tunnel-id 1311 | | | | | | yang:dotted-quad 1312 | | | | | +--ro operational-state? 1313 | | | | | | identityref 1314 | | | | | +--ro path-setup-protocol? 1315 | | | | | | identityref 1316 | | | | | +--ro origin-type? 1317 | | | | | | enumeration 1318 | | | | | +--ro lsp-resource-status? 1319 | | | | | | enumeration 1320 | | | | | +--ro lockout-of-normal? 1321 | | | | | | boolean 1322 | | | | | +--ro freeze? 1323 | | | | | | boolean 1324 | | | | | +--ro lsp-protection-role? 1325 | | | | | | enumeration 1326 | | | | | +--ro lsp-protection-state? 1327 | | | | | | identityref 1328 | | | | | +--ro protection-group-ingress-node-id? 1329 | | | | | | te-types:te-node-id 1330 | | | | | +--ro protection-group-egress-node-id? 1331 | | | | | | te-types:te-node-id 1332 | | | | | +--ro lsp-shared-resources-tunnel? 1333 | | | | | | tunnel-ref 1334 | | | | | +--ro lsp-record-route-information 1335 | | | | | | +--ro lsp-record-route-information* 1336 | | | | | | [index] 1337 | | | | | | +--ro index 1338 | | | | | | | uint32 1339 | | | | | | +--ro (type)? 1340 | | | | | | +--:(numbered-node-hop) 1341 | | | | | | | +--ro numbered-node-hop 1342 | | | | | | | +--ro node-id te-node-id 1343 | | | | | | | +--ro flags* 1344 | | | | | | | path-attribute-flags 1345 | | | | | | +--:(numbered-link-hop) 1346 | | | | | | | +--ro numbered-link-hop 1347 | | | | | | | +--ro link-tp-id te-tp-id 1348 | | | | | | | +--ro flags* 1349 | | | | | | | path-attribute-flags 1350 | | | | | | +--:(unnumbered-link-hop) 1351 | | | | | | | +--ro unnumbered-link-hop 1352 | | | | | | | +--ro link-tp-id te-tp-id 1353 | | | | | | | +--ro node-id? 1354 | | | | | | | | te-node-id 1355 | | | | | | | +--ro flags* 1356 | | | | | | | path-attribute-flags 1357 | | | | | | +--:(label) 1358 | | | | | | +--ro label-hop 1359 | | | | | | +--ro te-label 1360 | | | | | | | +--ro (technology)? 1361 | | | | | | | | +--:(generic) 1362 | | | | | | | | +--ro generic? 1363 | | | | | | | | rt-types:generalized-label 1364 | | | | | | | +--ro direction? 1365 | | | | | | | te-label-direction 1366 | | | | | | +--ro flags* 1367 | | | | | | path-attribute-flags 1368 | | | | | +--ro path-properties 1369 | | | | | +--ro path-metric* [metric-type] 1370 | | | | | | +--ro metric-type 1371 | | | | | | | identityref 1372 | | | | | | +--ro accumulative-value? uint64 1373 | | | | | +--ro path-affinities-values 1374 | | | | | | +--ro path-affinities-value* [usage] 1375 | | | | | | +--ro usage identityref 1376 | | | | | | +--ro value? admin-groups 1377 | | | | | +--ro path-affinity-names 1378 | | | | | | +--ro path-affinity-name* [usage] 1379 | | | | | | +--ro usage identityref 1380 | | | | | | +--ro affinity-name* [name] 1381 | | | | | | +--ro name string 1382 | | | | | +--ro path-srlgs-lists 1383 | | | | | | +--ro path-srlgs-list* [usage] 1384 | | | | | | +--ro usage identityref 1385 | | | | | | +--ro values* srlg 1386 | | | | | +--ro path-srlgs-names 1387 | | | | | | +--ro path-srlgs-name* [usage] 1388 | | | | | | +--ro usage identityref 1389 | | | | | | +--ro names* string 1390 | | | | | +--ro path-route-objects 1391 | | | | | | +--ro path-computed-route-object* 1392 | | | | | | [index] 1393 | | | | | | +--ro index 1394 | | | | | | | uint32 1395 | | | | | | +--ro (type)? 1396 | | | | | | +--:(numbered-node-hop) 1397 | | | | | | | +--ro numbered-node-hop 1398 | | | | | | | +--ro node-id 1399 | | | | | | | | te-node-id 1400 | | | | | | | +--ro hop-type? 1401 | | | | | | | te-hop-type 1402 | | | | | | +--:(numbered-link-hop) 1403 | | | | | | | +--ro numbered-link-hop 1404 | | | | | | | +--ro link-tp-id 1405 | | | | | | | | te-tp-id 1406 | | | | | | | +--ro hop-type? 1407 | | | | | | | | te-hop-type 1408 | | | | | | | +--ro direction? 1409 | | | | | | | te-link-direction 1410 | | | | | | +--:(unnumbered-link-hop) 1411 | | | | | | | +--ro unnumbered-link-hop 1412 | | | | | | | +--ro link-tp-id 1413 | | | | | | | | te-tp-id 1414 | | | | | | | +--ro node-id 1415 | | | | | | | | te-node-id 1416 | | | | | | | +--ro hop-type? 1417 | | | | | | | | te-hop-type 1418 | | | | | | | +--ro direction? 1419 | | | | | | | te-link-direction 1420 | | | | | | +--:(as-number) 1421 | | | | | | | +--ro as-number-hop 1422 | | | | | | | +--ro as-number 1423 | | | | | | | | inet:as-number 1424 | | | | | | | +--ro hop-type? 1425 | | | | | | | te-hop-type 1426 | | | | | | +--:(label) 1427 | | | | | | +--ro label-hop 1428 | | | | | | +--ro te-label 1429 | | | | | | +--ro (technology)? 1430 | | | | | | | +--:(generic) 1431 | | | | | | | +--ro generic? 1432 | | | | | | | rt-types:generalized-label 1433 | | | | | | +--ro direction? 1434 | | | | | | te-label-direction 1435 | | | | | +--ro shared-resources-tunnels 1436 | | | | | +--ro lsp-shared-resources-tunnel* 1437 | | | | | tunnel-ref 1438 | | | | +--rw p2p-secondary-reverse-path 1439 | | | | +--rw secondary-path? leafref 1440 | | | | +--rw path-setup-protocol? identityref 1441 | | | +--rw candidate-p2p-secondary-paths 1442 | | | +--rw candidate-p2p-secondary-path* 1443 | | | [secondary-path] 1444 | | | +--rw secondary-path leafref 1445 | | | +--rw path-setup-protocol? identityref 1446 | | | +--ro active? boolean 1447 | | +--rw p2p-secondary-paths 1448 | | | +--rw p2p-secondary-path* [name] 1449 | | | +--rw name string 1450 | | | +--rw path-setup-protocol? identityref 1451 | | | +--rw path-computation-method? identityref 1452 | | | +--rw path-computation-server? 1453 | | | | inet:ip-address 1454 | | | +--rw compute-only? empty 1455 | | | +--rw use-path-computation? boolean 1456 | | | +--rw lockdown? empty 1457 | | | +--ro path-scope? identityref 1458 | | | +--rw optimizations 1459 | | | | +--rw (algorithm)? 1460 | | | | +--:(metric) {path-optimization-metric}? 1461 | | | | | +--rw optimization-metric* [metric-type] 1462 | | | | | | +--rw metric-type 1463 | | | | | | | identityref 1464 | | | | | | +--rw weight? 1465 | | | | | | | uint8 1466 | | | | | | +--rw explicit-route-exclude-objects 1467 | | | | | | | +--rw route-object-exclude-object* 1468 | | | | | | | [index] 1469 | | | | | | | +--rw index 1470 | | | | | | | | uint32 1471 | | | | | | | +--rw (type)? 1472 | | | | | | | +--:(numbered-node-hop) 1473 | | | | | | | | +--rw numbered-node-hop 1474 | | | | | | | | +--rw node-id 1475 | | | | | | | | | te-node-id 1476 | | | | | | | | +--rw hop-type? 1477 | | | | | | | | te-hop-type 1478 | | | | | | | +--:(numbered-link-hop) 1479 | | | | | | | | +--rw numbered-link-hop 1480 | | | | | | | | +--rw link-tp-id 1481 | | | | | | | | | te-tp-id 1482 | | | | | | | | +--rw hop-type? 1483 | | | | | | | | | te-hop-type 1484 | | | | | | | | +--rw direction? 1485 | | | | | | | | te-link-direction 1486 | | | | | | | +--:(unnumbered-link-hop) 1487 | | | | | | | | +--rw unnumbered-link-hop 1488 | | | | | | | | +--rw link-tp-id 1489 | | | | | | | | | te-tp-id 1490 | | | | | | | | +--rw node-id 1491 | | | | | | | | | te-node-id 1492 | | | | | | | | +--rw hop-type? 1493 | | | | | | | | | te-hop-type 1494 | | | | | | | | +--rw direction? 1495 | | | | | | | | te-link-direction 1496 | | | | | | | +--:(as-number) 1497 | | | | | | | | +--rw as-number-hop 1498 | | | | | | | | +--rw as-number 1499 | | | | | | | | | inet:as-number 1500 | | | | | | | | +--rw hop-type? 1501 | | | | | | | | te-hop-type 1502 | | | | | | | +--:(label) 1503 | | | | | | | | +--rw label-hop 1504 | | | | | | | | +--rw te-label 1505 | | | | | | | | +--rw (technology)? 1506 | | | | | | | | | +--:(generic) 1507 | | | | | | | | | +--rw generic? 1508 | | | | | | | | | rt-types:generalized-label 1509 | | | | | | | | +--rw direction? 1510 | | | | | | | | te-label-direction 1511 | | | | | | | +--:(srlg) 1512 | | | | | | | +--rw srlg 1513 | | | | | | | +--rw srlg? uint32 1514 | | | | | | +--rw explicit-route-include-objects 1515 | | | | | | +--rw route-object-include-object* 1516 | | | | | | [index] 1517 | | | | | | +--rw index 1518 | | | | | | | uint32 1519 | | | | | | +--rw (type)? 1520 | | | | | | +--:(numbered-node-hop) 1521 | | | | | | | +--rw numbered-node-hop 1522 | | | | | | | +--rw node-id 1523 | | | | | | | | te-node-id 1524 | | | | | | | +--rw hop-type? 1525 | | | | | | | te-hop-type 1526 | | | | | | +--:(numbered-link-hop) 1527 | | | | | | | +--rw numbered-link-hop 1528 | | | | | | | +--rw link-tp-id 1529 | | | | | | | | te-tp-id 1530 | | | | | | | +--rw hop-type? 1531 | | | | | | | | te-hop-type 1532 | | | | | | | +--rw direction? 1533 | | | | | | | te-link-direction 1534 | | | | | | +--:(unnumbered-link-hop) 1535 | | | | | | | +--rw unnumbered-link-hop 1536 | | | | | | | +--rw link-tp-id 1537 | | | | | | | | te-tp-id 1538 | | | | | | | +--rw node-id 1539 | | | | | | | | te-node-id 1540 | | | | | | | +--rw hop-type? 1541 | | | | | | | | te-hop-type 1542 | | | | | | | +--rw direction? 1543 | | | | | | | te-link-direction 1544 | | | | | | +--:(as-number) 1545 | | | | | | | +--rw as-number-hop 1546 | | | | | | | +--rw as-number 1547 | | | | | | | | inet:as-number 1548 | | | | | | | +--rw hop-type? 1549 | | | | | | | te-hop-type 1550 | | | | | | +--:(label) 1551 | | | | | | +--rw label-hop 1552 | | | | | | +--rw te-label 1553 | | | | | | +--rw (technology)? 1554 | | | | | | | +--:(generic) 1555 | | | | | | | +--rw generic? 1556 | | | | | | | rt-types:generalized-label 1557 | | | | | | +--rw direction? 1558 | | | | | | te-label-direction 1559 | | | | | +--rw tiebreakers 1560 | | | | | +--rw tiebreaker* [tiebreaker-type] 1561 | | | | | +--rw tiebreaker-type identityref 1562 | | | | +--:(objective-function) 1563 | | | | {path-optimization-objective-function}? 1564 | | | | +--rw objective-function 1565 | | | | +--rw objective-function-type? 1566 | | | | identityref 1567 | | | +--rw preference? uint8 1568 | | | +--rw k-requested-paths? uint8 1569 | | | +--rw named-path-constraint? leafref 1570 | | | | {te-types:named-path-constraints}? 1571 | | | +--rw te-bandwidth 1572 | | | | +--rw (technology)? 1573 | | | | +--:(generic) 1574 | | | | +--rw generic? te-bandwidth 1575 | | | +--rw link-protection? identityref 1576 | | | +--rw setup-priority? uint8 1577 | | | +--rw hold-priority? uint8 1578 | | | +--rw signaling-type? identityref 1579 | | | +--rw path-metric-bounds 1580 | | | | +--rw path-metric-bound* [metric-type] 1581 | | | | +--rw metric-type identityref 1582 | | | | +--rw upper-bound? uint64 1583 | | | +--rw path-affinities-values 1584 | | | | +--rw path-affinities-value* [usage] 1585 | | | | +--rw usage identityref 1586 | | | | +--rw value? admin-groups 1587 | | | +--rw path-affinity-names 1588 | | | | +--rw path-affinity-name* [usage] 1589 | | | | +--rw usage identityref 1590 | | | | +--rw affinity-name* [name] 1591 | | | | +--rw name string 1592 | | | +--rw path-srlgs-lists 1593 | | | | +--rw path-srlgs-list* [usage] 1594 | | | | +--rw usage identityref 1595 | | | | +--rw values* srlg 1596 | | | +--rw path-srlgs-names 1597 | | | | +--rw path-srlgs-name* [usage] 1598 | | | | +--rw usage identityref 1599 | | | | +--rw names* string 1600 | | | +--rw disjointness? 1601 | | | | te-path-disjointness 1602 | | | +--rw explicit-route-objects-always 1603 | | | | +--rw route-object-exclude-always* [index] 1604 | | | | | +--rw index uint32 1605 | | | | | +--rw (type)? 1606 | | | | | +--:(numbered-node-hop) 1607 | | | | | | +--rw numbered-node-hop 1608 | | | | | | +--rw node-id te-node-id 1609 | | | | | | +--rw hop-type? te-hop-type 1610 | | | | | +--:(numbered-link-hop) 1611 | | | | | | +--rw numbered-link-hop 1612 | | | | | | +--rw link-tp-id te-tp-id 1613 | | | | | | +--rw hop-type? te-hop-type 1614 | | | | | | +--rw direction? te-link-direction 1615 | | | | | +--:(unnumbered-link-hop) 1616 | | | | | | +--rw unnumbered-link-hop 1617 | | | | | | +--rw link-tp-id te-tp-id 1618 | | | | | | +--rw node-id te-node-id 1619 | | | | | | +--rw hop-type? te-hop-type 1620 | | | | | | +--rw direction? te-link-direction 1621 | | | | | +--:(as-number) 1622 | | | | | | +--rw as-number-hop 1623 | | | | | | +--rw as-number inet:as-number 1624 | | | | | | +--rw hop-type? te-hop-type 1625 | | | | | +--:(label) 1626 | | | | | +--rw label-hop 1627 | | | | | +--rw te-label 1628 | | | | | +--rw (technology)? 1629 | | | | | | +--:(generic) 1630 | | | | | | +--rw generic? 1631 | | | | | | rt-types:generalized-label 1632 | | | | | +--rw direction? 1633 | | | | | te-label-direction 1634 | | | | +--rw route-object-include-exclude* [index] 1635 | | | | +--rw explicit-route-usage? identityref 1636 | | | | +--rw index uint32 1637 | | | | +--rw (type)? 1638 | | | | +--:(numbered-node-hop) 1639 | | | | | +--rw numbered-node-hop 1640 | | | | | +--rw node-id te-node-id 1641 | | | | | +--rw hop-type? te-hop-type 1642 | | | | +--:(numbered-link-hop) 1643 | | | | | +--rw numbered-link-hop 1644 | | | | | +--rw link-tp-id te-tp-id 1645 | | | | | +--rw hop-type? te-hop-type 1646 | | | | | +--rw direction? te-link-direction 1647 | | | | +--:(unnumbered-link-hop) 1648 | | | | | +--rw unnumbered-link-hop 1649 | | | | | +--rw link-tp-id te-tp-id 1650 | | | | | +--rw node-id te-node-id 1651 | | | | | +--rw hop-type? te-hop-type 1652 | | | | | +--rw direction? te-link-direction 1653 | | | | +--:(as-number) 1654 | | | | | +--rw as-number-hop 1655 | | | | | +--rw as-number inet:as-number 1656 | | | | | +--rw hop-type? te-hop-type 1657 | | | | +--:(label) 1658 | | | | | +--rw label-hop 1659 | | | | | +--rw te-label 1660 | | | | | +--rw (technology)? 1661 | | | | | | +--:(generic) 1662 | | | | | | +--rw generic? 1663 | | | | | | rt-types:generalized-label 1664 | | | | | +--rw direction? 1665 | | | | | te-label-direction 1666 | | | | +--:(srlg) 1667 | | | | +--rw srlg 1668 | | | | +--rw srlg? uint32 1669 | | | +--rw shared-resources-tunnels 1670 | | | | +--rw lsp-shared-resources-tunnel* tunnel-ref 1671 | | | +--rw path-in-segment! 1672 | | | | +--rw label-restrictions 1673 | | | | +--rw label-restriction* [index] 1674 | | | | +--rw restriction? enumeration 1675 | | | | +--rw index uint32 1676 | | | | +--rw label-start 1677 | | | | | +--rw te-label 1678 | | | | | +--rw (technology)? 1679 | | | | | | +--:(generic) 1680 | | | | | | +--rw generic? 1681 | | | | | | rt-types:generalized-label 1682 | | | | | +--rw direction? 1683 | | | | | te-label-direction 1684 | | | | +--rw label-end 1685 | | | | | +--rw te-label 1686 | | | | | +--rw (technology)? 1687 | | | | | | +--:(generic) 1688 | | | | | | +--rw generic? 1689 | | | | | | rt-types:generalized-label 1690 | | | | | +--rw direction? 1691 | | | | | te-label-direction 1692 | | | | +--rw label-step 1693 | | | | | +--rw (technology)? 1694 | | | | | +--:(generic) 1695 | | | | | +--rw generic? int32 1696 | | | | +--rw range-bitmap? yang:hex-string 1697 | | | +--rw path-out-segment! 1698 | | | | +--rw label-restrictions 1699 | | | | +--rw label-restriction* [index] 1700 | | | | +--rw restriction? enumeration 1701 | | | | +--rw index uint32 1702 | | | | +--rw label-start 1703 | | | | | +--rw te-label 1704 | | | | | +--rw (technology)? 1705 | | | | | | +--:(generic) 1706 | | | | | | +--rw generic? 1707 | | | | | | rt-types:generalized-label 1708 | | | | | +--rw direction? 1709 | | | | | te-label-direction 1710 | | | | +--rw label-end 1711 | | | | | +--rw te-label 1712 | | | | | +--rw (technology)? 1713 | | | | | | +--:(generic) 1714 | | | | | | +--rw generic? 1715 | | | | | | rt-types:generalized-label 1716 | | | | | +--rw direction? 1717 | | | | | te-label-direction 1718 | | | | +--rw label-step 1719 | | | | | +--rw (technology)? 1720 | | | | | +--:(generic) 1721 | | | | | +--rw generic? int32 1722 | | | | +--rw range-bitmap? yang:hex-string 1723 | | | +--rw protection 1724 | | | | +--rw enable? boolean 1725 | | | | +--rw protection-type? identityref 1726 | | | | +--rw protection-reversion-disable? boolean 1727 | | | | +--rw hold-off-time? uint32 1728 | | | | +--rw wait-to-revert? uint16 1729 | | | | +--rw aps-signal-id? uint8 1730 | | | +--rw restoration 1731 | | | | +--rw enable? boolean 1732 | | | | +--rw restoration-type? 1733 | | | | | identityref 1734 | | | | +--rw restoration-scheme? 1735 | | | | | identityref 1736 | | | | +--rw restoration-reversion-disable? boolean 1737 | | | | +--rw hold-off-time? uint32 1738 | | | | +--rw wait-to-restore? uint16 1739 | | | | +--rw wait-to-revert? uint16 1740 | | | +--ro computed-paths-properties 1741 | | | | +--ro computed-path-properties* [k-index] 1742 | | | | +--ro k-index uint8 1743 | | | | +--ro path-properties 1744 | | | | +--ro path-metric* [metric-type] 1745 | | | | | +--ro metric-type identityref 1746 | | | | | +--ro accumulative-value? uint64 1747 | | | | +--ro path-affinities-values 1748 | | | | | +--ro path-affinities-value* [usage] 1749 | | | | | +--ro usage identityref 1750 | | | | | +--ro value? admin-groups 1751 | | | | +--ro path-affinity-names 1752 | | | | | +--ro path-affinity-name* [usage] 1753 | | | | | +--ro usage identityref 1754 | | | | | +--ro affinity-name* [name] 1755 | | | | | +--ro name string 1756 | | | | +--ro path-srlgs-lists 1757 | | | | | +--ro path-srlgs-list* [usage] 1758 | | | | | +--ro usage identityref 1759 | | | | | +--ro values* srlg 1760 | | | | +--ro path-srlgs-names 1761 | | | | | +--ro path-srlgs-name* [usage] 1762 | | | | | +--ro usage identityref 1763 | | | | | +--ro names* string 1764 | | | | +--ro path-route-objects 1765 | | | | | +--ro path-computed-route-object* 1766 | | | | | [index] 1767 | | | | | +--ro index 1768 | | | | | | uint32 1769 | | | | | +--ro (type)? 1770 | | | | | +--:(numbered-node-hop) 1771 | | | | | | +--ro numbered-node-hop 1772 | | | | | | +--ro node-id te-node-id 1773 | | | | | | +--ro hop-type? 1774 | | | | | | te-hop-type 1775 | | | | | +--:(numbered-link-hop) 1776 | | | | | | +--ro numbered-link-hop 1777 | | | | | | +--ro link-tp-id te-tp-id 1778 | | | | | | +--ro hop-type? 1779 | | | | | | | te-hop-type 1780 | | | | | | +--ro direction? 1781 | | | | | | te-link-direction 1782 | | | | | +--:(unnumbered-link-hop) 1783 | | | | | | +--ro unnumbered-link-hop 1784 | | | | | | +--ro link-tp-id te-tp-id 1785 | | | | | | +--ro node-id 1786 | | | | | | | te-node-id 1787 | | | | | | +--ro hop-type? 1788 | | | | | | | te-hop-type 1789 | | | | | | +--ro direction? 1790 | | | | | | te-link-direction 1791 | | | | | +--:(as-number) 1792 | | | | | | +--ro as-number-hop 1793 | | | | | | +--ro as-number 1794 | | | | | | | inet:as-number 1795 | | | | | | +--ro hop-type? 1796 | | | | | | te-hop-type 1797 | | | | | +--:(label) 1798 | | | | | +--ro label-hop 1799 | | | | | +--ro te-label 1800 | | | | | +--ro (technology)? 1801 | | | | | | +--:(generic) 1802 | | | | | | +--ro generic? 1803 | | | | | | rt-types:generalized-label 1804 | | | | | +--ro direction? 1805 | | | | | te-label-direction 1806 | | | | +--ro shared-resources-tunnels 1807 | | | | +--ro lsp-shared-resources-tunnel* 1808 | | | | tunnel-ref 1809 | | | +--ro lsps 1810 | | | +--ro lsp* 1811 | | | [source destination tunnel-id lsp-id extended-tunnel-id] 1812 | | | +--ro source 1813 | | | | te-types:te-node-id 1814 | | | +--ro destination 1815 | | | | te-types:te-node-id 1816 | | | +--ro tunnel-id 1817 | | | | uint16 1818 | | | +--ro lsp-id 1819 | | | | uint16 1820 | | | +--ro extended-tunnel-id 1821 | | | | yang:dotted-quad 1822 | | | +--ro operational-state? 1823 | | | | identityref 1824 | | | +--ro path-setup-protocol? 1825 | | | | identityref 1826 | | | +--ro origin-type? 1827 | | | | enumeration 1828 | | | +--ro lsp-resource-status? 1829 | | | | enumeration 1830 | | | +--ro lockout-of-normal? 1831 | | | | boolean 1832 | | | +--ro freeze? 1833 | | | | boolean 1834 | | | +--ro lsp-protection-role? 1835 | | | | enumeration 1836 | | | +--ro lsp-protection-state? 1837 | | | | identityref 1838 | | | +--ro protection-group-ingress-node-id? 1839 | | | | te-types:te-node-id 1840 | | | +--ro protection-group-egress-node-id? 1841 | | | | te-types:te-node-id 1842 | | | +--ro lsp-shared-resources-tunnel? 1843 | | | | tunnel-ref 1844 | | | +--ro lsp-record-route-information 1845 | | | | +--ro lsp-record-route-information* [index] 1846 | | | | +--ro index 1847 | | | | | uint32 1848 | | | | +--ro (type)? 1849 | | | | +--:(numbered-node-hop) 1850 | | | | | +--ro numbered-node-hop 1851 | | | | | +--ro node-id te-node-id 1852 | | | | | +--ro flags* 1853 | | | | | path-attribute-flags 1854 | | | | +--:(numbered-link-hop) 1855 | | | | | +--ro numbered-link-hop 1856 | | | | | +--ro link-tp-id te-tp-id 1857 | | | | | +--ro flags* 1858 | | | | | path-attribute-flags 1859 | | | | +--:(unnumbered-link-hop) 1860 | | | | | +--ro unnumbered-link-hop 1861 | | | | | +--ro link-tp-id te-tp-id 1862 | | | | | +--ro node-id? te-node-id 1863 | | | | | +--ro flags* 1864 | | | | | path-attribute-flags 1865 | | | | +--:(label) 1866 | | | | +--ro label-hop 1867 | | | | +--ro te-label 1868 | | | | | +--ro (technology)? 1869 | | | | | | +--:(generic) 1870 | | | | | | +--ro generic? 1871 | | | | | | rt-types:generalized-label 1872 | | | | | +--ro direction? 1873 | | | | | te-label-direction 1874 | | | | +--ro flags* 1875 | | | | path-attribute-flags 1876 | | | +--ro path-properties 1877 | | | +--ro path-metric* [metric-type] 1878 | | | | +--ro metric-type identityref 1879 | | | | +--ro accumulative-value? uint64 1880 | | | +--ro path-affinities-values 1881 | | | | +--ro path-affinities-value* [usage] 1882 | | | | +--ro usage identityref 1883 | | | | +--ro value? admin-groups 1884 | | | +--ro path-affinity-names 1885 | | | | +--ro path-affinity-name* [usage] 1886 | | | | +--ro usage identityref 1887 | | | | +--ro affinity-name* [name] 1888 | | | | +--ro name string 1889 | | | +--ro path-srlgs-lists 1890 | | | | +--ro path-srlgs-list* [usage] 1891 | | | | +--ro usage identityref 1892 | | | | +--ro values* srlg 1893 | | | +--ro path-srlgs-names 1894 | | | | +--ro path-srlgs-name* [usage] 1895 | | | | +--ro usage identityref 1896 | | | | +--ro names* string 1897 | | | +--ro path-route-objects 1898 | | | | +--ro path-computed-route-object* 1899 | | | | [index] 1900 | | | | +--ro index 1901 | | | | | uint32 1902 | | | | +--ro (type)? 1903 | | | | +--:(numbered-node-hop) 1904 | | | | | +--ro numbered-node-hop 1905 | | | | | +--ro node-id te-node-id 1906 | | | | | +--ro hop-type? 1907 | | | | | te-hop-type 1908 | | | | +--:(numbered-link-hop) 1909 | | | | | +--ro numbered-link-hop 1910 | | | | | +--ro link-tp-id te-tp-id 1911 | | | | | +--ro hop-type? 1912 | | | | | | te-hop-type 1913 | | | | | +--ro direction? 1914 | | | | | te-link-direction 1915 | | | | +--:(unnumbered-link-hop) 1916 | | | | | +--ro unnumbered-link-hop 1917 | | | | | +--ro link-tp-id te-tp-id 1918 | | | | | +--ro node-id 1919 | | | | | | te-node-id 1920 | | | | | +--ro hop-type? 1921 | | | | | | te-hop-type 1922 | | | | | +--ro direction? 1923 | | | | | te-link-direction 1924 | | | | +--:(as-number) 1925 | | | | | +--ro as-number-hop 1926 | | | | | +--ro as-number 1927 | | | | | | inet:as-number 1928 | | | | | +--ro hop-type? 1929 | | | | | te-hop-type 1930 | | | | +--:(label) 1931 | | | | +--ro label-hop 1932 | | | | +--ro te-label 1933 | | | | +--ro (technology)? 1934 | | | | | +--:(generic) 1935 | | | | | +--ro generic? 1936 | | | | | rt-types:generalized-label 1937 | | | | +--ro direction? 1938 | | | | te-label-direction 1939 | | | +--ro shared-resources-tunnels 1940 | | | +--ro lsp-shared-resources-tunnel* 1941 | | | tunnel-ref 1942 | | +---x tunnel-action 1943 | | | +---w input 1944 | | | | +---w action-type? identityref 1945 | | | +--ro output 1946 | | | +--ro action-result? identityref 1947 | | +---x protection-external-commands 1948 | | +---w input 1949 | | +---w protection-external-command? 1950 | | | identityref 1951 | | +---w protection-group-ingress-node-id? 1952 | | | te-types:te-node-id 1953 | | +---w protection-group-egress-node-id? 1954 | | | te-types:te-node-id 1955 | | +---w path-ref? path-ref 1956 | | +---w traffic-type? 1957 | | | enumeration 1958 | | +---w extra-traffic-tunnel-ref? tunnel-ref 1959 | +--rw tunnel-p2mp* [name] 1960 | +--rw name string 1961 | +--rw identifier? uint16 1962 | +--rw description? string 1963 | +--ro operational-state? identityref 1964 +--ro lsps-state 1965 +--ro lsp* 1966 [source destination tunnel-id lsp-id extended-tunnel-id] 1967 +--ro source 1968 | te-types:te-node-id 1969 +--ro destination 1970 | te-types:te-node-id 1971 +--ro tunnel-id uint16 1972 +--ro lsp-id uint16 1973 +--ro extended-tunnel-id yang:dotted-quad 1974 +--ro operational-state? identityref 1975 +--ro path-setup-protocol? identityref 1976 +--ro origin-type? enumeration 1977 +--ro lsp-resource-status? enumeration 1978 +--ro lockout-of-normal? boolean 1979 +--ro freeze? boolean 1980 +--ro lsp-protection-role? enumeration 1981 +--ro lsp-protection-state? identityref 1982 +--ro protection-group-ingress-node-id? 1983 | te-types:te-node-id 1984 +--ro protection-group-egress-node-id? 1985 | te-types:te-node-id 1986 +--ro lsp-record-route-information 1987 +--ro lsp-record-route-information* [index] 1988 +--ro index uint32 1989 +--ro (type)? 1990 +--:(numbered-node-hop) 1991 | +--ro numbered-node-hop 1992 | +--ro node-id te-node-id 1993 | +--ro flags* path-attribute-flags 1994 +--:(numbered-link-hop) 1995 | +--ro numbered-link-hop 1996 | +--ro link-tp-id te-tp-id 1997 | +--ro flags* path-attribute-flags 1998 +--:(unnumbered-link-hop) 1999 | +--ro unnumbered-link-hop 2000 | +--ro link-tp-id te-tp-id 2001 | +--ro node-id? te-node-id 2002 | +--ro flags* path-attribute-flags 2003 +--:(label) 2004 +--ro label-hop 2005 +--ro te-label 2006 | +--ro (technology)? 2007 | | +--:(generic) 2008 | | +--ro generic? 2009 | | rt-types:generalized-label 2010 | +--ro direction? 2011 | te-label-direction 2012 +--ro flags* path-attribute-flags 2014 rpcs: 2015 +---x globals-rpc 2016 +---x interfaces-rpc 2017 +---x tunnels-rpc 2018 +---w input 2019 | +---w tunnel-info 2020 | +---w (type)? 2021 | +--:(tunnel-p2p) 2022 | | +---w p2p-id? tunnel-ref 2023 | +--:(tunnel-p2mp) 2024 | +---w p2mp-id? tunnel-p2mp-ref 2025 +--ro output 2026 +--ro result 2027 +--ro result? enumeration 2029 notifications: 2030 +---n globals-notif 2031 +---n tunnels-notif 2033 5.2. YANG Code 2035 file "ietf-flexi-grid-topology@2020-10-21.yang" 2036 module ietf-flexi-grid-media-channel { 2037 yang-version 1.1; 2038 namespace 2039 "urn:ietf:params:xml:ns:yang:ietf-flexi-grid-media-channel"; 2040 prefix "flexi-grid-media-channel"; 2042 import ietf-te { 2043 prefix "te"; 2044 revision-date "2019-02-15"; 2045 reference 2046 "I-D.ietf-teas-yang-te-19: A YANG Data Model for Traffic 2047 Engineering Tunnels and Interfaces. "; 2048 } 2050 import ietf-layer0-types{ 2051 prefix "l0-types"; 2052 } 2054 import ietf-layer0-types-ext { 2055 prefix "l0-types-ext"; 2056 } 2058 import ietf-te-path-computation { 2059 prefix "tepc"; 2060 revision-date "2019-03-11"; 2061 reference 2062 "I-D.ietf-teas-yang-path-computation-05: Yang model 2063 for requesting Path Computation."; 2064 } 2066 organization 2067 "IETF CCAMP Working Group"; 2068 contact 2069 "WG Web: 2070 WG List: 2071 Editor: Jorge E. Lopez de Vergara 2072 2073 Editor: Daniel Perdices 2074 2075 Editor: Victor Lopez 2076 2077 Editor: Young Lee 2078 "; 2080 description 2081 "This module defines a model for Flex-grid Media Channel 2082 Services. 2083 The model fully conforms to the Network Management 2084 Datastore Architecture (NMDA). 2086 Copyright (c) 2021 IETF Trust and the persons 2087 identified as authors of the code. All rights reserved. 2088 Redistribution and use in source and binary forms, with or 2089 without modification, is permitted pursuant to, and subject 2090 to the license terms contained in, the Simplified BSD License 2091 set forth in Section 4.c of the IETF Trust's Legal Provisions 2092 Relating to IETF Documents 2093 (https://trustee.ietf.org/license-info). 2094 This version of this YANG module is part of RFC XXXX; see 2095 the RFC itself for full legal notices."; 2097 revision "2021-02-12" { 2098 description 2099 "Initial Revision"; 2100 reference 2101 "RFC XXXX: YANG data model for Flexi-Grid media-channels"; 2102 // RFC Ed.: replace XXXX with actual RFC number, update date 2103 // information and remove this note 2104 } 2106 /* 2107 * Data nodes 2108 */ 2110 augment "/te:te/te:tunnels/te:tunnel" { 2111 description 2112 "Augment with additional parameters required for flexi-grid 2113 media channel."; 2114 uses l0-types-ext:l0-tunnel-attributes; 2115 } 2117 /* 2118 * Augment TE label. 2119 */ 2121 /* Augment label hop of route-object-exclude-always of 2122 named-path-constraints */ 2123 augment "/te:te/te:globals/te:named-path-constraints/" 2124 + "te:named-path-constraint/" 2125 + "te:explicit-route-objects-always/" 2126 + "te:route-object-exclude-always/te:type/te:label/" 2127 + "te:label-hop/te:te-label/te:technology" { 2128 description "Flex-grid label."; 2129 case flexi-grid { 2130 uses l0-types:flexi-grid-label-hop; 2131 } 2132 } 2134 /* Augment label hop of route-object-include-exclude of 2135 named-path-constraints */ 2136 augment "/te:te/te:globals/te:named-path-constraints/" 2137 + "te:named-path-constraint/" 2138 + "te:explicit-route-objects-always/" 2139 + "te:route-object-include-exclude/te:type/te:label/" 2140 + "te:label-hop/te:te-label/te:technology" { 2141 description "Flex-grid label."; 2142 case flexi-grid { 2143 uses l0-types:flexi-grid-label-hop; 2144 } 2145 } 2147 /* Augment label restrictions for the forwarding direction of 2148 path-in-segment of named-path-constraints */ 2149 augment "/te:te/te:globals/te:named-path-constraints/" 2150 + "te:named-path-constraint/te:path-in-segment/" 2151 + "te:label-restrictions/te:label-restriction" { 2152 description "Flex-grid label."; 2153 uses l0-types:flexi-grid-label-range-info; 2154 } 2156 /* Augment label restrictions start for the forwarding direction of 2157 path-in-segment of named-path-constraints */ 2158 augment "/te:te/te:globals/te:named-path-constraints/" 2159 + "te:named-path-constraint/te:path-in-segment/" 2160 + "te:label-restrictions/" 2161 + "te:label-restriction/te:label-start/" 2162 + "te:te-label/te:technology" { 2163 description "Flex-grid label."; 2164 case flexi-grid { 2165 uses l0-types:flexi-grid-label-start-end; 2166 } 2167 } 2169 /* Augment label restrictions end for the forwarding direction of 2170 path-in-segment of named-path-constraints */ 2171 augment "/te:te/te:globals/te:named-path-constraints/" 2172 + "te:named-path-constraint/te:path-in-segment/" 2173 + "te:label-restrictions/" 2174 + "te:label-restriction/te:label-end/" 2175 + "te:te-label/te:technology" { 2176 description "Flex-grid label."; 2177 case flexi-grid { 2178 uses l0-types:flexi-grid-label-start-end; 2179 } 2180 } 2182 /* Augment label restrictions for the forwarding direction of 2183 path-out-segment of named-path-constraints */ 2184 augment "/te:te/te:globals/te:named-path-constraints/" 2185 + "te:named-path-constraint/te:path-out-segment/" 2186 + "te:label-restrictions/" 2187 + "te:label-restriction" { 2188 description "Flex-grid label."; 2189 uses l0-types:flexi-grid-label-range-info; 2190 } 2192 /* Augment label restrictions start for the forwarding direction of 2193 path-out-segment of named-path-constraints */ 2194 augment "/te:te/te:globals/te:named-path-constraints/" 2195 + "te:named-path-constraint/te:path-out-segment/" 2196 + "te:label-restrictions/" 2197 + "te:label-restriction/te:label-start/" 2198 + "te:te-label/te:technology" { 2199 description "Flex-grid label."; 2200 case flexi-grid { 2201 uses l0-types:flexi-grid-label-start-end; 2202 } 2203 } 2205 /* Augment label restrictions end for the forwarding direction of 2206 path-out-segment of named-path-constraints */ 2207 augment "/te:te/te:globals/te:named-path-constraints/" 2208 + "te:named-path-constraint/te:path-out-segment/" 2209 + "te:label-restrictions/" 2210 + "te:label-restriction/te:label-end/" 2211 + "te:te-label/te:technology" { 2212 description "Flex-grid label."; 2213 case flexi-grid { 2214 uses l0-types:flexi-grid-label-start-end; 2215 } 2216 } 2218 /* Augment label hop of route-exclude of primary path */ 2219 augment "/te:te/te:tunnels/te:tunnel/" 2220 + "te:p2p-primary-paths/te:p2p-primary-path/" 2221 + "te:optimizations/te:algorithm/te:metric/" 2222 + "te:optimization-metric/te:explicit-route-exclude-objects/" 2223 + "te:route-object-exclude-object/te:type/te:label/" 2224 + "te:label-hop/te:te-label/te:technology" { 2225 description "Flex-grid label."; 2226 case flexi-grid { 2227 uses l0-types:flexi-grid-label-hop; 2228 } 2229 } 2230 /* Augment label hop of route-include of primary path */ 2231 augment "/te:te/te:tunnels/te:tunnel/" 2232 + "te:p2p-primary-paths/te:p2p-primary-path/" 2233 + "te:optimizations/te:algorithm/te:metric/" 2234 + "te:optimization-metric/te:explicit-route-include-objects/" 2235 + "te:route-object-include-object/te:type/te:label/" 2236 + "te:label-hop/te:te-label/te:technology" { 2237 description "Flex-grid label."; 2238 case flexi-grid { 2239 uses l0-types:flexi-grid-label-hop; 2240 } 2241 } 2243 /* Augment label hop of route-object-exclude-always of 2244 primary path */ 2245 augment "/te:te/te:tunnels/te:tunnel/" 2246 + "te:p2p-primary-paths/te:p2p-primary-path/" 2247 + "te:explicit-route-objects-always/" 2248 + "te:route-object-exclude-always/te:type/te:label/" 2249 + "te:label-hop/te:te-label/te:technology" { 2250 description "Flex-grid label."; 2251 case flexi-grid { 2252 uses l0-types:flexi-grid-label-hop; 2253 } 2254 } 2256 /* Augment label hop of route-object-include-exclude of 2257 primary path */ 2258 augment "/te:te/te:tunnels/te:tunnel/" 2259 + "te:p2p-primary-paths/te:p2p-primary-path/" 2260 + "te:explicit-route-objects-always/" 2261 + "te:route-object-include-exclude/te:type/te:label/" 2262 + "te:label-hop/te:te-label/te:technology" { 2263 description "Flex-grid label."; 2264 case flexi-grid { 2265 uses l0-types:flexi-grid-label-hop; 2266 } 2267 } 2269 /* Augment label restrictions for the path-in-segment of 2270 primary path */ 2271 augment "/te:te/te:tunnels/te:tunnel/" 2272 + "te:p2p-primary-paths/te:p2p-primary-path/" 2273 + "te:path-in-segment/te:label-restrictions/" 2274 + "te:label-restriction" { 2275 description "Flex-grid label."; 2276 uses l0-types:flexi-grid-label-range-info; 2277 } 2278 /* Augment label restrictions start for the forwarding direction of 2279 path-in-segment of primary path */ 2280 augment "/te:te/te:tunnels/te:tunnel/" 2281 + "te:p2p-primary-paths/te:p2p-primary-path/" 2282 + "te:path-in-segment/te:label-restrictions/" 2283 + "te:label-restriction/te:label-start/" 2284 + "te:te-label/te:technology" { 2285 description "Flex-grid label."; 2286 case flexi-grid { 2287 uses l0-types:flexi-grid-label-start-end; 2288 } 2289 } 2291 /* Augment label restrictions end for the forwarding direction of 2292 path-in-segment of primary path */ 2293 augment "/te:te/te:tunnels/te:tunnel/" 2294 + "te:p2p-primary-paths/te:p2p-primary-path/" 2295 + "te:path-in-segment/te:label-restrictions/" 2296 + "te:label-restriction/te:label-end/" 2297 + "te:te-label/te:technology" { 2298 description "Flex-grid label."; 2299 case flexi-grid { 2300 uses l0-types:flexi-grid-label-start-end; 2301 } 2302 } 2304 /* Augment label restrictions for the forwarding direction of 2305 path-out-segment of primary path */ 2306 augment "/te:te/te:tunnels/te:tunnel/" 2307 + "te:p2p-primary-paths/te:p2p-primary-path/" 2308 + "te:path-out-segment/te:label-restrictions/" 2309 + "te:label-restriction" { 2310 description "Flex-grid label."; 2311 uses l0-types:flexi-grid-label-range-info; 2312 } 2314 /* Augment label restrictions start for the forwarding direction of 2315 path-out-segment of primary path */ 2316 augment "/te:te/te:tunnels/te:tunnel/" 2317 + "te:p2p-primary-paths/te:p2p-primary-path/" 2318 + "te:path-out-segment/te:label-restrictions/" 2319 + "te:label-restriction/te:label-start/" 2320 + "te:te-label/te:technology" { 2321 description "Flex-grid label."; 2322 case flexi-grid { 2323 uses l0-types:flexi-grid-label-start-end; 2324 } 2325 } 2326 /* Augment label restrictions end for the forwarding direction of 2327 path-out-segment of primary path */ 2328 augment "/te:te/te:tunnels/te:tunnel/" 2329 + "te:p2p-primary-paths/te:p2p-primary-path/" 2330 + "te:path-out-segment/te:label-restrictions/" 2331 + "te:label-restriction/te:label-end/" 2332 + "te:te-label/te:technology" { 2333 description "Flex-grid label."; 2334 case flexi-grid { 2335 uses l0-types:flexi-grid-label-start-end; 2336 } 2337 } 2339 /* Augment label hop of path-route of primary path */ 2340 augment "/te:te/te:tunnels/te:tunnel/" 2341 + "te:p2p-primary-paths/te:p2p-primary-path/" 2342 + "te:computed-paths-properties/" 2343 + "te:computed-path-properties/te:path-properties/" 2344 + "te:path-route-objects/te:path-computed-route-object/" 2345 + "te:type/te:label/" 2346 + "te:label-hop/te:te-label/te:technology" { 2347 description "Flex-grid label."; 2348 case flexi-grid { 2349 uses l0-types:flexi-grid-label-hop; 2350 } 2351 } 2353 /* Augment label hop of record-route of primary LSP */ 2354 augment "/te:te/te:tunnels/te:tunnel/" 2355 + "te:p2p-primary-paths/te:p2p-primary-path/" 2356 + "te:lsps/te:lsp/te:lsp-record-route-information/" 2357 + "te:lsp-record-route-information/te:type/te:label/" 2358 + "te:label-hop/te:te-label/te:technology" { 2359 description "Flex-grid label."; 2360 case flexi-grid { 2361 uses l0-types:flexi-grid-label-hop; 2362 } 2363 } 2365 /* Augment label hop of path-route of primary LSP */ 2366 augment "/te:te/te:tunnels/te:tunnel/" 2367 + "te:p2p-primary-paths/te:p2p-primary-path/" 2368 + "te:lsps/te:lsp/te:path-properties/" 2369 + "te:path-route-objects/te:path-computed-route-object/" 2370 + "te:type/te:label/" 2371 + "te:label-hop/te:te-label/te:technology" { 2372 description "Flex-grid label."; 2373 case flexi-grid { 2374 uses l0-types:flexi-grid-label-hop; 2375 } 2376 } 2378 /* Augment label hop of route-exclude of reverse primary path */ 2379 augment "/te:te/te:tunnels/te:tunnel/" 2380 + "te:p2p-primary-paths/te:p2p-primary-path/" 2381 + "te:p2p-primary-reverse-path/" 2382 + "te:optimizations/te:algorithm/te:metric/" 2383 + "te:optimization-metric/te:explicit-route-exclude-objects/" 2384 + "te:route-object-exclude-object/te:type/te:label/" 2385 + "te:label-hop/te:te-label/te:technology" { 2386 description "Flex-grid label."; 2387 case flexi-grid { 2388 uses l0-types:flexi-grid-label-hop; 2389 } 2390 } 2392 /* Augment label hop of route-include of reverse primary path */ 2393 augment "/te:te/te:tunnels/te:tunnel/" 2394 + "te:p2p-primary-paths/te:p2p-primary-path/" 2395 + "te:p2p-primary-reverse-path/" 2396 + "te:optimizations/te:algorithm/te:metric/" 2397 + "te:optimization-metric/te:explicit-route-include-objects/" 2398 + "te:route-object-include-object/te:type/te:label/" 2399 + "te:label-hop/te:te-label/te:technology" { 2400 description "Flex-grid label."; 2401 case flexi-grid { 2402 uses l0-types:flexi-grid-label-hop; 2403 } 2404 } 2406 /* Augment label hop of route-object-exclude-always of 2407 reverse primary path */ 2408 augment "/te:te/te:tunnels/te:tunnel/" 2409 + "te:p2p-primary-paths/te:p2p-primary-path/" 2410 + "te:p2p-primary-reverse-path/" 2411 + "te:explicit-route-objects-always/" 2412 + "te:route-object-exclude-always/" 2413 + "te:type/te:label/" 2414 + "te:label-hop/te:te-label/te:technology" { 2415 description "Flex-grid label."; 2416 case flexi-grid { 2417 uses l0-types:flexi-grid-label-hop; 2418 } 2419 } 2421 /* Augment label hop of route-object-include-exclude of 2422 reverse primary path */ 2423 augment "/te:te/te:tunnels/te:tunnel/" 2424 + "te:p2p-primary-paths/te:p2p-primary-path/" 2425 + "te:p2p-primary-reverse-path/" 2426 + "te:explicit-route-objects-always/" 2427 + "te:route-object-include-exclude/" 2428 + "te:type/te:label/" 2429 + "te:label-hop/te:te-label/te:technology" { 2430 description "Flex-grid label."; 2431 case flexi-grid { 2432 uses l0-types:flexi-grid-label-hop; 2433 } 2434 } 2436 /* Augment label restrictions for the forwarding direction of 2437 path-in-segment of reverse primary path */ 2438 augment "/te:te/te:tunnels/te:tunnel/" 2439 + "te:p2p-primary-paths/te:p2p-primary-path/" 2440 + "te:p2p-primary-reverse-path/" 2441 + "te:path-in-segment/te:label-restrictions/" 2442 + "te:label-restriction" { 2443 description "Flex-grid label."; 2444 uses l0-types:flexi-grid-label-range-info; 2445 } 2447 /* Augment label restrictions start for the forwarding direction of 2448 path-in-segment of reverse primary path */ 2449 augment "/te:te/te:tunnels/te:tunnel/" 2450 + "te:p2p-primary-paths/te:p2p-primary-path/" 2451 + "te:p2p-primary-reverse-path/" 2452 + "te:path-in-segment/te:label-restrictions/" 2453 + "te:label-restriction/te:label-start/" 2454 + "te:te-label/te:technology" { 2455 description "Flex-grid label."; 2456 case flexi-grid { 2457 uses l0-types:flexi-grid-label-start-end; 2458 } 2459 } 2461 /* Augment label restrictions end for the forwarding direction of 2462 path-in-segment of reverse primary path */ 2463 augment "/te:te/te:tunnels/te:tunnel/" 2464 + "te:p2p-primary-paths/te:p2p-primary-path/" 2465 + "te:p2p-primary-reverse-path/" 2466 + "te:path-in-segment/te:label-restrictions/" 2467 + "te:label-restriction/te:label-end/" 2468 + "te:te-label/te:technology" { 2469 description "Flex-grid label."; 2470 case flexi-grid { 2471 uses l0-types:flexi-grid-label-start-end; 2472 } 2473 } 2475 /* Augment label restrictions for the forwarding direction of 2476 path-out-segment of reverse primary path */ 2477 augment "/te:te/te:tunnels/te:tunnel/" 2478 + "te:p2p-primary-paths/te:p2p-primary-path/" 2479 + "te:p2p-primary-reverse-path/" 2480 + "te:path-out-segment/te:label-restrictions/" 2481 + "te:label-restriction" { 2482 description "Flex-grid label."; 2483 uses l0-types:flexi-grid-label-range-info; 2484 } 2486 /* Augment label restrictions start for the forwarding direction of 2487 path-out-segment of reverse primary path */ 2488 augment "/te:te/te:tunnels/te:tunnel/" 2489 + "te:p2p-primary-paths/te:p2p-primary-path/" 2490 + "te:p2p-primary-reverse-path/" 2491 + "te:path-out-segment/te:label-restrictions/" 2492 + "te:label-restriction/te:label-start/" 2493 + "te:te-label/te:technology" { 2494 description "Flex-grid label."; 2495 case flexi-grid { 2496 uses l0-types:flexi-grid-label-start-end; 2497 } 2498 } 2500 /* Augment label restrictions end for the forwarding direction of 2501 path-out-segment of reverse primary path */ 2502 augment "/te:te/te:tunnels/te:tunnel/" 2503 + "te:p2p-primary-paths/te:p2p-primary-path/" 2504 + "te:p2p-primary-reverse-path/" 2505 + "te:path-out-segment/te:label-restrictions/" 2506 + "te:label-restriction/te:label-end/" 2507 + "te:te-label/te:technology" { 2508 description "Flex-grid label."; 2509 case flexi-grid { 2510 uses l0-types:flexi-grid-label-start-end; 2511 } 2512 } 2514 /* Augment label hop of path-route of reverse primary path */ 2515 augment "/te:te/te:tunnels/te:tunnel/" 2516 + "te:p2p-primary-paths/te:p2p-primary-path/" 2517 + "te:p2p-primary-reverse-path/" 2518 + "te:computed-paths-properties/te:computed-path-properties/" 2519 + "te:path-properties/te:path-route-objects/" 2520 + "te:path-computed-route-object/te:type/te:label/" 2521 + "te:label-hop/te:te-label/te:technology" { 2522 description "Flex-grid label."; 2523 case flexi-grid { 2524 uses l0-types:flexi-grid-label-hop; 2525 } 2526 } 2528 /* Augment label hop of record-route of reverse primary LSP */ 2529 augment "/te:te/te:tunnels/te:tunnel/" 2530 + "te:p2p-primary-paths/te:p2p-primary-path/" 2531 + "te:p2p-primary-reverse-path/" 2532 + "te:lsps/te:lsp/te:lsp-record-route-information/" 2533 + "te:lsp-record-route-information/te:type/te:label/" 2534 + "te:label-hop/te:te-label/te:technology" { 2535 description "Flex-grid label."; 2536 case flexi-grid { 2537 uses l0-types:flexi-grid-label-hop; 2538 } 2539 } 2541 /* Augment label hop of path-route of reverse primary LSP */ 2542 augment "/te:te/te:tunnels/te:tunnel/" 2543 + "te:p2p-primary-paths/te:p2p-primary-path/" 2544 + "te:p2p-primary-reverse-path/" 2545 + "te:lsps/te:lsp/te:path-properties/" 2546 + "te:path-route-objects/te:path-computed-route-object/" 2547 + "te:type/te:label/" 2548 + "te:label-hop/te:te-label/te:technology" { 2549 description "Flex-grid label."; 2550 case flexi-grid { 2551 uses l0-types:flexi-grid-label-hop; 2552 } 2553 } 2555 /* Augment label hop of route-exclude of secondary path */ 2556 augment "/te:te/te:tunnels/te:tunnel/" 2557 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2558 + "te:optimizations/te:algorithm/te:metric/" 2559 + "te:optimization-metric/te:explicit-route-exclude-objects/" 2560 + "te:route-object-exclude-object/te:type/te:label/" 2561 + "te:label-hop/te:te-label/te:technology" { 2562 description "Flex-grid label."; 2563 case flexi-grid { 2564 uses l0-types:flexi-grid-label-hop; 2565 } 2567 } 2569 /* Augment label hop of route-include of secondary path */ 2570 augment "/te:te/te:tunnels/te:tunnel/" 2571 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2572 + "te:optimizations/te:algorithm/te:metric/" 2573 + "te:optimization-metric/te:explicit-route-include-objects/" 2574 + "te:route-object-include-object/te:type/te:label/" 2575 + "te:label-hop/te:te-label/te:technology" { 2576 description "Flex-grid label."; 2577 case flexi-grid { 2578 uses l0-types:flexi-grid-label-hop; 2579 } 2580 } 2582 /* Augment label hop of route-object-exclude-always of 2583 secondary path */ 2584 augment "/te:te/te:tunnels/te:tunnel/" 2585 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2586 + "te:explicit-route-objects-always/" 2587 + "te:route-object-exclude-always/te:type/te:label/" 2588 + "te:label-hop/te:te-label/te:technology" { 2589 description "Flex-grid label."; 2590 case flexi-grid { 2591 uses l0-types:flexi-grid-label-hop; 2592 } 2593 } 2595 /* Augment label hop of route-object-include-exclude of 2596 secondary path */ 2597 augment "/te:te/te:tunnels/te:tunnel/" 2598 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2599 + "te:explicit-route-objects-always/" 2600 + "te:route-object-include-exclude/te:type/te:label/" 2601 + "te:label-hop/te:te-label/te:technology" { 2602 description "Flex-grid label."; 2603 case flexi-grid { 2604 uses l0-types:flexi-grid-label-hop; 2605 } 2606 } 2608 /* Augment label restrictions for the forwarding direction of 2609 path-in-segment of secondary path */ 2610 augment "/te:te/te:tunnels/te:tunnel/" 2611 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2612 + "te:path-in-segment/te:label-restrictions/" 2613 + "te:label-restriction" { 2614 description "Flex-grid label."; 2615 uses l0-types:flexi-grid-label-range-info; 2616 } 2618 /* Augment label restrictions start for the forwarding direction of 2619 path-in-segment of secondary path */ 2620 augment "/te:te/te:tunnels/te:tunnel/" 2621 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2622 + "te:path-in-segment/te:label-restrictions/" 2623 + "te:label-restriction/te:label-start/" 2624 + "te:te-label/te:technology" { 2625 description "Flex-grid label."; 2626 case flexi-grid { 2627 uses l0-types:flexi-grid-label-start-end; 2628 } 2629 } 2631 /* Augment label restrictions end for the forwarding direction of 2632 path-in-segment of secondary path */ 2633 augment "/te:te/te:tunnels/te:tunnel/" 2634 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2635 + "te:path-in-segment/te:label-restrictions/" 2636 + "te:label-restriction/te:label-end/" 2637 + "te:te-label/te:technology" { 2638 description "Flex-grid label."; 2639 case flexi-grid { 2640 uses l0-types:flexi-grid-label-start-end; 2641 } 2642 } 2644 /* Augment label restrictions for the forwarding direction of 2645 path-out-segment of secondary path */ 2646 augment "/te:te/te:tunnels/te:tunnel/" 2647 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2648 + "te:path-out-segment/te:label-restrictions/" 2649 + "te:label-restriction" { 2650 description "Flex-grid label."; 2651 uses l0-types:flexi-grid-label-range-info; 2652 } 2654 /* Augment label restrictions start for the forwarding direction of 2655 path-out-segment of secondary path */ 2656 augment "/te:te/te:tunnels/te:tunnel/" 2657 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2658 + "te:path-out-segment/te:label-restrictions/" 2659 + "te:label-restriction/te:label-start/" 2660 + "te:te-label/te:technology" { 2661 description "Flex-grid label."; 2662 case flexi-grid { 2663 uses l0-types:flexi-grid-label-start-end; 2664 } 2665 } 2667 /* Augment label restrictions end for the forwarding direction of 2668 path-out-segment of secondary path */ 2669 augment "/te:te/te:tunnels/te:tunnel/" 2670 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2671 + "te:path-out-segment/te:label-restrictions/" 2672 + "te:label-restriction/te:label-end/" 2673 + "te:te-label/te:technology" { 2674 description "Flex-grid label."; 2675 case flexi-grid { 2676 uses l0-types:flexi-grid-label-start-end; 2677 } 2678 } 2680 /* Augment label hop of path-route of secondary path */ 2681 augment "/te:te/te:tunnels/te:tunnel/" 2682 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2683 + "te:computed-paths-properties/" 2684 + "te:computed-path-properties/" 2685 + "te:path-properties/te:path-route-objects/" 2686 + "te:path-computed-route-object/te:type/te:label/" 2687 + "te:label-hop/te:te-label/te:technology" { 2688 description "Flex-grid label."; 2689 case flexi-grid { 2690 uses l0-types:flexi-grid-label-hop; 2691 } 2692 } 2694 /* Augment label hop of record-route of secondary LSP */ 2695 augment "/te:te/te:tunnels/te:tunnel/" 2696 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2697 + "te:lsps/te:lsp/te:lsp-record-route-information/" 2698 + "te:lsp-record-route-information/te:type/te:label/" 2699 + "te:label-hop/te:te-label/te:technology" { 2700 description "Flex-grid label."; 2701 case flexi-grid { 2702 uses l0-types:flexi-grid-label-hop; 2703 } 2704 } 2706 /* Augment label hop of path-route of secondary LSP */ 2707 augment "/te:te/te:tunnels/te:tunnel/" 2708 + "te:p2p-secondary-paths/te:p2p-secondary-path/" 2709 + "te:lsps/te:lsp/te:path-properties/" 2710 + "te:path-route-objects/" 2711 + "te:path-computed-route-object/te:type/te:label/" 2712 + "te:label-hop/te:te-label/te:technology" { 2713 description "Flex-grid label."; 2714 case flexi-grid { 2715 uses l0-types:flexi-grid-label-hop; 2716 } 2717 } 2719 /* Augment label hop of record-route of LSP */ 2720 augment "/te:te/te:lsps-state/" 2721 + "te:lsp/te:lsp-record-route-information/" 2722 + "te:lsp-record-route-information/te:type/te:label/" 2723 + "te:label-hop/te:te-label/te:technology" { 2724 description "Flex-grid label."; 2725 case flexi-grid { 2726 uses l0-types:flexi-grid-label-hop; 2727 } 2728 } 2730 augment "/te:tunnels-rpc/te:input/te:tunnel-info/" 2731 + "tepc:path-request" { 2732 description 2733 "Augment with additional constraints flexi-grid 2734 media channel."; 2735 uses l0-types-ext:l0-tunnel-attributes; 2736 uses l0-types-ext:l0-path-constraints; 2737 } 2738 } 2739 2741 6. Security Considerations 2743 To Be discussed. 2745 7. IANA Considerations 2747 To be discussed. 2749 8. Contributors 2751 This work was developed by several additional people, who due to 2752 frontpage author restrictions, are listed below: 2754 Zafar Ali 2755 Cisco 2756 Email: zali@cisco.com 2757 Daniel Michaud Vallinoto 2758 Universidad Autonoma de Madrid 2759 Email: daniel.michaud@estudiante.uam.es 2761 9. Acknowledgments 2763 This work is also partially funded by the Spanish State Research 2764 Agency under the project AgileMon (AEI PID2019-104451RB-C21) and by 2765 the Spanish Ministry of Science, Innovation and Universities under 2766 the program for the training of university lecturers (Grant number: 2767 FPU19/05678). 2769 10. References 2771 10.1. Normative References 2773 [I-D.ietf-ccamp-flexigrid-yang] 2774 Madrid, U., Perdices, D., King, D., Lee, Y., and H. Zheng, 2775 "A YANG Data Model for Flexi-Grid Optical Networks", 2776 draft-ietf-ccamp-flexigrid-yang-08 (work in progress), 2777 November 2020. 2779 [I-D.ietf-teas-yang-te] 2780 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 2781 "A YANG Data Model for Traffic Engineering Tunnels, Label 2782 Switched Paths and Interfaces", draft-ietf-teas-yang-te-25 2783 (work in progress), July 2020. 2785 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 2786 and A. Bierman, Ed., "Network Configuration Protocol 2787 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 2788 . 2790 [RFC7699] Farrel, A., King, D., Li, Y., and F. Zhang, "Generalized 2791 Labels for the Flexi-Grid in Lambda Switch Capable (LSC) 2792 Label Switching Routers", RFC 7699, DOI 10.17487/RFC7699, 2793 November 2015, . 2795 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 2796 RFC 7950, DOI 10.17487/RFC7950, August 2016, 2797 . 2799 10.2. Informative References 2801 [RFC7446] Lee, Y., Ed., Bernstein, G., Ed., Li, D., and W. Imajuku, 2802 "Routing and Wavelength Assignment Information Model for 2803 Wavelength Switched Optical Networks", RFC 7446, 2804 DOI 10.17487/RFC7446, February 2015, 2805 . 2807 [RFC7698] Gonzalez de Dios, O., Ed., Casellas, R., Ed., Zhang, F., 2808 Fu, X., Ceccarelli, D., and I. Hussain, "Framework and 2809 Requirements for GMPLS-Based Control of Flexi-Grid Dense 2810 Wavelength Division Multiplexing (DWDM) Networks", 2811 RFC 7698, DOI 10.17487/RFC7698, November 2015, 2812 . 2814 Authors' Addresses 2816 Jorge E. Lopez de Vergara Mendez 2817 Naudit HPCN 2819 Email: jorge.lopez_vergara@uam.es 2821 Daniel Perdices Burrero 2822 Universidad Autonoma de Madrid 2824 Email: daniel.perdices@uam.es 2826 Daniel King 2827 Old Dog Consulting 2829 Email: daniel@olddog.co.uk 2831 Victor Lopez 2832 Telefonica I+D/GCTO 2834 Email: victor.lopezalvarez@telefonica.com 2836 Italo Busi 2837 Huawei Technologies 2839 Email: Italo.Busi@huawei.com 2840 Oscar Gonzalez de Dios 2841 Telefonica I+D/GCTO 2843 Email: oscar.gonzalezdedios@telefonica.com 2845 Young Lee 2846 Samsung 2848 Email: younglee.tx@gmail.co 2850 G. Galimberti 2851 Cisco 2853 Email: ggalimbe@cisco.com