idnits 2.17.1 draft-ietf-teas-yang-te-types-07.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 08, 2019) is 1845 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Obsolete informational reference (is this intentional?): RFC 3272 (Obsoleted by RFC 9522) Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 TEAS Working Group T. Saad 3 Internet-Draft Juniper Networks 4 Intended status: Standards Track R. Gandhi 5 Expires: October 10, 2019 Cisco Systems Inc 6 X. Liu 7 Volta Networks 8 V. Beeram 9 Juniper Networks 10 I. Bryskin 11 Huawei Technologies 12 April 08, 2019 14 Traffic Engineering Common YANG Types 15 draft-ietf-teas-yang-te-types-07 17 Abstract 19 This document defines a collection of common data types and groupings 20 in YANG data modeling language. These derived common types and 21 groupings are intended to be imported by modules that model Traffic 22 Engineering (TE) configuration and state capabilities. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on October 10, 2019. 41 Copyright Notice 43 Copyright (c) 2019 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 60 1.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3 61 2. Acronyms and Abbreviations . . . . . . . . . . . . . . . . . 3 62 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4 63 3.1. TE Types Module Contents . . . . . . . . . . . . . . . . 4 64 3.2. Packet TE Types Module Contents . . . . . . . . . . . . . 7 65 4. TE Types YANG Module . . . . . . . . . . . . . . . . . . . . 8 66 5. Packet TE Types YANG Module . . . . . . . . . . . . . . . . . 69 67 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 78 68 7. Security Considerations . . . . . . . . . . . . . . . . . . . 78 69 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 78 70 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 79 71 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 79 72 10.1. Normative References . . . . . . . . . . . . . . . . . . 79 73 10.2. Informative References . . . . . . . . . . . . . . . . . 80 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 86 76 1. Introduction 78 YANG [RFC6020] and [RFC7950] is a data modeling language used to 79 model configuration data, state data, Remote Procedure Calls, and 80 notifications for network management protocols such as NETCONF 81 [RFC6241]. The YANG language supports a small set of built-in data 82 types and provides mechanisms to derive other types from the built-in 83 types. 85 This document introduces a collection of common data types derived 86 from the built-in YANG data types. The derived types and groupings 87 are designed to be the common types applicable for modeling Traffic 88 Engineering (TE) features in model(s) defined outside of this 89 document. 91 1.1. Terminology 93 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 94 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 95 "OPTIONAL" in this document are to be interpreted as described in BCP 96 14 [RFC2119] [RFC8174] when, and only when, they appear in all 97 capitals, as shown here. 99 The terminology for describing YANG data models is found in 100 [RFC7950]. 102 1.2. Prefixes in Data Node Names 104 In this document, names of data nodes and other data model objects 105 are prefixed using the standard prefix associated with the 106 corresponding YANG imported modules, as shown in Table 1. 108 +-----------------+----------------------+---------------+ 109 | Prefix | YANG module | Reference | 110 +-----------------+----------------------+---------------+ 111 | yang | ietf-yang-types | [RFC6991] | 112 | inet | ietf-inet-types | [RFC6991] | 113 | rt-types | ietf-routing-types | [RFC8294] | 114 | te-types | ietf-te-types | this document | 115 | te-packet-types | ietf-te-packet-types | this document | 116 +-----------------+----------------------+---------------+ 118 Table 1: Prefixes and corresponding YANG modules 120 2. Acronyms and Abbreviations 122 GMPLS: Generalized Multiprotocol Label Switching 124 LSP: Label Switched Path 126 LSR: Label Switching Router 128 LER: Label Edge Router 130 MPLS: Multiprotocol Label Switching 132 RSVP: Resource Reservation Protocol 134 TE: Traffic Engineering 136 DS-TE: Differentiated Services Traffic Engineering 138 SRLG: Shared Link Risk Group 140 3. Overview 142 This document defines two YANG modules for common TE types: ietf-te- 143 types for TE generic types and ietf-te-packet-types for packet 144 specific types. Other technology specific TE types are outside the 145 scope of this document. 147 3.1. TE Types Module Contents 149 The ietf-te-types module contains common TE types that are 150 independent and agnostic of any specific technology or control plane 151 instance. 153 The ietf-te-types module contains the following YANG reusable types 154 and groupings: 156 te-bandwidth: 158 A YANG grouping that defines the generic TE bandwidth. The 159 modeling structure allows augmentation for each technology. For 160 un-specified technologies, the string encoded te-bandwidth type is 161 used. 163 te-label: 165 A YANG grouping that defines the generic TE label. The modeling 166 structure allows augmentation for each technology. For un- 167 specified technologies, rt-types:generalized-label is used. 169 performance-metrics-attributes: 171 A YANG grouping that defines one-way and two-way measured 172 performance metrics and anomalous indication on link(s) or the 173 path as defined in [RFC7471], [RFC8570], and [RFC7823]. 175 performance-metrics-throttle-container: 177 A YANG grouping that defines configurable thresholds for 178 advertisement suppression and measurement intervals. 180 te-ds-class: 182 A type representing the Differentiated-Services (DS) Class-Type of 183 traffic as defined in [RFC4124]. 185 te-label-direction: 187 An enumerated type for specifying the forward or reverse direction 188 of a label. 190 te-hop-type: 192 An enumerated type for specifying hop as loose or strict. 194 te-global-id: 196 A type representing the identifier that uniquely identify an 197 operator, which can be either a provider or a client. The 198 definition of this type is taken from [RFC6370] and [RFC5003]. 199 This attribute type is used solely to provide a globally unique 200 context for TE topologies. 202 te-node-id: 204 A type representing the identifier for a node in a TE topology. 205 The identifier is represented as 32-bit unsigned integer in the 206 dotted-quad notation. This attribute MAY be mapped to the Router 207 Address described in Section 2.4.1 of [RFC3630], the TE Router ID 208 described in Section 3 of [RFC6827], the Traffic Engineering 209 Router ID described in Section 4.3 of [RFC5305], or the TE Router 210 ID described in Section 3.2.1 of [RFC6119]. The reachability of 211 such a TE node MAY be achieved by a mechanism such as Section 6.2 212 of [RFC6827]. 214 te-topology-id: 216 A type representing the identifier for a topology. It is optional 217 to have one or more prefixes at the beginning, separated by 218 colons. The prefixes can be the network-types, defined in ietf- 219 network [RFC8345], to help user to understand the topology better 220 before further inquiry. 222 te-tp-id: 224 A type representing the identifier of a TE interface link 225 termination endpoint (TP) on a specific TE node where the TE link 226 connects. This attribute is mapped to local or remote link 227 identifier in [RFC3630] and [RFC5305]. 229 te-path-disjointness: 231 A type representing the different resource disjointness options 232 for a TE tunnel path as defined in [RFC4872]. 234 admin-groups: 236 A union type for TE link's classic or extended administrative 237 groups as defined in [RFC3630] and [RFC5305]. 239 srlg: 241 A type representing the Shared Risk Link Group (SRLG) as defined 242 in [RFC4203] and [RFC5307]. 244 te-metric: 246 A type representing the TE link metric as defined in [RFC3785]. 248 te-recovery-status: 250 An enumerated type for the different status of a recovery action 251 as defined in [RFC4427] and [RFC6378]. 253 path-attribute-flags: 255 A base YANG identity for supported LSP path flags as defined in 256 [RFC3209], [RFC4090], [RFC4736], [RFC5712], [RFC4920], [RFC5420], 257 [RFC7570], [RFC4875], [RFC5151], [RFC5150], [RFC6001], [RFC6790], 258 [RFC7260], [RFC8001], [RFC8149], and [RFC8169]. 260 link-protection-type: 262 A base YANG identity for supported link protection types as 263 defined in [RFC4872], [RFC4427] 265 restoration-scheme-type: 267 A base YANG identity for supported LSP restoration schemes as 268 defined in [RFC4872]. 270 protection-external-commands: 272 A base YANG identity for supported protection external commands 273 for trouble shooting purposes as defined in [RFC4427]. 275 association-type: 277 A base YANG identity for supported Label Switched Path (LSP) 278 association types as defined in [RFC6780], [RFC4872], [RFC4873]. 280 objective-function-type: 282 A base YANG identity for supported path computation objective 283 functions as defined in [RFC5541]. 285 te-tunnel-type: 287 A base YANG identity for supported TE tunnel types as defined in 288 [RFC3209] and [RFC4875]. 290 lsp-encoding-types: 292 base YANG identity for supported LSP encoding types as defined in 293 [RFC3471]. 295 lsp-protection-type: 297 A base YANG identity for supported LSP protection types as defined 298 in [RFC4872] and [RFC4873]. 300 switching-capabilities: 302 A base YANG identity for supported interface switching 303 capabilities as defined in [RFC3471]. 305 resource-affinities-type: 307 A base YANG identity for supported attribute filters associated 308 with a tunnel that must be satisfied for a link to be acceptable 309 as defined in [RFC2702] and [RFC3209]. 311 path-metric-type: 313 A base YANG identity for supported path metric types as defined in 314 [RFC3785] and [RFC7471]. 316 explicit-route-hop: 318 A YANG grouping that defines supported explicit routes as defined 319 in [RFC3209] and [RFC3477]. 321 te-link-access-type: 323 An enumerated type for the different TE link access types as 324 defined in [RFC3630]. 326 3.2. Packet TE Types Module Contents 328 The ietf-te-packet-types module covers the common types and groupings 329 specific packet technology. 331 The ietf-te-packet-types module contains the following YANG reusable 332 types and groupings: 334 backup-protection-type: 336 A base YANG identity for supported protection types that a backup 337 or bypass tunnel can provide as defined in [RFC4090]. 339 te-class-type: 341 A type that represents the Diffserv-TE class-type as defined in 342 [RFC4124]. 344 bc-type: 346 A type that represents the Diffserv-TE Bandwidth Constraint (BC) 347 as defined in [RFC4124]. 349 bc-model-type: 351 A base YANG identity for supported Diffserv-TE bandwidth 352 constraint models as defined in [RFC4125], [RFC4126] and 353 [RFC4127]. 355 te-bandwidth-requested-type: 357 An enumerated type for the different options to request bandwidth 358 for a specific tunnel. 360 performance-metrics-attributes-packet: 362 A YANG grouping for the augmentation of packet specific metrics to 363 the generic performance metrics grouping parameters. 365 4. TE Types YANG Module 367 The ietf-te-types module imports from the following modules: 369 o ietf-yang-types and ietf-inet-types defined in [RFC6991] 371 o ietf-routing-types defined in [RFC8294] 373 In addition to the references cross-referenced in Section 3.1, this 374 model also references the following RFCs in defining the types and 375 YANG grouping of the YANG module: [RFC3272], [RFC4202], [RFC4328], 376 [RFC4657], [RFC5817], [RFC6004], [RFC6511], [RFC6205], [RFC7139], 377 [RFC7308], [RFC7551], [RFC7571], [RFC7579], [RFC4090], [RFC4561] and 378 [RFC7951]. 380 file "ietf-te-types@2019-04-08.yang" 381 module ietf-te-types { 382 yang-version 1.1; 383 namespace "urn:ietf:params:xml:ns:yang:ietf-te-types"; 385 /* Replace with IANA when assigned */ 386 prefix "te-types"; 388 import ietf-inet-types { 389 prefix inet; 390 reference "RFC6991: Common YANG Data Types"; 391 } 393 import ietf-yang-types { 394 prefix "yang"; 395 reference "RFC6991: Common YANG Data Types"; 396 } 398 import ietf-routing-types { 399 prefix "rt-types"; 400 reference "RFC8294: Common YANG Data Types for the Routing Area"; 401 } 403 organization 404 "IETF Traffic Engineering Architecture and Signaling (TEAS) 405 Working Group"; 407 contact 408 "WG Web: 409 WG List: 411 WG Chair: Lou Berger 412 414 WG Chair: Vishnu Pavan Beeram 415 417 Editor: Tarek Saad 418 420 Editor: Rakesh Gandhi 421 423 Editor: Vishnu Pavan Beeram 424 426 Editor: Himanshu Shah 427 429 Editor: Xufeng Liu 430 432 Editor: Igor Bryskin 433 435 Editor: Young Lee 436 "; 438 description 439 "This module contains a collection of generally useful TE 440 specific YANG data type definitions. The model fully conforms 441 to the Network Management Datastore Architecture (NMDA). 443 Copyright (c) 2018 IETF Trust and the persons 444 identified as authors of the code. All rights reserved. 446 Redistribution and use in source and binary forms, with or 447 without modification, is permitted pursuant to, and subject 448 to the license terms contained in, the Simplified BSD License 449 set forth in Section 4.c of the IETF Trust's Legal Provisions 450 Relating to IETF Documents 451 (https://trustee.ietf.org/license-info). 452 This version of this YANG module is part of RFC XXXX; see 453 the RFC itself for full legal notices."; 455 // RFC Ed.: replace XXXX with actual RFC number and remove this 456 // note. 458 // RFC Ed.: update the date below with the date of RFC publication 459 // and remove this note. 461 revision "2019-04-08" { 462 description "Latest revision of TE types"; 463 reference 464 "RFC XXXX: A YANG Data Model for Common Traffic Engineering 465 Types"; 466 } 468 /** 469 * Typedefs 470 */ 471 typedef admin-group { 472 type yang:hex-string { 473 /* 01:02:03:04 */ 474 length "1..11"; 475 } 476 description 477 "Administrative group/Resource class/Color representation in 478 hex-string type."; 479 reference "RFC3630 and RFC5305"; 480 } 482 typedef admin-groups { 483 type union { 484 type admin-group; 485 type extended-admin-group; 486 } 487 description "TE administrative group derived type"; 488 } 490 typedef extended-admin-group { 491 type yang:hex-string; 492 description 493 "Extended administrative group/Resource class/Color 494 representation in hex-string type"; 495 reference "RFC7308"; 496 } 498 typedef path-attribute-flags { 499 type union { 500 type identityref { 501 base session-attributes-flags; 502 } 503 type identityref { 504 base lsp-attributes-flags; 505 } 506 } 507 description "Path attributes flags type"; 508 } 510 typedef performance-metrics-normality { 511 type enumeration { 512 enum "unknown" { 513 value 0; 514 description 515 "Unknown."; 516 } 517 enum "normal" { 518 value 1; 519 description 520 "Normal."; 521 } 522 enum "abnormal" { 523 value 2; 524 description 525 "Abnormal. The anomalous bit is set."; 527 } 528 } 529 description 530 "Indicates whether a performance metric is normal, abnormal, or 531 unknown."; 532 reference 533 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 534 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 535 RFC7823: Performance-Based Path Selection for Explicitly 536 Routed Label Switched Paths (LSPs) Using TE Metric 537 Extensions"; 538 } 540 typedef srlg { 541 type uint32; 542 description "SRLG type"; 543 reference "RFC4203 and RFC5307"; 544 } 546 typedef te-admin-status { 547 type enumeration { 548 enum up { 549 description 550 "Enabled."; 551 } 552 enum down { 553 description 554 "Disabled."; 555 } 556 enum testing { 557 description 558 "In some test mode."; 559 } 560 enum preparing-maintenance { 561 description 562 "Resource is disabled in the control plane to prepare for 563 graceful shutdown for maintenance purposes."; 564 reference 565 "RFC5817: Graceful Shutdown in MPLS and Generalized MPLS 566 Traffic Engineering Networks"; 567 } 568 enum maintenance { 569 description 570 "Resource is disabled in the data plane for maintenance 571 purposes."; 572 } 573 enum unknown { 574 description 575 "Status is unknown"; 576 } 577 } 578 description 579 "Defines a type representing the administrative status of 580 a TE resource."; 581 } 583 typedef te-bandwidth { 584 type string { 585 pattern 586 '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' 587 + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|' 588 + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+' 589 + '(,(0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' 590 + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|' 591 + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+))*'; 592 } 593 description 594 "This is the generic bandwidth type that is a string containing 595 a list of numbers separated by commas, with each of these 596 number can be non-negative decimal, hex integer, or hex float: 597 (dec | hex | float)[*(','(dec | hex | float))] 598 For packet switching type, a float number is used, such as 599 0x1p10. 600 For OTN switching type, a list of integers can be used, such 601 as '0,2,3,1', indicating 2 odu0's and 1 odu3. 602 For DWDM, a list of pairs of slot number and width can be 603 used, such as '0, 2, 3, 3', indicating a frequency slot 0 with 604 slot width 2 and a frequency slot 3 with slot width 3. 605 Canonically, the string is represented as all lowercase and in 606 hex where the prefix '0x' precedes the hex number"; 607 } // te-bandwidth 609 typedef te-ds-class { 610 type uint8 { 611 range "0..7"; 612 } 613 description 614 "The Differentiated Class-Type of traffic."; 615 reference "RFC4124: section-4.3.1"; 616 } 618 typedef te-global-id { 619 type uint32; 620 description 621 "An identifier to uniquely identify an operator, which can be 622 either a provider or a client. 624 The definition of this type is taken from RFC6370 and RFC5003. 625 This attribute type is used solely to provide a globally 626 unique context for TE topologies."; 627 } 629 typedef te-hop-type { 630 type enumeration { 631 enum loose { 632 description 633 "loose hop in an explicit path"; 634 } 635 enum strict { 636 description 637 "strict hop in an explicit path"; 638 } 639 } 640 description 641 "enumerated type for specifying loose or strict 642 paths"; 643 reference "RFC3209: section-4.3.2"; 644 } 646 typedef te-link-access-type { 647 type enumeration { 648 enum point-to-point { 649 description 650 "The link is point-to-point."; 651 } 652 enum multi-access { 653 description 654 "The link is multi-access, including broadcast and NBMA."; 655 } 656 } 657 description 658 "Defines a type representing the access type of a TE link."; 659 reference 660 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 661 Version 2."; 662 } 664 typedef te-label-direction { 665 type enumeration { 666 enum forward { 667 description 668 "Label allocated for the forward LSP direction"; 669 } 670 enum reverse { 671 description 672 "Label allocated for the reverse LSP direction"; 673 } 674 } 675 description 676 "enumerated type for specifying the forward or reverse 677 label"; 678 } 680 typedef te-link-direction { 681 type enumeration { 682 enum incoming { 683 description 684 "explicit route represents an incoming link on a node"; 685 } 686 enum outgoing { 687 description 688 "explicit route represents an outgoing link on a node"; 689 } 690 } 691 description 692 "enumerated type for specifying direction of link on a node"; 693 } 695 typedef te-metric { 696 type uint32; 697 description "TE link metric"; 698 reference "RFC3785"; 699 } 701 typedef te-node-id { 702 type yang:dotted-quad; 703 description 704 "A type representing the identifier for a node in a TE 705 topology. 706 The identifier is represented as 32-bit unsigned integer in 707 the dotted-quad notation. 708 This attribute MAY be mapped to the Router Address described 709 in Section 2.4.1 of [RFC3630], the TE Router ID described in 710 Section 3 of [RFC6827], the Traffic Engineering Router ID 711 described in Section 4.3 of [RFC5305], or the TE Router ID 712 described in Section 3.2.1 of [RFC6119]. 713 The reachability of such a TE node MAY be achieved by a 714 mechanism such as Section 6.2 of [RFC6827]."; 715 } 717 typedef te-oper-status { 718 type enumeration { 719 enum up { 720 description 721 "Operational up."; 722 } 723 enum down { 724 description 725 "Operational down."; 726 } 727 enum testing { 728 description 729 "In some test mode."; 730 } 731 enum unknown { 732 description 733 "Status cannot be determined for some reason."; 734 } 735 enum preparing-maintenance { 736 description 737 "Resource is disabled in the control plane to prepare for 738 graceful shutdown for maintenance purposes."; 739 reference 740 "RFC5817: Graceful Shutdown in MPLS and Generalized MPLS 741 Traffic Engineering Networks"; 742 } 743 enum maintenance { 744 description 745 "Resource is disabled in the data plane for maintenance 746 purposes."; 747 } 748 } 749 description 750 "Defines a type representing the operational status of 751 a TE resource."; 752 } 754 typedef te-path-disjointness { 755 type bits { 756 bit node { 757 position 0; 758 description "Node disjoint."; 759 } 760 bit link { 761 position 1; 762 description "Link disjoint."; 763 } 764 bit srlg { 765 position 2; 766 description "SRLG (Shared Risk Link Group) disjoint."; 767 } 769 } 770 description 771 "Type of the resource disjointness for a TE tunnel path."; 772 reference 773 "RFC4872: RSVP-TE Extensions in Support of End-to-End 774 Generalized Multi-Protocol Label Switching (GMPLS) 775 Recovery"; 776 } // te-path-disjointness 778 typedef te-recovery-status { 779 type enumeration { 780 enum normal { 781 description 782 "Both the recovery and working spans are fully 783 allocated and active, data traffic is being 784 transported over (or selected from) the working 785 span, and no trigger events are reported."; 786 } 787 enum recovery-started { 788 description 789 "The recovery action has been started, but not completed."; 790 } 791 enum recovery-succeeded { 792 description 793 "The recovery action has succeeded. The working span has 794 reported a failure/degrade condition and the user traffic 795 is being transported (or selected) on the recovery span."; 796 } 797 enum recovery-failed { 798 description 799 "The recovery action has failed."; 800 } 801 enum reversion-started { 802 description 803 "The reversion has started."; 804 } 805 enum reversion-succeeded { 806 description 807 "The reversion action has succeeded."; 808 } 809 enum reversion-failed { 810 description 811 "The reversion has failed."; 812 } 813 enum recovery-unavailable { 814 description 815 "The recovery is unavailable -- either as a result of an 816 operator Lockout command or a failure condition detected 817 on the recovery span."; 818 } 819 enum recovery-admin { 820 description 821 "The operator has issued a command switching the user 822 traffic to the recovery span."; 823 } 824 enum wait-to-restore { 825 description 826 "The recovery domain is recovering from a failure/degrade 827 condition on the working span that is being controlled by 828 the Wait-to-Restore (WTR) timer."; 829 } 830 } 831 description 832 "Defines the status of a recovery action."; 833 reference 834 "RFC4427: Recovery (Protection and Restoration) Terminology 835 for Generalized Multi-Protocol Label Switching (GMPLS). 836 RFC6378: MPLS Transport Profile (MPLS-TP) Linear Protection"; 837 } 839 typedef te-template-name { 840 type string { 841 pattern '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*'; 842 } 843 description 844 "A type for the name of a TE node template or TE link 845 template."; 846 } 848 typedef te-topology-event-type { 849 type enumeration { 850 enum "add" { 851 value 0; 852 description 853 "A TE node or te-link has been added."; 854 } 855 enum "remove" { 856 value 1; 857 description 858 "A TE node or te-link has been removed."; 859 } 860 enum "update" { 861 value 2; 862 description 863 "A TE node or te-link has been updated."; 864 } 866 } 867 description "TE Event type for notifications"; 868 } // te-topology-event-type 870 typedef te-topology-id { 871 type union { 872 type string { 873 length 0; // empty string 874 } 875 type string { 876 pattern 877 '([a-zA-Z0-9\-_.]+:)*' 878 + '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*'; 879 } 880 } 881 description 882 "An identifier for a topology. 883 It is optional to have one or more prefixes at the beginning, 884 separated by colons. The prefixes can be the network-types, 885 defined in ietf-network.yang, to help user to understand the 886 topology better before further inquiry."; 887 reference "RFC8345"; 888 } 890 typedef te-tp-id { 891 type union { 892 type uint32; // Unnumbered 893 type inet:ip-address; // IPv4 or IPv6 address 894 } 895 description 896 "An identifier for a TE link endpoint on a node. 897 This attribute is mapped to local or remote link identifier in 898 RFC3630 and RFC5305."; 899 } 901 /* TE features */ 902 feature p2mp-te { 903 description 904 "Indicates support for P2MP-TE"; 905 reference "RFC4875"; 906 } 908 feature frr-te { 909 description 910 "Indicates support for TE FastReroute (FRR)"; 911 reference "RFC4090"; 912 } 913 feature extended-admin-groups { 914 description 915 "Indicates support for TE link extended admin 916 groups."; 917 reference "RFC7308"; 918 } 920 feature named-path-affinities { 921 description 922 "Indicates support for named path affinities"; 923 } 925 feature named-extended-admin-groups { 926 description 927 "Indicates support for named extended admin groups"; 928 } 930 feature named-srlg-groups { 931 description 932 "Indicates support for named SRLG groups"; 933 } 935 feature named-path-constraints { 936 description 937 "Indicates support for named path constraints"; 938 } 940 feature path-optimization-metric { 941 description 942 "Indicates support for path optimization metric"; 943 } 945 feature path-optimization-objective-function { 946 description 947 "Indicates support for path optimization objective function"; 948 } 950 /* 951 * Identities 952 */ 953 identity session-attributes-flags { 954 description 955 "Base identity for the RSVP-TE session attributes flags"; 956 } 957 identity local-protection-desired { 958 base session-attributes-flags; 959 description "Fastreroute local protection is desired."; 960 reference "RFC3209"; 962 } 963 identity se-style-desired { 964 description 965 "Shared explicit style to allow the LSP to be 966 established sharing resources with the old LSP."; 967 reference "RFC3209"; 968 } 969 identity local-recording-desired { 970 description "Local recording desired"; 971 reference "RFC3209"; 972 } 973 identity bandwidth-protection-desired { 974 base session-attributes-flags; 975 description 976 "Request FRR bandwidth protection on LSRs if 977 present."; 978 reference "RFC4090"; 979 } 980 identity node-protection-desired { 981 base session-attributes-flags; 982 description 983 "Request FRR node protection on LSRs if 984 present."; 985 reference "RFC4090"; 986 } 987 identity path-reevaluation-request { 988 base session-attributes-flags; 989 description 990 "This flag indicates that a path re-evaluation (of the 991 current path in use) is requested. Note that this does 992 not trigger any LSP Reroute but instead just signals a 993 request to evaluate whether a preferable path exists."; 994 reference "RFC4736"; 995 } 996 identity soft-preemption-desired { 997 base session-attributes-flags; 998 description 999 "Soft-preemption of LSP resources is desired"; 1000 reference "RFC5712"; 1001 } 1003 identity lsp-attributes-flags { 1004 description "Base identity for per hop attribute flags"; 1005 } 1006 identity end-to-end-rerouting-desired { 1007 base lsp-attributes-flags; 1008 description 1009 "Indicates end-to-end re-routing behavior for an 1010 LSP under establishment. This MAY also be used for 1011 specifying the behavior of end-to-end LSP recovery for 1012 established LSPs."; 1013 reference "RFC4920, RFC5420, RFC7570"; 1014 } 1015 identity boundary-rerouting-desired { 1016 base lsp-attributes-flags; 1017 description 1018 "Indicates boundary re-routing behavior for an LSP under 1019 establishment. This MAY also be used for specifying the 1020 segment-based LSP recovery through nested crankback for 1021 established LSPs. The boundary ABR/ASBR can either decide 1022 to forward the PathErr message upstream to an upstream boundary 1023 ABR/ASBR or to the ingress LSR. 1024 Alternatively, it can try to select another egress boundary 1025 LSR."; 1026 reference "RFC4920, RFC5420, RFC7570"; 1027 } 1028 identity segment-based-rerouting-desired { 1029 base lsp-attributes-flags; 1030 description 1031 "Indicates segment-based re-routing behavior for an LSP under 1032 establishment. This MAY also be used to specify the segment- 1033 based LSP recovery for established LSPs."; 1034 reference "RFC4920, RFC5420, RFC7570"; 1035 } 1036 identity lsp-integrity-required { 1037 base lsp-attributes-flags; 1038 description "Indicates LSP integrity is required"; 1039 reference "RFC4875, RFC7570"; 1041 } 1042 identity contiguous-lsp-desired { 1043 base lsp-attributes-flags; 1044 description "Indicates contiguous LSP is desired"; 1045 reference "RFC5151, RFC7570"; 1046 } 1047 identity lsp-stitching-desired { 1048 base lsp-attributes-flags; 1049 description "Indicates LSP stitching is desired"; 1050 reference "RFC5150, RFC7570"; 1051 } 1052 identity pre-planned-lsp-flag { 1053 base lsp-attributes-flags; 1054 description 1055 "Indicates the LSP MUST be provisioned in the 1056 control plane only."; 1057 reference "RFC6001, RFC7570"; 1059 } 1060 identity non-php-behavior-flag { 1061 base lsp-attributes-flags; 1062 description 1063 "Indicates non-php behavior for the LSP is desired"; 1064 reference "RFC6511, RFC7570"; 1065 } 1066 identity oob-mapping-flag { 1067 base lsp-attributes-flags; 1068 description 1069 "Indicates signaling of the egress binding information 1070 is out-of-band , (e.g., via Border Gateway Protocol (BGP))"; 1071 reference "RFC6511, RFC7570"; 1072 } 1073 identity entropy-label-capability { 1074 base lsp-attributes-flags; 1075 description "Indicates entropy label capability"; 1076 reference "RFC6790, RFC7570"; 1077 } 1078 identity oam-mep-entity-desired { 1079 base lsp-attributes-flags; 1080 description "OAM MEP entities desired"; 1081 reference "RFC7260"; 1082 } 1083 identity oam-mip-entity-desired { 1084 base lsp-attributes-flags; 1085 description "OAM MIP entities desired"; 1086 reference "RFC7260"; 1087 } 1088 identity srlg-collection-desired { 1089 base lsp-attributes-flags; 1090 description "SRLG collection desired"; 1091 reference "RFC8001, RFC7570"; 1092 } 1093 identity loopback-desired { 1094 base lsp-attributes-flags; 1095 description 1096 "This flag indicates a particular node on the LSP is 1097 required to enter loopback mode. This can also be 1098 used for specifying the loopback state of the node."; 1099 reference "RFC7571"; 1100 } 1101 identity p2mp-te-tree-eval-request { 1102 base lsp-attributes-flags; 1103 description "P2MP-TE tree re-evaluation request"; 1104 reference "RFC8149"; 1105 } 1106 identity rtm-set-desired { 1107 base lsp-attributes-flags; 1108 description 1109 "Residence Time Measurement (RTM) attribute flag"; 1110 reference "RFC8169"; 1111 } 1113 identity link-protection-type { 1114 description "Base identity for link protection type."; 1115 } 1116 identity link-protection-unprotected { 1117 base link-protection-type; 1118 description "Unprotected link type"; 1119 reference "RFC4872"; 1120 } 1121 identity link-protection-extra-traffic { 1122 base link-protection-type; 1123 description "Extra-traffic protected link type"; 1124 reference "RFC4427."; 1125 } 1126 identity link-protection-shared { 1127 base link-protection-type; 1128 description "Shared protected link type"; 1129 reference "RFC4872"; 1130 } 1131 identity link-protection-1-for-1 { 1132 base link-protection-type; 1133 description "One for one protected link type"; 1134 reference "RFC4872"; 1135 } 1136 identity link-protection-1-plus-1 { 1137 base link-protection-type; 1138 description "One plus one protected link type"; 1139 reference "RFC4872"; 1140 } 1141 identity link-protection-enhanced { 1142 base link-protection-type; 1143 description "Enhanced protection protected link type"; 1144 reference "RFC4872"; 1145 } 1147 identity association-type { 1148 description "Base identity for tunnel association"; 1149 } 1150 identity association-type-recovery { 1151 base association-type; 1152 description 1153 "Association Type Recovery used to association LSPs of 1154 same tunnel for recovery"; 1156 reference "RFC6780, RFC4872"; 1157 } 1158 identity association-type-resource-sharing { 1159 base association-type; 1160 description 1161 "Association Type Resource Sharing used to enable resource 1162 sharing during make-before-break."; 1163 reference "RFC6780, RFC4873"; 1164 } 1165 identity association-type-double-sided-bidir { 1166 base association-type; 1167 description 1168 "Association Type Double Sided bidirectional used to associate 1169 two LSPs of two tunnels that are independently configured on 1170 either endpoint"; 1171 reference "RFC7551"; 1172 } 1173 identity association-type-single-sided-bidir { 1174 base association-type; 1175 description 1176 "Association Type Single Sided bidirectional used to associate 1177 two LSPs of two tunnels, where a tunnel is configured on one 1178 side/endpoint, and the other tunnel is dynamically created on 1179 the other endpoint"; 1180 reference "RFC6780,RFC7551"; 1181 } 1183 identity objective-function-type { 1184 description "Base objective function type"; 1185 } 1186 identity of-minimize-cost-path { 1187 base objective-function-type; 1188 description 1189 "Minimize cost of path objective function"; 1190 reference "RFC5541"; 1191 } 1192 identity of-minimize-load-path { 1193 base objective-function-type; 1194 description 1195 "Minimize the load on path(s) objective 1196 function"; 1197 reference "RFC5541"; 1198 } 1199 identity of-maximize-residual-bandwidth { 1200 base objective-function-type; 1201 description 1202 "Maximize the residual bandwidth objective 1203 function"; 1205 reference "RFC5541"; 1206 } 1207 identity of-minimize-agg-bandwidth-consumption { 1208 base objective-function-type; 1209 description 1210 "minimize the aggregate bandwidth consumption 1211 objective function"; 1212 reference "RFC5541"; 1213 } 1214 identity of-minimize-load-most-loaded-link { 1215 base objective-function-type; 1216 description 1217 "Minimize the load on the most loaded link 1218 objective function"; 1219 reference "RFC5541"; 1220 } 1221 identity of-minimize-cost-path-set { 1222 base objective-function-type; 1223 description 1224 "Minimize the cost on a path set objective 1225 function"; 1226 reference "RFC5541"; 1227 } 1229 identity path-computation-method { 1230 description 1231 "base identity for supported path computation 1232 mechanisms"; 1233 } 1234 identity path-locally-computed { 1235 base path-computation-method; 1236 description 1237 "indicates a constrained-path LSP in which the 1238 path is computed by the local LER"; 1239 reference "RFC3209"; 1240 } 1241 identity path-externally-queried { 1242 base path-computation-method; 1243 description 1244 "Constrained-path LSP in which the path is 1245 obtained by querying an external source, such as a PCE server. 1246 In the case that an LSP is defined to be externally queried, it 1247 may also have associated explicit definitions (provided 1248 to the external source to aid computation); and the path that is 1249 returned by the external source is not required to provide a 1250 wholly resolved path back to the originating system - that is to 1251 say, some local computation may also be required"; 1252 reference "RFC4657"; 1254 } 1255 identity path-explicitly-defined { 1256 base path-computation-method; 1257 description 1258 "constrained-path LSP in which the path is 1259 explicitly specified as a collection of strict or/and loose 1260 hops"; 1261 reference "RFC3209"; 1262 } 1264 identity lsp-metric-type { 1265 description 1266 "Base identity for types of LSP metric specification"; 1267 } 1268 identity lsp-metric-relative { 1269 base lsp-metric-type; 1270 description 1271 "The metric specified for the LSPs to which this identity refers 1272 is specified as a relative value to the IGP metric cost to the 1273 LSP's tail-end."; 1274 reference "RFC4657"; 1275 } 1276 identity lsp-metric-absolute { 1277 base lsp-metric-type; 1278 description 1279 "The metric specified for the LSPs to which this identity refers 1280 is specified as an absolute value"; 1281 reference "RFC4657"; 1282 } 1283 identity lsp-metric-inherited { 1284 base lsp-metric-type; 1285 description 1286 "The metric for the LSPs to which this identity refers is 1287 not specified explicitly - but rather inherited from the IGP 1288 cost directly"; 1289 reference "RFC4657"; 1290 } 1292 identity te-tunnel-type { 1293 description 1294 "Base identity from which specific tunnel types are 1295 derived."; 1296 } 1297 identity te-tunnel-p2p { 1298 base te-tunnel-type; 1299 description 1300 "TE point-to-point tunnel type."; 1301 reference "RFC3209"; 1303 } 1304 identity te-tunnel-p2mp { 1305 base te-tunnel-type; 1306 description 1307 "TE point-to-multipoint tunnel type."; 1308 reference "RFC4875"; 1309 } 1311 identity tunnel-action-type { 1312 description 1313 "Base identity from which specific tunnel action types 1314 are derived."; 1315 } 1316 identity tunnel-action-resetup { 1317 base tunnel-action-type; 1318 description 1319 "TE tunnel action resetup. Tears the 1320 tunnel's current LSP (if any) and 1321 attempts to re-establish a new LSP"; 1322 } 1323 identity tunnel-action-reoptimize { 1324 base tunnel-action-type; 1325 description 1326 "TE tunnel action reoptimize. 1327 Reoptimizes placement of the tunnel LSP(s)"; 1328 } 1329 identity tunnel-action-switchpath { 1330 base tunnel-action-type; 1331 description 1332 "TE tunnel action switchpath 1333 Switches the tunnel's LSP to use the specified path"; 1334 } 1336 identity te-action-result { 1337 description 1338 "Base identity from which specific TE action results 1339 are derived."; 1340 } 1341 identity te-action-success { 1342 base te-action-result; 1343 description "TE action successful."; 1344 } 1345 identity te-action-fail { 1346 base te-action-result; 1347 description "TE action failed."; 1348 } 1349 identity tunnel-action-inprogress { 1350 base te-action-result; 1351 description "TE action inprogress."; 1352 } 1354 identity tunnel-admin-state-type { 1355 description 1356 "Base identity for TE tunnel admin states"; 1357 } 1358 identity tunnel-admin-state-up { 1359 base tunnel-admin-state-type; 1360 description "Tunnel administratively state up"; 1361 } 1362 identity tunnel-admin-state-down { 1363 base tunnel-admin-state-type; 1364 description "Tunnel administratively state down"; 1365 } 1367 identity tunnel-state-type { 1368 description 1369 "Base identity for TE tunnel states"; 1370 } 1371 identity tunnel-state-up { 1372 base tunnel-state-type; 1373 description "Tunnel state up"; 1374 } 1375 identity tunnel-state-down { 1376 base tunnel-state-type; 1377 description "Tunnel state down"; 1378 } 1380 identity lsp-state-type { 1381 description 1382 "Base identity for TE LSP states"; 1383 } 1384 identity lsp-path-computing { 1385 base lsp-state-type; 1386 description 1387 "State path compute in progress"; 1388 } 1389 identity lsp-path-computation-ok { 1390 base lsp-state-type; 1391 description 1392 "State path compute successful"; 1393 } 1394 identity lsp-path-computation-failed { 1395 base lsp-state-type; 1396 description 1397 "State path compute failed"; 1398 } 1399 identity lsp-state-setting-up { 1400 base lsp-state-type; 1401 description 1402 "State setting up"; 1403 } 1404 identity lsp-state-setup-ok { 1405 base lsp-state-type; 1406 description 1407 "State setup successful"; 1408 } 1409 identity lsp-state-setup-failed { 1410 base lsp-state-type; 1411 description 1412 "State setup failed"; 1413 } 1414 identity lsp-state-up { 1415 base lsp-state-type; 1416 description "State up"; 1417 } 1418 identity lsp-state-tearing-down { 1419 base lsp-state-type; 1420 description 1421 "State tearing down"; 1422 } 1423 identity lsp-state-down { 1424 base lsp-state-type; 1425 description "State down"; 1426 } 1428 identity path-invalidation-action-type { 1429 description 1430 "Base identity for TE path invalidation action types"; 1431 } 1432 identity path-invalidation-action-drop-type { 1433 base path-invalidation-action-type; 1434 description 1435 "TE path invalidation action drop"; 1436 } 1437 identity path-invalidation-action-drop-tear { 1438 base path-invalidation-action-type; 1439 description 1440 "TE path invalidation action tear"; 1441 } 1443 identity lsp-restoration-type { 1444 description 1445 "Base identity from which LSP restoration types are 1446 derived."; 1448 } 1449 identity lsp-restoration-restore-any { 1450 base lsp-restoration-type; 1451 description 1452 "Restores when any of the LSPs is affected by a failure"; 1453 } 1454 identity lsp-restoration-restore-all { 1455 base lsp-restoration-type; 1456 description 1457 "Restores when all the tunnel LSPs are affected by failure"; 1458 } 1460 identity restoration-scheme-type { 1461 description 1462 "Base identity for LSP restoration schemes"; 1463 } 1464 identity restoration-scheme-preconfigured { 1465 base restoration-scheme-type; 1466 description 1467 "Restoration LSP is preconfigured prior to the failure"; 1468 reference "RFC4427"; 1469 } 1470 identity restoration-scheme-precomputed { 1471 base restoration-scheme-type; 1472 description 1473 "Restoration LSP is precomputed prior to the failure"; 1474 reference "RFC4427"; 1475 } 1476 identity restoration-scheme-presignaled { 1477 base restoration-scheme-type; 1478 description 1479 "Restoration LSP is presignaled prior to the failure"; 1480 reference "RFC4427"; 1481 } 1483 identity lsp-protection-type { 1484 description 1485 "Base identity from which LSP protection types are 1486 derived."; 1487 reference "RFC4872"; 1488 } 1489 identity lsp-protection-unprotected { 1490 base lsp-protection-type; 1491 description 1492 "LSP protection 'Unprotected'"; 1493 reference "RFC4872"; 1494 } 1495 identity lsp-protection-reroute-extra { 1496 base lsp-protection-type; 1497 description 1498 "LSP protection '(Full) Rerouting'"; 1499 reference "RFC4872"; 1500 } 1501 identity lsp-protection-reroute { 1502 base lsp-protection-type; 1503 description 1504 "LSP protection 'Rerouting without Extra-Traffic'"; 1505 reference "RFC4872"; 1506 } 1507 identity lsp-protection-1-for-n { 1508 base lsp-protection-type; 1509 description 1510 "LSP protection '1:N Protection with Extra-Traffic'"; 1511 reference "RFC4872"; 1512 } 1513 identity lsp-protection-unidir-1-for-1 { 1514 base lsp-protection-type; 1515 description 1516 "LSP protection '1:1 Unidirectional Protection'"; 1517 reference "RFC4872"; 1518 } 1519 identity lsp-protection-bidir-1-for-1 { 1520 base lsp-protection-type; 1521 description 1522 "LSP protection '1:1 Bidirectional Protection'"; 1523 reference "RFC4872"; 1524 } 1525 identity lsp-protection-unidir-1-plus-1 { 1526 base lsp-protection-type; 1527 description 1528 "LSP protection '1+1 Unidirectional Protection'"; 1529 reference "RFC4872"; 1530 } 1531 identity lsp-protection-bidir-1-plus-1 { 1532 base lsp-protection-type; 1533 description 1534 "LSP protection '1+1 Bidirectional Protection'"; 1535 reference "RFC4872"; 1536 } 1537 identity lsp-protection-extra-traffic { 1538 base lsp-protection-type; 1539 description 1540 "LSP protection 'Extra-Traffic'"; 1541 reference 1542 "RFC4427."; 1543 } 1544 identity lsp-protection-state { 1545 description 1546 "Base identity of protection states for reporting 1547 purposes."; 1548 } 1549 identity normal { 1550 base lsp-protection-state; 1551 description "Normal state."; 1552 } 1553 identity signal-fail-of-protection { 1554 base lsp-protection-state; 1555 description 1556 "There is a SF condition on the protection transport 1557 entity which has higher priority than the FS command."; 1558 reference 1559 "RFC4427"; 1560 } 1561 identity lockout-of-protection { 1562 base lsp-protection-state; 1563 description 1564 "A Loss of Protection (LoP) command is active."; 1565 reference 1566 "RFC4427"; 1567 } 1568 identity forced-switch { 1569 base lsp-protection-state; 1570 description 1571 "A forced switch (FS) command is active."; 1572 reference 1573 "RFC4427"; 1574 } 1575 identity signal-fail { 1576 base lsp-protection-state; 1577 description 1578 "There is a SF condition on either the working 1579 or the protection path."; 1580 reference 1581 "RFC4427"; 1582 } 1583 identity signal-degrade { 1584 base lsp-protection-state; 1585 description 1586 "There is an SD condition on either the working or the 1587 protection path."; 1588 reference 1589 "RFC4427"; 1590 } 1591 identity manual-switch { 1592 base lsp-protection-state; 1593 description 1594 "A manual switch (MS) command is active."; 1595 reference 1596 "RFC4427"; 1597 } 1598 identity wait-to-restore { 1599 base lsp-protection-state; 1600 description 1601 "A wait time to restore (WTR) is running."; 1602 reference 1603 "RFC4427"; 1604 } 1605 identity do-not-revert { 1606 base lsp-protection-state; 1607 description 1608 "A DNR condition is active because of a non-revertive 1609 behavior."; 1610 reference 1611 "RFC4427"; 1612 } 1613 identity failure-of-protocol { 1614 base lsp-protection-state; 1615 description 1616 "The protection is not working because of a failure of 1617 protocol condition."; 1618 reference 1619 "RFC4427"; 1620 } 1622 identity protection-external-commands { 1623 description 1624 "Base identity from which protection external commands 1625 for trouble shooting purposes are derived."; 1626 } 1627 identity action-freeze { 1628 base protection-external-commands; 1629 description 1630 "A temporary configuration action initiated by an operator 1631 command to prevent any switch action to be taken and as such 1632 freezes the current state."; 1633 reference 1634 "RFC4427"; 1635 } 1636 identity clear-freeze { 1637 base protection-external-commands; 1638 description 1639 "An action that clears the active freeze state."; 1641 reference 1642 "RFC4427"; 1643 } 1644 identity action-lockout-of-normal { 1645 base protection-external-commands; 1646 description 1647 "A temporary configuration action initiated by an operator 1648 command to ensure that the normal traffic is not allowed 1649 to use the protection transport entity."; 1650 reference 1651 "RFC4427"; 1652 } 1653 identity clear-lockout-of-normal { 1654 base protection-external-commands; 1655 description 1656 "An action that clears the active lockout of normal state."; 1657 reference 1658 "RFC4427"; 1659 } 1660 identity action-lockout-of-protection { 1661 base protection-external-commands; 1662 description 1663 "A temporary configuration action initiated by an operator 1664 command to ensure that the protection transport entity is 1665 temporarily not available to transport a traffic signal 1666 (either normal or extra traffic)."; 1667 reference 1668 "RFC4427"; 1669 } 1670 identity action-forced-switch { 1671 base protection-external-commands; 1672 description 1673 "A switch action initiated by an operator command to switch 1674 the extra traffic signal, the normal traffic signal, or the 1675 null signal to the protection transport entity, unless an 1676 equal or higher priority switch command is in effect."; 1677 reference 1678 "RFC4427"; 1679 } 1680 identity action-manual-switch { 1681 base protection-external-commands; 1682 description 1683 "A switch action initiated by an operator command to switch 1684 the extra traffic signal, the normal traffic signal, or 1685 the null signal to the protection transport entity, unless 1686 a fault condition exists on other transport entities or an 1687 equal or higher priority switch command is in effect."; 1688 reference 1689 "RFC4427"; 1690 } 1691 identity action-exercise { 1692 base protection-external-commands; 1693 description 1694 "An action to start testing if the APS communication is 1695 operating correctly. It is lower priority than any other 1696 state or command."; 1697 reference 1698 "RFC4427"; 1699 } 1700 identity clear { 1701 base protection-external-commands; 1702 description 1703 "An action that clears the active near-end lockout of 1704 protection, forced switch, manual switch, WTR state, 1705 or exercise command."; 1706 reference 1707 "RFC4427"; 1708 } 1710 identity switching-capabilities { 1711 description 1712 "Base identity for interface switching capabilities"; 1713 reference "RFC3471"; 1714 } 1715 identity switching-psc1 { 1716 base switching-capabilities; 1717 description 1718 "Packet-Switch Capable-1 (PSC-1)"; 1719 reference "RFC3471"; 1720 } 1721 identity switching-evpl { 1722 base switching-capabilities; 1723 description 1724 "Ethernet Virtual Private Line (EVPL)"; 1725 reference "RFC6004"; 1726 } 1727 identity switching-l2sc { 1728 base switching-capabilities; 1729 description 1730 "Layer-2 Switch Capable (L2SC)"; 1731 reference "RFC3471"; 1732 } 1733 identity switching-tdm { 1734 base switching-capabilities; 1735 description 1736 "Time-Division-Multiplex Capable (TDM)"; 1738 reference "RFC3471"; 1739 } 1740 identity switching-otn { 1741 base switching-capabilities; 1742 description 1743 "OTN-TDM capable"; 1744 reference "RFC7138"; 1745 } 1746 identity switching-dcsc { 1747 base switching-capabilities; 1748 description 1749 "Data Channel Switching Capable (DCSC)"; 1750 reference "RFC6002"; 1751 } 1752 identity switching-lsc { 1753 base switching-capabilities; 1754 description 1755 "Lambda-Switch Capable (LSC)"; 1756 reference "RFC3471"; 1757 } 1758 identity switching-fsc { 1759 base switching-capabilities; 1760 description 1761 "Fiber-Switch Capable (FSC)"; 1762 reference "RFC3471"; 1763 } 1765 identity lsp-encoding-types { 1766 description 1767 "Base identity for encoding types"; 1768 reference "RFC3471"; 1769 } 1770 identity lsp-encoding-packet { 1771 base lsp-encoding-types; 1772 description 1773 "Packet LSP encoding"; 1774 reference "RFC3471"; 1775 } 1776 identity lsp-encoding-ethernet { 1777 base lsp-encoding-types; 1778 description 1779 "Ethernet LSP encoding"; 1780 reference "RFC3471"; 1781 } 1782 identity lsp-encoding-pdh { 1783 base lsp-encoding-types; 1784 description 1785 "ANSI/ETSI LSP encoding"; 1787 reference "RFC3471"; 1788 } 1789 identity lsp-encoding-sdh { 1790 base lsp-encoding-types; 1791 description 1792 "SDH ITU-T G.707 / SONET ANSI T1.105 LSP encoding"; 1793 reference "RFC3471"; 1794 } 1795 identity lsp-encoding-digital-wrapper { 1796 base lsp-encoding-types; 1797 description 1798 "Digital Wrapper LSP encoding"; 1799 reference "RFC3471"; 1800 } 1801 identity lsp-encoding-lambda { 1802 base lsp-encoding-types; 1803 description 1804 "Lambda (photonic) LSP encoding"; 1805 reference "RFC3471"; 1806 } 1807 identity lsp-encoding-fiber { 1808 base lsp-encoding-types; 1809 description 1810 "Fiber LSP encoding"; 1811 reference "RFC3471"; 1812 } 1813 identity lsp-encoding-fiber-channel { 1814 base lsp-encoding-types; 1815 description 1816 "Fiber Channel LSP encoding"; 1817 reference "RFC3471"; 1818 } 1819 identity lsp-encoding-oduk { 1820 base lsp-encoding-types; 1821 description 1822 "G.709 ODUk (Digital Path) LSP encoding"; 1823 reference "RFC4328"; 1824 } 1825 identity lsp-encoding-optical-channel { 1826 base lsp-encoding-types; 1827 description 1828 "G.709 Optical Channel LSP encoding"; 1829 reference "RFC4328"; 1830 } 1831 identity lsp-encoding-line { 1832 base lsp-encoding-types; 1833 description 1834 "Line (e.g., 8B/10B) LSP encoding"; 1835 reference "RFC6004"; 1836 } 1838 identity path-signaling-type { 1839 description 1840 "base identity from which specific LSPs path 1841 setup types are derived"; 1842 } 1843 identity path-setup-static { 1844 base path-signaling-type; 1845 description 1846 "Static LSP provisioning path setup"; 1847 } 1848 identity path-setup-rsvp { 1849 base path-signaling-type; 1850 description 1851 "RSVP-TE signaling path setup"; 1852 reference "RFC3209"; 1853 } 1854 identity path-setup-sr { 1855 base path-signaling-type; 1856 description 1857 "Segment-routing path setup"; 1858 } 1860 identity path-scope-type { 1861 description 1862 "base identity from which specific path 1863 scope types are derived"; 1864 } 1865 identity path-scope-segment { 1866 base path-scope-type; 1867 description 1868 "Path scope segment"; 1869 reference "RFC4873"; 1870 } 1871 identity path-scope-end-to-end { 1872 base path-scope-type; 1873 description 1874 "Path scope end to end"; 1875 reference "RFC4873"; 1876 } 1878 identity route-usage-type { 1879 description 1880 "Base identity for route usage"; 1881 } 1882 identity route-include-object { 1883 base route-usage-type; 1884 description 1885 "Include route object"; 1886 } 1887 identity route-exclude-object { 1888 base route-usage-type; 1889 description 1890 "Exclude route object"; 1891 reference "RFC4874"; 1892 } 1893 identity route-exclude-srlg { 1894 base route-usage-type; 1895 description "Exclude SRLG"; 1896 reference "RFC4874"; 1897 } 1899 identity path-metric-type { 1900 description 1901 "Base identity for path metric type"; 1902 } 1903 identity path-metric-te { 1904 base path-metric-type; 1905 description 1906 "TE path metric"; 1907 reference "RFC3785"; 1908 } 1909 identity path-metric-igp { 1910 base path-metric-type; 1911 description 1912 "IGP path metric"; 1913 reference "RFC3785"; 1914 } 1915 identity path-metric-hop { 1916 base path-metric-type; 1917 description 1918 "Hop path metric"; 1919 } 1920 identity path-metric-delay-average { 1921 base path-metric-type; 1922 description 1923 "Unidirectional average link delay"; 1924 reference "RFC7471"; 1925 } 1926 identity path-metric-delay-minimum { 1927 base path-metric-type; 1928 description 1929 "Unidirectional minimum link delay"; 1930 reference "RFC7471"; 1932 } 1933 identity path-metric-residual-bandwidth { 1934 base path-metric-type; 1935 description 1936 "Unidirectional Residual Bandwidth, which is defined to be 1937 Maximum Bandwidth [RFC3630] minus the bandwidth currently 1938 allocated to LSPs."; 1939 reference "RFC7471"; 1940 } 1941 identity path-metric-optimize-includes { 1942 base path-metric-type; 1943 description 1944 "A metric that optimizes the number of included resources 1945 specified in a set"; 1946 } 1947 identity path-metric-optimize-excludes { 1948 base path-metric-type; 1949 description 1950 "A metric that optimizes the number of excluded resources 1951 specified in a set"; 1952 } 1954 identity path-tiebreaker-type { 1955 description 1956 "Base identity for path tie-breaker type"; 1957 } 1958 identity path-tiebreaker-minfill { 1959 base path-tiebreaker-type; 1960 description 1961 "Min-Fill LSP path placement"; 1962 } 1963 identity path-tiebreaker-maxfill { 1964 base path-tiebreaker-type; 1965 description 1966 "Max-Fill LSP path placement"; 1967 } 1968 identity path-tiebreaker-random { 1969 base path-tiebreaker-type; 1970 description 1971 "Random LSP path placement"; 1972 } 1974 identity resource-affinities-type { 1975 description 1976 "Base identity for resource affinities"; 1977 reference "RFC2702"; 1978 } 1979 identity resource-aff-include-all { 1980 base resource-affinities-type; 1981 description 1982 "The set of attribute filters associated with a 1983 tunnel all of which must be present for a link 1984 to be acceptable"; 1985 reference "RFC2702 and RFC3209"; 1986 } 1987 identity resource-aff-include-any { 1988 base resource-affinities-type; 1989 description 1990 "The set of attribute filters associated with a 1991 tunnel any of which must be present for a link 1992 to be acceptable"; 1993 reference "RFC2702 and RFC3209"; 1994 } 1995 identity resource-aff-exclude-any { 1996 base resource-affinities-type; 1997 description 1998 "The set of attribute filters associated with a 1999 tunnel any of which renders a link unacceptable"; 2000 reference "RFC2702 and RFC3209"; 2001 } 2003 identity te-optimization-criterion { 2004 description 2005 "Base identity for TE optimization criterion."; 2006 reference 2007 "RFC3272: Overview and Principles of Internet Traffic 2008 Engineering."; 2009 } 2010 identity not-optimized { 2011 base te-optimization-criterion; 2012 description "Optimization is not applied."; 2013 } 2014 identity cost { 2015 base te-optimization-criterion; 2016 description "Optimized on cost."; 2017 reference "RFC5541"; 2018 } 2019 identity delay { 2020 base te-optimization-criterion; 2021 description "Optimized on delay."; 2022 reference "RFC5541"; 2023 } 2025 identity path-computation-srlg-type { 2026 description 2027 "Base identity for SRLG path computation"; 2029 } 2030 identity srlg-ignore { 2031 base path-computation-srlg-type; 2032 description 2033 "Ignores SRLGs in path computation"; 2034 } 2035 identity srlg-strict { 2036 base path-computation-srlg-type; 2037 description 2038 "Include strict SRLG check in path computation"; 2039 } 2040 identity srlg-preferred { 2041 base path-computation-srlg-type; 2042 description 2043 "Include preferred SRLG check in path computation"; 2044 } 2045 identity srlg-weighted { 2046 base path-computation-srlg-type; 2047 description 2048 "Include weighted SRLG check in path computation"; 2049 } 2051 identity otn-rate-type { 2052 description 2053 "Base type to identify OTN bit rates of various information 2054 structures."; 2055 } 2056 identity odu0 { 2057 base otn-rate-type; 2058 description 2059 "ODU0 bit rate."; 2060 reference "RFC7139"; 2061 } 2062 identity odu1 { 2063 base otn-rate-type; 2064 description 2065 "ODU1 bit rate."; 2066 reference "RFC7139"; 2067 } 2068 identity odu2 { 2069 base otn-rate-type; 2070 description 2071 "ODU2 bit rate."; 2072 reference "RFC7139"; 2073 } 2074 identity odu3 { 2075 base otn-rate-type; 2076 description 2077 "ODU3 bit rate."; 2078 reference "RFC7139"; 2079 } 2080 identity odu4 { 2081 base otn-rate-type; 2082 description 2083 "ODU4 bit rate."; 2084 reference "RFC7139"; 2085 } 2086 identity odu2e { 2087 base otn-rate-type; 2088 description 2089 "ODU2e bit rate."; 2090 reference "RFC7139"; 2091 } 2092 identity oducn { 2093 base otn-rate-type; 2094 description 2095 "ODUCn bit rate."; 2096 reference "RFC7139"; 2097 } 2098 identity oduflex { 2099 base otn-rate-type; 2100 description 2101 "ODUflex bit rate."; 2102 reference "RFC7139"; 2103 } 2105 identity wdm-spectrum-type { 2106 description 2107 "Base type to identify WDM spectrum type."; 2108 } 2109 identity cwdm { 2110 base wdm-spectrum-type; 2111 description "CWDM."; 2112 reference "RFC6205"; 2113 } 2114 identity dwdm { 2115 base wdm-spectrum-type; 2116 description "DWDM."; 2117 reference "RFC6205"; 2118 } 2119 identity flexible-grid { 2120 base wdm-spectrum-type; 2121 description "Flexible grid."; 2122 reference "RFC6205"; 2123 } 2124 /** 2125 * TE bandwidth groupings 2126 **/ 2127 grouping te-bandwidth { 2128 description 2129 "This grouping defines the generic TE bandwidth. 2130 For some known data plane technologies, specific modeling 2131 structures are specified. The string encoded te-bandwidth 2132 type is used for un-specified technologies. 2133 The modeling structure can be augmented later for other 2134 technologies."; 2135 container te-bandwidth { 2136 description 2137 "Container that specifies TE bandwidth. The choices 2138 can be augmented for specific dataplane technologies."; 2139 choice technology { 2140 default generic; 2141 description 2142 "Data plane technology type."; 2143 case generic { 2144 leaf generic { 2145 type te-bandwidth; 2146 description 2147 "Bandwidth specified in a generic format."; 2148 } 2149 } 2150 } 2151 } 2152 } 2154 /** 2155 * TE label groupings 2156 **/ 2157 grouping te-label { 2158 description 2159 "This grouping defines the generic TE label. 2160 The modeling structure can be augmented for each technology. 2161 For un-specified technologies, rt-types:generalized-label 2162 is used."; 2163 container te-label { 2164 description 2165 "Container that specifies TE label. The choices can 2166 be augmented for specific dataplane technologies."; 2167 choice technology { 2168 default generic; 2169 description 2170 "Data plane technology type."; 2171 case generic { 2172 leaf generic { 2173 type rt-types:generalized-label; 2174 description 2175 "TE label specified in a generic format."; 2176 } 2177 } 2178 } 2179 leaf direction { 2180 type te-label-direction; 2181 default 'forward'; 2182 description "Label direction"; 2183 } 2184 } 2185 } 2187 grouping te-topology-identifier { 2188 description 2189 "Augmentation for TE topology."; 2190 container te-topology-identifier { 2191 description "TE topology identifier container"; 2192 leaf provider-id { 2193 type te-global-id; 2194 default 0; 2195 description 2196 "An identifier to uniquely identify a provider. If omitted, 2197 it assumes the default topology provider ID=0"; 2198 } 2199 leaf client-id { 2200 type te-global-id; 2201 default 0; 2202 description 2203 "An identifier to uniquely identify a client. If omitted, 2204 it assumes the default topology client ID=0"; 2205 } 2206 leaf topology-id { 2207 type te-topology-id; 2208 default ''; 2209 description 2210 "When the datastore contains several topologies, the 2211 topology-id distinguishes between them. If omitted, the 2212 default empty string topology-id is assumed"; 2213 } 2214 } 2215 } 2217 /** 2218 * TE performance metric groupings 2219 **/ 2221 grouping performance-metrics-one-way-delay-loss { 2222 description 2223 "Performance metric information in real time that can 2224 be applicable to links or connections. PM defined 2225 in this grouping is applicable to generic TE performance 2226 metrics as well as packet TE performance metrics."; 2227 reference 2228 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 2229 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 2230 RFC7823: Performance-Based Path Selection for Explicitly 2231 Routed Label Switched Paths (LSPs) Using TE Metric 2232 Extensions"; 2233 leaf one-way-delay { 2234 type uint32 { 2235 range 0..16777215; 2236 } 2237 description "One-way delay or latency in micro seconds."; 2238 } 2239 leaf one-way-delay-normality { 2240 type te-types:performance-metrics-normality; 2241 description "One-way delay normality."; 2242 } 2243 } 2245 grouping performance-metrics-two-way-delay-loss { 2246 description 2247 "Performance metric information in real time that can 2248 be applicable to links or connections. PM defined 2249 in this grouping is applicable to generic TE performance 2250 metrics as well as packet TE performance metrics."; 2251 reference 2252 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 2253 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 2254 RFC7823: Performance-Based Path Selection for Explicitly 2255 Routed Label Switched Paths (LSPs) Using TE Metric 2256 Extensions"; 2257 leaf two-way-delay { 2258 type uint32 { 2259 range 0..16777215; 2260 } 2261 description "Two-way delay or latency in micro seconds."; 2262 } 2263 leaf two-way-delay-normality { 2264 type te-types:performance-metrics-normality; 2265 description "Two-way delay normality."; 2266 } 2267 } 2268 grouping performance-metrics-one-way-bandwidth { 2269 description 2270 "Performance metric information in real time that can 2271 be applicable to links. PM defined 2272 in this grouping is applicable to generic TE performance 2273 metrics as well as packet TE performance metrics."; 2274 reference 2275 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 2276 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 2277 RFC7823: Performance-Based Path Selection for Explicitly 2278 Routed Label Switched Paths (LSPs) Using TE Metric 2279 Extensions"; 2281 leaf one-way-residual-bandwidth { 2282 type rt-types:bandwidth-ieee-float32; 2283 default '0x0p0'; 2284 description 2285 "Residual bandwidth that subtracts tunnel 2286 reservations from Maximum Bandwidth (or link capacity) 2287 [RFC3630] and provides an aggregated remainder across QoS 2288 classes."; 2289 } 2290 leaf one-way-residual-bandwidth-normality { 2291 type te-types:performance-metrics-normality; 2292 default 'normal'; 2293 description "Residual bandwidth normality."; 2294 } 2295 leaf one-way-available-bandwidth { 2296 type rt-types:bandwidth-ieee-float32; 2297 default '0x0p0'; 2298 description 2299 "Available bandwidth that is defined to be residual 2300 bandwidth minus the measured bandwidth used for the 2301 actual forwarding of non-RSVP-TE LSP packets. For a 2302 bundled link, available bandwidth is defined to be the 2303 sum of the component link available bandwidths."; 2304 } 2305 leaf one-way-available-bandwidth-normality { 2306 type te-types:performance-metrics-normality; 2307 default 'normal'; 2308 description "Available bandwidth normality."; 2309 } 2310 leaf one-way-utilized-bandwidth { 2311 type rt-types:bandwidth-ieee-float32; 2312 default '0x0p0'; 2313 description 2314 "Bandwidth utilization that represents the actual 2315 utilization of the link (i.e. as measured in the router). 2317 For a bundled link, bandwidth utilization is defined to 2318 be the sum of the component link bandwidth 2319 utilizations."; 2320 } 2321 leaf one-way-utilized-bandwidth-normality { 2322 type te-types:performance-metrics-normality; 2323 default 'normal'; 2324 description "Bandwidth utilization normality."; 2325 } 2326 } 2328 grouping one-way-performance-metrics { 2329 description 2330 "One-way performance metrics throttle grouping."; 2331 leaf one-way-delay { 2332 type uint32 { 2333 range 0..16777215; 2334 } 2335 default 0; 2336 description "One-way delay or latency in micro seconds."; 2337 } 2338 leaf one-way-residual-bandwidth { 2339 type rt-types:bandwidth-ieee-float32; 2340 default '0x0p0'; 2341 description 2342 "Residual bandwidth that subtracts tunnel 2343 reservations from Maximum Bandwidth (or link capacity) 2344 [RFC3630] and provides an aggregated remainder across QoS 2345 classes."; 2346 } 2347 leaf one-way-available-bandwidth { 2348 type rt-types:bandwidth-ieee-float32; 2349 default '0x0p0'; 2350 description 2351 "Available bandwidth that is defined to be residual 2352 bandwidth minus the measured bandwidth used for the 2353 actual forwarding of non-RSVP-TE LSP packets. For a 2354 bundled link, available bandwidth is defined to be the 2355 sum of the component link available bandwidths."; 2356 } 2357 leaf one-way-utilized-bandwidth { 2358 type rt-types:bandwidth-ieee-float32; 2359 default '0x0p0'; 2360 description 2361 "Bandwidth utilization that represents the actual 2362 utilization of the link (i.e. as measured in the router). 2363 For a bundled link, bandwidth utilization is defined to 2364 be the sum of the component link bandwidth 2365 utilizations."; 2366 } 2367 } 2369 grouping two-way-performance-metrics { 2370 description 2371 "Two-way performance metrics throttle grouping."; 2372 leaf two-way-delay { 2373 type uint32 { 2374 range 0..16777215; 2375 } 2376 default 0; 2377 description "Two-way delay or latency in micro seconds."; 2378 } 2379 } 2381 grouping performance-metrics-thresholds { 2382 description 2383 "Grouping for configurable thresholds for measured attributes"; 2384 uses one-way-performance-metrics; 2385 uses two-way-performance-metrics; 2386 } 2388 grouping performance-metrics-attributes { 2389 description 2390 "A container containing performance metric attributes."; 2391 container performance-metrics-one-way { 2392 description 2393 "One-way link performance information in real time."; 2394 reference 2395 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 2396 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 2397 RFC7823: Performance-Based Path Selection for Explicitly 2398 Routed Label Switched Paths (LSPs) Using TE Metric 2399 Extensions"; 2400 uses performance-metrics-one-way-delay-loss; 2401 uses performance-metrics-one-way-bandwidth; 2402 } 2403 container performance-metrics-two-way { 2404 description 2405 "Two-way link performance information in real time."; 2406 reference 2407 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 2408 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 2409 RFC7823: Performance-Based Path Selection for Explicitly 2410 Routed Label Switched Paths (LSPs) Using TE Metric 2411 Extensions"; 2413 uses performance-metrics-two-way-delay-loss; 2414 } 2415 } 2417 grouping performance-metrics-throttle-container { 2418 description 2419 "A container controlling performance metric throttle."; 2420 container throttle { 2421 must "suppression-interval >= measure-interval" { 2422 error-message 2423 "suppression-interval cannot be less then 2424 measure-interval."; 2425 description 2426 "Constraint on suppression-interval and 2427 measure-interval."; 2428 } 2429 description 2430 "Link performance information in real time."; 2431 reference 2432 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 2433 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 2434 RFC7823: Performance-Based Path Selection for Explicitly 2435 Routed Label Switched Paths (LSPs) Using TE Metric 2436 Extensions"; 2437 leaf one-way-delay-offset { 2438 type uint32 { 2439 range 0..16777215; 2440 } 2441 default 0; 2442 description 2443 "Offset value to be added to the measured delay value."; 2444 } 2445 leaf measure-interval { 2446 type uint32; 2447 default 30; 2448 description 2449 "Interval in seconds to measure the extended metric 2450 values."; 2451 } 2452 leaf advertisement-interval { 2453 type uint32; 2454 default 0; 2455 description 2456 "Interval in seconds to advertise the extended metric 2457 values."; 2458 } 2459 leaf suppression-interval { 2460 type uint32 { 2461 range "1 .. max"; 2462 } 2463 default 120; 2464 description 2465 "Interval in seconds to suppress advertising the extended 2466 metric values."; 2467 } 2468 container threshold-out { 2469 uses performance-metrics-thresholds; 2470 description 2471 "If the measured parameter falls outside an upper bound 2472 for all but the min delay metric (or lower bound for 2473 min-delay metric only) and the advertised value is not 2474 already outside that bound, anomalous announcement will be 2475 triggered."; 2476 } 2477 container threshold-in { 2478 uses performance-metrics-thresholds; 2479 description 2480 "If the measured parameter falls inside an upper bound 2481 for all but the min delay metric (or lower bound for 2482 min-delay metric only) and the advertised value is not 2483 already inside that bound, normal (anomalous-flag cleared) 2484 announcement will be triggered."; 2485 } 2486 container threshold-accelerated-advertisement { 2487 description 2488 "When the difference between the last advertised value and 2489 current measured value exceed this threshold, anomalous 2490 announcement will be triggered."; 2491 uses performance-metrics-thresholds; 2492 } 2493 } 2494 } // performance-metrics-throttle-container 2496 /** 2497 * TE tunnel generic groupings 2498 **/ 2499 grouping explicit-route-hop { 2500 description 2501 "The explicit route entry grouping"; 2502 choice type { 2503 description 2504 "The explicit route entry type"; 2505 case numbered-node-hop { 2506 container numbered-node-hop { 2507 leaf node-id { 2508 type te-node-id; 2509 mandatory true; 2510 description 2511 "The identifier of a node in the TE topology."; 2512 } 2513 leaf hop-type { 2514 type te-hop-type; 2515 default 'strict'; 2516 description "strict or loose hop"; 2517 } 2518 description "Numbered node route hop"; 2519 reference 2520 "RFC3209: section 4.3 for EXPLICIT_ROUTE in RSVP-TE 2521 RFC3477: Signalling Unnumbered Links in RSVP-TE"; 2522 } 2523 } 2524 case numbered-link-hop { 2525 container numbered-link-hop { 2526 leaf link-tp-id { 2527 type te-tp-id; 2528 mandatory true; 2529 description 2530 "TE link termination point identifier."; 2531 } 2532 leaf hop-type { 2533 type te-hop-type; 2534 default 'strict'; 2535 description "strict or loose hop"; 2536 } 2537 leaf direction { 2538 type te-link-direction; 2539 default 'outgoing'; 2540 description "Link route object direction"; 2541 } 2542 description 2543 "Numbered link explicit route hop"; 2544 reference 2545 "RFC3209: section 4.3 for EXPLICIT_ROUTE in RSVP-TE 2546 RFC3477: Signalling Unnumbered Links in RSVP-TE"; 2547 } 2548 } 2549 case unnumbered-link-hop { 2550 container unnumbered-link-hop { 2551 leaf link-tp-id { 2552 type te-tp-id; 2553 mandatory true; 2554 description 2555 "TE link termination point identifier. The combination 2556 of TE link ID and the TE node ID is used to identify an 2557 unnumbered TE link."; 2558 } 2559 leaf node-id { 2560 type te-node-id; 2561 mandatory true; 2562 description 2563 "The identifier of a node in the TE topology."; 2564 } 2565 leaf hop-type { 2566 type te-hop-type; 2567 default 'strict'; 2568 description "strict or loose hop"; 2569 } 2570 leaf direction { 2571 type te-link-direction; 2572 default 'outgoing'; 2573 description "Link route object direction"; 2574 } 2575 description 2576 "Unnumbered link explicit route hop"; 2577 reference 2578 "RFC3209: section 4.3 for EXPLICIT_ROUTE in RSVP-TE 2579 RFC3477: Signalling Unnumbered Links in RSVP-TE"; 2580 } 2581 } 2582 case as-number { 2583 container as-number-hop { 2584 leaf as-number { 2585 type inet:as-number; 2586 mandatory true; 2587 description "The AS number"; 2588 } 2589 leaf hop-type { 2590 type te-hop-type; 2591 default 'strict'; 2592 description "strict or loose hop"; 2593 } 2594 description 2595 "Autonomous System explicit route hop"; 2596 } 2597 } 2598 case label { 2599 container label-hop { 2600 description "Label hop type"; 2601 uses te-label; 2602 } 2603 description 2604 "The label explicit route hop type"; 2606 } 2607 } 2608 } 2610 grouping record-route-state { 2611 description 2612 "The record route grouping"; 2613 leaf index { 2614 type uint32; 2615 description 2616 "Record route hop index. The index is used to 2617 identify an entry in the list. The order of entries 2618 is defined by the user without relying on key values"; 2619 } 2620 choice type { 2621 description 2622 "The record route entry type"; 2623 case numbered-node-hop { 2624 container numbered-node-hop { 2625 description "Numbered node route hop container"; 2626 leaf node-id { 2627 type te-node-id; 2628 mandatory true; 2629 description 2630 "The identifier of a node in the TE topology."; 2631 } 2632 leaf-list flags { 2633 type path-attribute-flags; 2634 description "Record route per hop flags"; 2635 reference "RFC3209, RFC4090, RFC4561"; 2636 } 2637 } 2638 description "Numbered node route hop"; 2639 } 2640 case numbered-link-hop { 2641 container numbered-link-hop { 2642 description "Numbered link route hop container"; 2643 leaf link-tp-id { 2644 type te-tp-id; 2645 mandatory true; 2646 description 2647 "Numbered TE link termination point identifier."; 2648 } 2649 leaf-list flags { 2650 type path-attribute-flags; 2651 description "Record route per hop flags"; 2652 reference "RFC3209, RFC4090, RFC4561"; 2653 } 2655 } 2656 description "Numbered link route hop"; 2657 } 2658 case unnumbered-link-hop { 2659 container unnumbered-link-hop { 2660 leaf link-tp-id { 2661 type te-tp-id; 2662 mandatory true; 2663 description 2664 "TE link termination point identifier. The combination 2665 of TE link ID and the TE node ID is used to identify an 2666 unnumbered TE link."; 2667 } 2668 leaf node-id { 2669 type te-node-id; 2670 description 2671 "The identifier of a node in the TE topology."; 2672 } 2673 leaf-list flags { 2674 type path-attribute-flags; 2675 description "Record route per hop flags"; 2676 reference "RFC3209, RFC4090, RFC4561"; 2677 } 2678 description 2679 "Unnumbered link record route hop"; 2680 reference 2681 "RFC3477: Signalling Unnumbered Links in 2682 RSVP-TE"; 2683 } 2684 description "Unnumbered link route hop"; 2685 } 2686 case label { 2687 container label-hop { 2688 description "Label route hop type"; 2689 uses te-label; 2690 leaf-list flags { 2691 type path-attribute-flags; 2692 description "Record route per hop flags"; 2693 reference "RFC3209, RFC4090, RFC4561"; 2694 } 2695 } 2696 description 2697 "The Label record route entry types"; 2698 } 2699 } 2700 } 2702 grouping label-restriction-info { 2703 description "Label set item info"; 2704 leaf restriction { 2705 type enumeration { 2706 enum inclusive { 2707 description "The label or label range is inclusive."; 2708 } 2709 enum exclusive { 2710 description "The label or label range is exclusive."; 2711 } 2712 } 2713 default 'inclusive'; 2714 description 2715 "Whether the list item is inclusive or exclusive."; 2716 } 2717 leaf index { 2718 type uint32; 2719 description 2720 "The index of the label restriction list entry."; 2721 } 2722 container label-start { 2723 must "(not(../label-end/te-label/direction) and" + 2724 " not(te-label/direction))" 2725 + " or " 2726 + "(../label-end/te-label/direction = te-label/direction)" 2727 + " or " 2728 + "(not(te-label/direction) and" + 2729 " (../label-end/te-label/direction = 'forward'))" 2730 + " or " 2731 + "(not(../label-end/te-label/direction) and" + 2732 " (te-label/direction = 'forward'))" { 2733 error-message 2734 "label-start and label-end must have the same direction."; 2735 } 2736 description 2737 "This is the starting label if a label range is specified. 2738 This is the label value if a single label is specified, 2739 in which case, attribute 'label-end' is not set."; 2740 uses te-label; 2741 } 2742 container label-end { 2743 must "(not(../label-start/te-label/direction) and" + 2744 " not(te-label/direction))" 2745 + " or " 2746 + "(../label-start/te-label/direction = te-label/direction)" 2747 + " or " 2748 + "(not(te-label/direction) and" + 2749 " (../label-start/te-label/direction = 'forward'))" 2750 + " or " 2751 + "(not(../label-start/te-label/direction) and" + 2752 " (te-label/direction = 'forward'))" { 2753 error-message 2754 "label-start and label-end must have the same direction."; 2755 } 2756 description 2757 "The ending label if a label range is specified; 2758 This attribute is not set, If a single label is 2759 specified."; 2760 uses te-label; 2761 } 2762 container label-step { 2763 description 2764 "The step increment between labels in the label range. 2765 The label start/end values will have to be consistent 2766 with the sign of label step. For example, 2767 label-start < label-end enforces label-step > 0 2768 label-start > label-end enforces label-step < 0"; 2769 choice technology { 2770 default generic; 2771 description 2772 "Data plane technology type."; 2773 case generic { 2774 leaf generic { 2775 type int32; 2776 default 1; 2777 description "Label range step"; 2778 } 2779 } 2780 } 2781 } 2782 leaf range-bitmap { 2783 type yang:hex-string; 2784 description 2785 "When there are gaps between label-start and label-end, 2786 this attribute is used to specify the positions 2787 of the used labels. This is represented in big-endian as 2788 hex-string. 2790 Each bit-position in the range-bitmap hex-string maps to a 2791 label in the range derived from the label-start. 2793 For example, assuming label-start=16000 and 2794 range-bitmap=0x01000001, then: 2795 - bit-position(0) is set, and the corresponding mapped label 2796 from the range is: 16000 + (0 * label-step) or 2797 16000 for default label-step=1. 2798 - bit-position(24) is set, and the corresponding mapped label 2799 from the range is: 16000 + (24 * label-step) or 2800 16024 for defautl label-step=1"; 2801 } 2802 } 2804 grouping label-set-info { 2805 description 2806 "Grouping for List of label restrictions specifying what labels 2807 may or may not be used on a link connectivity."; 2808 container label-restrictions { 2809 description 2810 "The label restrictions container"; 2811 list label-restriction { 2812 key "index"; 2813 description 2814 "The absence of label-set implies that all labels are 2815 acceptable; otherwise only restricted labels are 2816 available."; 2817 reference 2818 "RFC7579: General Network Element Constraint Encoding 2819 for GMPLS-Controlled Networks"; 2820 uses label-restriction-info; 2821 } 2822 } 2823 } 2825 grouping optimization-metric-entry { 2826 description "Optimization metrics configuration grouping"; 2827 leaf metric-type { 2828 type identityref { 2829 base path-metric-type; 2830 } 2831 description 2832 "Identifies an entry in the list of metric-types to 2833 optimize the TE path for."; 2834 } 2835 leaf weight { 2836 type uint8; 2837 default 1; 2838 description "TE path metric normalization weight"; 2839 } 2840 container explicit-route-exclude-objects { 2841 when "../metric-type = " + 2842 "'te-types:path-metric-optimize-excludes'"; 2843 description 2844 "Container for the exclude route object list"; 2845 uses path-route-exclude-objects; 2846 } 2847 container explicit-route-include-objects { 2848 when "../metric-type = " + 2849 "'te-types:path-metric-optimize-includes'"; 2850 description 2851 "Container for the include route object list"; 2852 uses path-route-include-objects; 2853 } 2854 } 2856 grouping common-constraints { 2857 description 2858 "Common constraints grouping that can be set on 2859 a constraint set or directly on the tunnel"; 2861 uses te-bandwidth { 2862 description 2863 "A requested bandwidth to use for path computation"; 2864 } 2866 leaf link-protection { 2867 type identityref { 2868 base link-protection-type; 2869 } 2870 default te-types:link-protection-unprotected; 2871 description 2872 "Link protection type required for the links included 2873 in the computed path"; 2874 reference 2875 "RFC4202: Routing Extensions in Support of 2876 Generalized Multi-Protocol Label Switching (GMPLS)."; 2877 } 2879 leaf setup-priority { 2880 type uint8 { 2881 range "0..7"; 2882 } 2883 default 7; 2884 description 2885 "TE LSP requested setup priority"; 2886 reference "RFC3209"; 2887 } 2888 leaf hold-priority { 2889 type uint8 { 2890 range "0..7"; 2891 } 2892 default 7; 2893 description 2894 "TE LSP requested hold priority"; 2896 reference "RFC3209"; 2897 } 2898 leaf signaling-type { 2899 type identityref { 2900 base path-signaling-type; 2901 } 2902 default te-types:path-setup-rsvp; 2903 description "TE tunnel path signaling type"; 2904 } 2905 } 2907 grouping tunnel-constraints { 2908 description 2909 "Tunnel constraints grouping that can be set on 2910 a constraint set or directly on the tunnel"; 2911 uses te-topology-identifier; 2912 uses common-constraints; 2913 } 2915 grouping path-constraints-route-objects { 2916 description 2917 "List of route entries to be included or excluded when performing 2918 path computation."; 2919 container explicit-route-objects-always { 2920 description 2921 "Container for the exclude route object list"; 2922 list route-object-exclude-always { 2923 key index; 2924 ordered-by user; 2925 description 2926 "List of route objects to always exclude 2927 from path computation"; 2928 leaf index { 2929 type uint32; 2930 description 2931 "Explicit route object index. The index is used to 2932 identify an entry in the list. The order of entries 2933 is defined by the user without relying on key values"; 2934 } 2935 uses explicit-route-hop; 2936 } 2937 list route-object-include-exclude { 2938 key index; 2939 ordered-by user; 2940 description 2941 "List of route objects to include or exclude in path 2942 computation"; 2943 leaf explicit-route-usage { 2944 type identityref { 2945 base route-usage-type; 2946 } 2947 default te-types:route-include-object; 2948 description 2949 "Include or exclude usage. Default is to include"; 2950 } 2951 leaf index { 2952 type uint32; 2953 description 2954 "Route object include-exclude index. The index is used to 2955 identify an entry in the list. The order of entries 2956 is defined by the user without relying on key values"; 2957 } 2958 uses explicit-route-hop { 2959 augment "type" { 2960 case srlg { 2961 container srlg { 2962 description "SRLG container"; 2963 leaf srlg { 2964 type uint32; 2965 description "SRLG value"; 2966 } 2967 } 2968 description "An SRLG value to be included or excluded"; 2969 } 2970 description 2971 "Augmentation to generic explicit route for SRLG 2972 exclusion"; 2973 } 2974 } 2975 } 2976 } 2977 } 2979 grouping path-route-include-objects { 2980 description 2981 "List of route object(s) to be included when performing 2982 the path computation."; 2983 list route-object-include-object { 2984 key index; 2985 ordered-by user; 2986 description 2987 "List of explicit route objects to be included 2988 in path computation"; 2989 leaf index { 2990 type uint32; 2991 description 2992 "Route object entry index. The index is used to 2993 identify an entry in the list. The order of entries 2994 is defined by the user without relying on key values"; 2995 } 2996 uses explicit-route-hop; 2997 } 2998 } 3000 grouping path-route-exclude-objects { 3001 description 3002 "List of route object(s) to be excluded when performing 3003 the path computation."; 3004 list route-object-exclude-object { 3005 key index; 3006 ordered-by user; 3007 description 3008 "List of explicit route objects to be excluded 3009 in path computation"; 3010 leaf index { 3011 type uint32; 3012 description 3013 "Route object entry index. The index is used to 3014 identify an entry in the list. The order of entries 3015 is defined by the user without relying on key values"; 3016 } 3017 uses explicit-route-hop { 3018 augment "type" { 3019 case srlg { 3020 container srlg { 3021 description "SRLG container"; 3022 leaf srlg { 3023 type uint32; 3024 description "SRLG value"; 3025 } 3026 } 3027 description "An SRLG value to be included or excluded"; 3028 } 3029 description 3030 "Augmentation to generic explicit route for SRLG exclusion"; 3031 } 3032 } 3033 } 3034 } 3036 grouping generic-path-metric-bounds { 3037 description "TE path metric bounds grouping"; 3038 container path-metric-bounds { 3039 description "TE path metric bounds container"; 3040 list path-metric-bound { 3041 key metric-type; 3042 description "List of TE path metric bounds"; 3043 leaf metric-type { 3044 type identityref { 3045 base path-metric-type; 3046 } 3047 description 3048 "Identifies an entry in the list of metric-types 3049 bound for the TE path."; 3050 } 3051 leaf upper-bound { 3052 type uint64; 3053 default 0; 3054 description 3055 "Upper bound on end-to-end TE path metric. A zero indicate 3056 an unbounded upper limit for the specific metric-type"; 3057 } 3058 } 3059 } 3060 } 3062 grouping generic-path-optimization { 3063 description "TE generic path optimization grouping"; 3065 container optimizations { 3066 description 3067 "The objective function container that includes 3068 attributes to impose when computing a TE path"; 3070 choice algorithm { 3071 description "Optimizations algorithm."; 3072 case metric { 3073 if-feature path-optimization-metric; 3074 /* Optimize by metric */ 3075 list optimization-metric { 3076 key "metric-type"; 3077 description "TE path metric type"; 3078 uses optimization-metric-entry; 3079 } 3080 /* Tiebreakers */ 3081 container tiebreakers { 3082 description 3083 "Container for the list of tiebreaker(s)"; 3084 list tiebreaker { 3085 key "tiebreaker-type"; 3086 description 3087 "The list of tiebreaker criterion to apply 3088 on an equally favored set of paths to pick best"; 3089 leaf tiebreaker-type { 3090 type identityref { 3091 base path-metric-type; 3092 } 3093 description 3094 "Identifies an entry in the list of tiebreakers."; 3095 } 3096 } 3097 } 3098 } 3099 case objective-function { 3100 if-feature path-optimization-objective-function; 3101 /* Objective functions */ 3102 container objective-function { 3103 description 3104 "The objective function container that includes 3105 attributes to impose when computing a TE path"; 3106 leaf objective-function-type { 3107 type identityref { 3108 base objective-function-type; 3109 } 3110 default te-types:of-minimize-cost-path; 3111 description "Objective function entry"; 3112 } 3113 } 3114 } 3115 } 3116 } 3117 } 3119 grouping generic-path-affinities { 3120 description 3121 "Path affinities grouping"; 3122 container path-affinities-values { 3123 description 3124 "Path affinities values representation"; 3125 list path-affinities-value { 3126 key "usage"; 3127 description 3128 "List of named affinity constraints"; 3129 leaf usage { 3130 type identityref { 3131 base resource-affinities-type; 3132 } 3133 description 3134 "Identifies an entry in the list of value affinities 3135 constraints"; 3137 } 3138 leaf value { 3139 type admin-groups; 3140 default ''; 3141 description "The affinity value. The default is empty."; 3142 } 3143 } 3144 } 3145 container path-affinity-names { 3146 description 3147 "Path affinities named representation style"; 3148 list path-affinity-name { 3149 key "usage"; 3150 description "List of named affinity constraints"; 3151 leaf usage { 3152 type identityref { 3153 base resource-affinities-type; 3154 } 3155 description 3156 "Identifies an entry in the list of named affinities 3157 constraints"; 3158 } 3159 list affinity-name { 3160 key "name"; 3161 leaf name { 3162 type string; 3163 description "Identify a named affinity entry."; 3164 } 3165 description "List of named affinities"; 3166 } 3167 } 3168 } 3169 } 3171 grouping generic-path-srlgs { 3172 description 3173 "Path SRLG grouping"; 3174 container path-srlgs-lists { 3175 description 3176 "Path SRLG properties container"; 3177 list path-srlgs-list { 3178 key "usage"; 3179 description 3180 "List entries of value SRLGs to be included or excluded"; 3181 leaf usage { 3182 type identityref { 3183 base route-usage-type; 3184 } 3185 description 3186 "Identifies an entry of list of SRLGs to either include 3187 or exclude"; 3188 } 3189 leaf-list values { 3190 type srlg; 3191 description "List of SRLG values"; 3192 } 3193 } 3194 } 3195 container path-srlgs-names { 3196 description "Container for named SRLG list"; 3197 list path-srlgs-name { 3198 key "usage"; 3199 description 3200 "List entries of named SRLGs to be included or excluded"; 3201 leaf usage { 3202 type identityref { 3203 base route-usage-type; 3204 } 3205 description 3206 "Identifies an entry of list of named SRLGs to either 3207 include or exclude"; 3208 } 3209 leaf-list names { 3210 type string; 3211 description "List named SRLGs"; 3212 } 3213 } 3214 } 3215 } 3217 grouping generic-path-disjointness { 3218 description "Path disjointness grouping"; 3219 leaf disjointness { 3220 type te-path-disjointness; 3221 description 3222 "The type of resource disjointness. 3223 Under primary path, disjointness level applies to 3224 all secondary LSPs. Under secondary, disjointness 3225 level overrides the one under primary"; 3226 } 3227 } 3229 grouping common-path-constraints-attributes { 3230 description 3231 "Common path constraints configuration grouping"; 3232 uses common-constraints; 3233 uses generic-path-metric-bounds; 3234 uses generic-path-affinities; 3235 uses generic-path-srlgs; 3236 } 3238 grouping generic-path-constraints { 3239 description 3240 "Global named path constraints configuration 3241 grouping"; 3242 container path-constraints { 3243 description "TE named path constraints container"; 3244 uses common-path-constraints-attributes; 3245 uses generic-path-disjointness; 3246 } 3247 } 3249 grouping generic-path-properties { 3250 description "TE generic path properties grouping"; 3251 container path-properties { 3252 config false; 3253 description "The TE path properties"; 3254 list path-metric { 3255 key metric-type; 3256 description "TE path metric type"; 3257 leaf metric-type { 3258 type identityref { 3259 base path-metric-type; 3260 } 3261 description "TE path metric type"; 3262 } 3263 leaf accumulative-value { 3264 type uint64; 3265 description "TE path metric accumulative value"; 3266 } 3267 } 3268 uses generic-path-affinities; 3269 uses generic-path-srlgs; 3270 container path-route-objects { 3271 description 3272 "Container for the list of route objects either returned by 3273 the computation engine or actually used by an LSP"; 3274 list path-route-object { 3275 key index; 3276 ordered-by user; 3277 description 3278 "List of route objects either returned by the computation 3279 engine or actually used by an LSP"; 3280 leaf index { 3281 type uint32; 3282 description 3283 "Route object entry index. The index is used to 3284 identify an entry in the list. The order of entries 3285 is defined by the user without relying on key values"; 3286 } 3287 uses explicit-route-hop; 3288 } 3289 } 3290 } 3291 } 3292 } 3293 3295 Figure 1: TE basic types YANG module 3297 5. Packet TE Types YANG Module 3299 The ietf-te-packet-types module imports from the following modules: 3301 o ietf-te-types defined in this document. 3303 file "ietf-te-packet-types@2019-04-08.yang" 3304 module ietf-te-packet-types { 3305 yang-version 1.1; 3306 namespace "urn:ietf:params:xml:ns:yang:ietf-te-packet-types"; 3308 /* Replace with IANA when assigned */ 3309 prefix "te-packet-types"; 3311 /* Import TE generic types */ 3312 import ietf-te-types { 3313 prefix te-types; 3314 reference 3315 "RFC XXXX: A YANG Data Model for Common Traffic Engineering 3316 Types"; 3317 } 3319 organization 3320 "IETF TEAS Working Group"; 3322 contact 3323 "WG Web: 3324 WG List: 3326 WG Chair: Lou Berger 3327 3329 WG Chair: Vishnu Pavan Beeram 3330 3332 Editor: Tarek Saad 3333 3335 Editor: Rakesh Gandhi 3336 3338 Editor: Vishnu Pavan Beeram 3339 3341 Editor: Himanshu Shah 3342 3344 Editor: Xufeng Liu 3345 3347 Editor: Igor Bryskin 3348 3350 Editor: Young Lee 3351 "; 3353 description 3354 "This module contains a collection of generally useful MPLS TE 3355 specific YANG data type definitions. The model fully conforms 3356 to the Network Management Datastore Architecture (NMDA). 3358 Copyright (c) 2018 IETF Trust and the persons 3359 identified as authors of the code. All rights reserved. 3361 Redistribution and use in source and binary forms, with or 3362 without modification, is permitted pursuant to, and subject 3363 to the license terms contained in, the Simplified BSD License 3364 set forth in Section 4.c of the IETF Trust's Legal Provisions 3365 Relating to IETF Documents 3366 (https://trustee.ietf.org/license-info). 3367 This version of this YANG module is part of RFC XXXX; see 3368 the RFC itself for full legal notices."; 3370 // RFC Ed.: replace XXXX with actual RFC number and remove this 3371 // note. 3373 // RFC Ed.: update the date below with the date of RFC publication 3374 // and remove this note. 3376 revision "2019-04-08" { 3377 description "Latest revision of TE MPLS types"; 3378 reference 3379 "RFC XXXX: A YANG Data Model for Common Traffic Engineering 3380 Types"; 3381 } 3383 /** 3384 * Typedefs 3385 */ 3386 typedef te-bandwidth-requested-type { 3387 type enumeration { 3388 enum specified { 3389 description 3390 "Bandwidth is explicitly specified"; 3391 } 3392 enum auto { 3393 description 3394 "Bandwidth is automatically computed"; 3395 } 3396 } 3397 description 3398 "enumerated type for specifying whether bandwidth is 3399 explicitly specified or automatically computed"; 3400 } 3402 typedef te-class-type { 3403 type uint8; 3404 description 3405 "Diffserv-TE class-type that defines a set of Traffic 3406 Trunks crossing a link that is governed by a specific 3407 set of bandwidth constraints. CT is used for the 3408 purposes of link bandwidth allocation, constraint- 3409 based routing and admission control."; 3410 reference "RFC4124: Protocols for Diffserv-aware TE"; 3411 } 3413 typedef bc-type { 3414 type uint8 { 3415 range "0..7"; 3416 } 3417 description 3418 "Diffserv-TE bandwidth constraint as defined in RFC4124"; 3419 reference "RFC4124: Protocols for Diffserv-aware TE"; 3420 } 3422 typedef bandwidth-kbps { 3423 type uint64; 3424 units "Kbps"; 3425 description 3426 "Bandwidth values expressed in kilobits per second"; 3427 } 3429 typedef bandwidth-mbps { 3430 type uint64; 3431 units "Mbps"; 3432 description 3433 "Bandwidth values expressed in megabits per second"; 3434 } 3436 typedef bandwidth-gbps { 3437 type uint64; 3438 units "Gbps"; 3439 description 3440 "Bandwidth values expressed in gigabits per second"; 3441 } 3443 identity backup-protection-type { 3444 description 3445 "Base identity for backup protection type"; 3446 } 3448 identity backup-protection-link { 3449 base backup-protection-type; 3450 description 3451 "backup provides link protection only"; 3452 } 3454 identity backup-protection-node-link { 3455 base backup-protection-type; 3456 description 3457 "backup offers node (preferred) or link protection"; 3458 } 3460 identity bc-model-type { 3461 description 3462 "Base identity for Diffserv-TE bandwidth constraint 3463 model type"; 3464 reference "RFC4124: Protocols for Diffserv-aware TE"; 3465 } 3467 identity bc-model-rdm { 3468 base bc-model-type; 3469 description 3470 "Russian Doll bandwidth constraint model type."; 3471 reference "RFC4127: Russian Dolls Model for DS-TE"; 3472 } 3473 identity bc-model-mam { 3474 base bc-model-type; 3475 description 3476 "Maximum Allocation bandwidth constraint 3477 model type."; 3478 reference "RFC4125: Maximum Allocation Model for DS-TE"; 3479 } 3481 identity bc-model-mar { 3482 base bc-model-type; 3483 description 3484 "Maximum Allocation with Reservation 3485 bandwidth constraint model type."; 3486 reference "RFC4126: MAR Bandwidth Constraints Model for DS-TE"; 3487 } 3489 grouping performance-metrics-attributes-packet { 3490 description 3491 "A container containing performance metric attributes."; 3492 uses te-types:performance-metrics-attributes { 3493 augment performance-metrics-one-way { 3494 leaf one-way-min-delay { 3495 type uint32 { 3496 range 0..16777215; 3497 } 3498 description 3499 "One-way minimum delay or latency in micro seconds."; 3500 } 3501 leaf one-way-min-delay-normality { 3502 type te-types:performance-metrics-normality; 3503 default "normal"; 3504 description "One-way minimum delay or latency normality."; 3505 } 3506 leaf one-way-max-delay { 3507 type uint32 { 3508 range 0..16777215; 3509 } 3510 description 3511 "One-way maximum delay or latency in micro seconds."; 3512 } 3513 leaf one-way-max-delay-normality { 3514 type te-types:performance-metrics-normality; 3515 default "normal"; 3516 description "One-way maximum delay or latency normality."; 3517 } 3518 leaf one-way-delay-variation { 3519 type uint32 { 3520 range 0..16777215; 3522 } 3523 description "One-way delay variation in micro seconds."; 3524 } 3525 leaf one-way-delay-variation-normality { 3526 type te-types:performance-metrics-normality; 3527 default "normal"; 3528 description "One-way delay variation normality."; 3529 } 3530 leaf one-way-packet-loss { 3531 type decimal64 { 3532 fraction-digits 6; 3533 range "0 .. 50.331642"; 3534 } 3535 description 3536 "One-way packet loss as a percentage of the total traffic 3537 sent over a configurable interval. The finest precision is 3538 0.000003%."; 3539 } 3540 leaf one-way-packet-loss-normality { 3541 type te-types:performance-metrics-normality; 3542 default "normal"; 3543 description "Packet loss normality."; 3544 } 3545 description 3546 "PM one-way packet specific augmentation to generic PM 3547 grouping"; 3548 } 3549 augment performance-metrics-two-way { 3550 leaf two-way-min-delay { 3551 type uint32 { 3552 range 0..16777215; 3553 } 3554 default 0; 3555 description 3556 "Two-way minimum delay or latency in micro seconds."; 3557 } 3558 leaf two-way-min-delay-normality { 3559 type te-types:performance-metrics-normality; 3560 default "normal"; 3561 description "Two-way minimum delay or latency normality."; 3562 } 3563 leaf two-way-max-delay { 3564 type uint32 { 3565 range 0..16777215; 3566 } 3567 default 0; 3568 description 3569 "Two-way maximum delay or latency in micro seconds."; 3571 } 3572 leaf two-way-max-delay-normality { 3573 type te-types:performance-metrics-normality; 3574 default "normal"; 3575 description "Two-way maximum delay or latency normality."; 3576 } 3577 leaf two-way-delay-variation { 3578 type uint32 { 3579 range 0..16777215; 3580 } 3581 default 0; 3582 description "Two-way delay variation in micro seconds."; 3583 } 3584 leaf two-way-delay-variation-normality { 3585 type te-types:performance-metrics-normality; 3586 default "normal"; 3587 description "Two-way delay variation normality."; 3588 } 3589 leaf two-way-packet-loss { 3590 type decimal64 { 3591 fraction-digits 6; 3592 range "0 .. 50.331642"; 3593 } 3594 default 0; 3595 description 3596 "Two-way packet loss as a percentage of the total traffic 3597 sent over a configurable interval. The finest precision is 3598 0.000003%."; 3599 } 3600 leaf two-way-packet-loss-normality { 3601 type te-types:performance-metrics-normality; 3602 default "normal"; 3603 description "Two-way packet loss normality."; 3604 } 3605 description 3606 "PM two-way packet specific augmentation to generic PM 3607 grouping"; 3608 } 3609 } 3610 } 3612 grouping one-way-performance-metrics-packet { 3613 description 3614 "One-way packet performance metrics throttle grouping."; 3615 leaf one-way-min-delay { 3616 type uint32 { 3617 range 0..16777215; 3618 } 3619 default 0; 3620 description "One-way minimum delay or latency in micro seconds."; 3621 } 3622 leaf one-way-max-delay { 3623 type uint32 { 3624 range 0..16777215; 3625 } 3626 default 0; 3627 description "One-way maximum delay or latency in micro seconds."; 3628 } 3629 leaf one-way-delay-variation { 3630 type uint32 { 3631 range 0..16777215; 3632 } 3633 default 0; 3634 description "One-way delay variation in micro seconds."; 3635 } 3636 leaf one-way-packet-loss { 3637 type decimal64 { 3638 fraction-digits 6; 3639 range "0 .. 50.331642"; 3640 } 3641 default 0; 3642 description 3643 "One-way packet loss as a percentage of the total traffic sent 3644 over a configurable interval. The finest precision is 3645 0.000003%."; 3646 } 3647 } 3649 grouping two-way-performance-metrics-packet { 3650 description 3651 "Two-way packet performance metrics throttle grouping."; 3652 leaf two-way-min-delay { 3653 type uint32 { 3654 range 0..16777215; 3655 } 3656 default 0; 3657 description "Two-way minimum delay or latency in micro seconds."; 3658 } 3659 leaf two-way-max-delay { 3660 type uint32 { 3661 range 0..16777215; 3662 } 3663 default 0; 3664 description "Two-way maximum delay or latency in micro seconds."; 3665 } 3666 leaf two-way-delay-variation { 3667 type uint32 { 3668 range 0..16777215; 3669 } 3670 default 0; 3671 description "Two-way delay variation in micro seconds."; 3672 } 3673 leaf two-way-packet-loss { 3674 type decimal64 { 3675 fraction-digits 6; 3676 range "0 .. 50.331642"; 3677 } 3678 default 0; 3679 description 3680 "Two-way packet loss as a percentage of the total traffic sent 3681 over a configurable interval. The finest precision is 3682 0.000003%."; 3683 } 3684 } 3686 grouping performance-metrics-throttle-container-packet { 3687 description 3688 "Packet performance metrics threshold grouping"; 3689 uses te-types:performance-metrics-throttle-container { 3690 augment "throttle/threshold-out" { 3691 uses one-way-performance-metrics-packet; 3692 uses two-way-performance-metrics-packet; 3693 description 3694 "PM threshold-out packet augmentation to 3695 generic grouping"; 3696 } 3697 augment "throttle/threshold-in" { 3698 uses one-way-performance-metrics-packet; 3699 uses two-way-performance-metrics-packet; 3700 description 3701 "PM threshold-in packet augmentation to 3702 generic grouping"; 3703 } 3704 augment "throttle/threshold-accelerated-advertisement" { 3705 uses one-way-performance-metrics-packet; 3706 uses two-way-performance-metrics-packet; 3707 description 3708 "PM accelerated advertisement packet augmentation to 3709 generic grouping"; 3710 } 3711 } 3712 } 3713 } 3714 3715 Figure 2: TE packet types YANG module 3717 6. IANA Considerations 3719 This document registers the following URIs in the IETF XML registry 3720 [RFC3688]. Following the format in [RFC3688], the following 3721 registration is requested to be made. 3723 URI: urn:ietf:params:xml:ns:yang:ietf-te-types XML: N/A, the 3724 requested URI is an XML namespace. 3726 URI: urn:ietf:params:xml:ns:yang:ietf-te-packet-types XML: N/A, the 3727 requested URI is an XML namespace. 3729 This document registers two YANG modules in the YANG Module Names 3730 registry [RFC6020]. 3732 name: ietf-te-types namespace: urn:ietf:params:xml:ns:yang:ietf-te- 3733 types prefix: ietf-te-types reference: RFCXXXX 3735 name: ietf-te-packet-types namespace: 3736 urn:ietf:params:xml:ns:yang:ietf-te-packet-types prefix: ietf-te- 3737 packet-types reference: RFCXXXX 3739 7. Security Considerations 3741 This document defines common TE type definitions (i.e., typedef, 3742 identity and grouping statements) using the YANG data modeling 3743 language. The definitions themselves have no security or privacy 3744 impact on the Internet, but the usage of these definitions in 3745 concrete YANG modules might have. The security considerations 3746 spelled out in the YANG 1.1 specification [RFC7950] apply for this 3747 document as well. 3749 8. Acknowledgement 3751 The authors would like to thank the members of the multi-vendor YANG 3752 design team who are involved in the definition of these data types. 3754 The authors would also like to thank Tom Petch, Jan Lindblad, Sergio 3755 Belotti, Italo Busi, Carlo Perocchio, Francesco Lazzeri, and Aihua 3756 Guo for their review comments and for providing valuable feedback on 3757 this document. 3759 9. Contributors 3761 Himanshu Shah 3762 Ciena 3764 Email: hshah@ciena.com 3766 Young Lee 3767 Huawei Technologies 3769 Email: leeyoung@huawei.com 3771 10. References 3773 10.1. Normative References 3775 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 3776 Requirement Levels", BCP 14, RFC 2119, 3777 DOI 10.17487/RFC2119, March 1997, 3778 . 3780 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 3781 DOI 10.17487/RFC3688, January 2004, 3782 . 3784 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 3785 the Network Configuration Protocol (NETCONF)", RFC 6020, 3786 DOI 10.17487/RFC6020, October 2010, 3787 . 3789 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 3790 and A. Bierman, Ed., "Network Configuration Protocol 3791 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 3792 . 3794 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 3795 RFC 6991, DOI 10.17487/RFC6991, July 2013, 3796 . 3798 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 3799 RFC 7950, DOI 10.17487/RFC7950, August 2016, 3800 . 3802 [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", 3803 RFC 7951, DOI 10.17487/RFC7951, August 2016, 3804 . 3806 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 3807 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 3808 May 2017, . 3810 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 3811 "Common YANG Data Types for the Routing Area", RFC 8294, 3812 DOI 10.17487/RFC8294, December 2017, 3813 . 3815 [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., 3816 Ananthakrishnan, H., and X. Liu, "A YANG Data Model for 3817 Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March 3818 2018, . 3820 10.2. Informative References 3822 [RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J. 3823 McManus, "Requirements for Traffic Engineering Over MPLS", 3824 RFC 2702, DOI 10.17487/RFC2702, September 1999, 3825 . 3827 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 3828 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 3829 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 3830 . 3832 [RFC3272] Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X. 3833 Xiao, "Overview and Principles of Internet Traffic 3834 Engineering", RFC 3272, DOI 10.17487/RFC3272, May 2002, 3835 . 3837 [RFC3471] Berger, L., Ed., "Generalized Multi-Protocol Label 3838 Switching (GMPLS) Signaling Functional Description", 3839 RFC 3471, DOI 10.17487/RFC3471, January 2003, 3840 . 3842 [RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links 3843 in Resource ReSerVation Protocol - Traffic Engineering 3844 (RSVP-TE)", RFC 3477, DOI 10.17487/RFC3477, January 2003, 3845 . 3847 [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering 3848 (TE) Extensions to OSPF Version 2", RFC 3630, 3849 DOI 10.17487/RFC3630, September 2003, 3850 . 3852 [RFC3785] Le Faucheur, F., Uppili, R., Vedrenne, A., Merckx, P., and 3853 T. Telkamp, "Use of Interior Gateway Protocol (IGP) Metric 3854 as a second MPLS Traffic Engineering (TE) Metric", BCP 87, 3855 RFC 3785, DOI 10.17487/RFC3785, May 2004, 3856 . 3858 [RFC4090] Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast 3859 Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, 3860 DOI 10.17487/RFC4090, May 2005, 3861 . 3863 [RFC4124] Le Faucheur, F., Ed., "Protocol Extensions for Support of 3864 Diffserv-aware MPLS Traffic Engineering", RFC 4124, 3865 DOI 10.17487/RFC4124, June 2005, 3866 . 3868 [RFC4125] Le Faucheur, F. and W. Lai, "Maximum Allocation Bandwidth 3869 Constraints Model for Diffserv-aware MPLS Traffic 3870 Engineering", RFC 4125, DOI 10.17487/RFC4125, June 2005, 3871 . 3873 [RFC4126] Ash, J., "Max Allocation with Reservation Bandwidth 3874 Constraints Model for Diffserv-aware MPLS Traffic 3875 Engineering & Performance Comparisons", RFC 4126, 3876 DOI 10.17487/RFC4126, June 2005, 3877 . 3879 [RFC4127] Le Faucheur, F., Ed., "Russian Dolls Bandwidth Constraints 3880 Model for Diffserv-aware MPLS Traffic Engineering", 3881 RFC 4127, DOI 10.17487/RFC4127, June 2005, 3882 . 3884 [RFC4202] Kompella, K., Ed. and Y. Rekhter, Ed., "Routing Extensions 3885 in Support of Generalized Multi-Protocol Label Switching 3886 (GMPLS)", RFC 4202, DOI 10.17487/RFC4202, October 2005, 3887 . 3889 [RFC4203] Kompella, K., Ed. and Y. Rekhter, Ed., "OSPF Extensions in 3890 Support of Generalized Multi-Protocol Label Switching 3891 (GMPLS)", RFC 4203, DOI 10.17487/RFC4203, October 2005, 3892 . 3894 [RFC4328] Papadimitriou, D., Ed., "Generalized Multi-Protocol Label 3895 Switching (GMPLS) Signaling Extensions for G.709 Optical 3896 Transport Networks Control", RFC 4328, 3897 DOI 10.17487/RFC4328, January 2006, 3898 . 3900 [RFC4427] Mannie, E., Ed. and D. Papadimitriou, Ed., "Recovery 3901 (Protection and Restoration) Terminology for Generalized 3902 Multi-Protocol Label Switching (GMPLS)", RFC 4427, 3903 DOI 10.17487/RFC4427, March 2006, 3904 . 3906 [RFC4561] Vasseur, J., Ed., Ali, Z., and S. Sivabalan, "Definition 3907 of a Record Route Object (RRO) Node-Id Sub-Object", 3908 RFC 4561, DOI 10.17487/RFC4561, June 2006, 3909 . 3911 [RFC4657] Ash, J., Ed. and J. Le Roux, Ed., "Path Computation 3912 Element (PCE) Communication Protocol Generic 3913 Requirements", RFC 4657, DOI 10.17487/RFC4657, September 3914 2006, . 3916 [RFC4736] Vasseur, JP., Ed., Ikejiri, Y., and R. Zhang, 3917 "Reoptimization of Multiprotocol Label Switching (MPLS) 3918 Traffic Engineering (TE) Loosely Routed Label Switched 3919 Path (LSP)", RFC 4736, DOI 10.17487/RFC4736, November 3920 2006, . 3922 [RFC4872] Lang, J., Ed., Rekhter, Y., Ed., and D. Papadimitriou, 3923 Ed., "RSVP-TE Extensions in Support of End-to-End 3924 Generalized Multi-Protocol Label Switching (GMPLS) 3925 Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007, 3926 . 3928 [RFC4873] Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel, 3929 "GMPLS Segment Recovery", RFC 4873, DOI 10.17487/RFC4873, 3930 May 2007, . 3932 [RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S. 3933 Yasukawa, Ed., "Extensions to Resource Reservation 3934 Protocol - Traffic Engineering (RSVP-TE) for Point-to- 3935 Multipoint TE Label Switched Paths (LSPs)", RFC 4875, 3936 DOI 10.17487/RFC4875, May 2007, 3937 . 3939 [RFC4920] Farrel, A., Ed., Satyanarayana, A., Iwata, A., Fujita, N., 3940 and G. Ash, "Crankback Signaling Extensions for MPLS and 3941 GMPLS RSVP-TE", RFC 4920, DOI 10.17487/RFC4920, July 2007, 3942 . 3944 [RFC5003] Metz, C., Martini, L., Balus, F., and J. Sugimoto, 3945 "Attachment Individual Identifier (AII) Types for 3946 Aggregation", RFC 5003, DOI 10.17487/RFC5003, September 3947 2007, . 3949 [RFC5150] Ayyangar, A., Kompella, K., Vasseur, JP., and A. Farrel, 3950 "Label Switched Path Stitching with Generalized 3951 Multiprotocol Label Switching Traffic Engineering (GMPLS 3952 TE)", RFC 5150, DOI 10.17487/RFC5150, February 2008, 3953 . 3955 [RFC5151] Farrel, A., Ed., Ayyangar, A., and JP. Vasseur, "Inter- 3956 Domain MPLS and GMPLS Traffic Engineering -- Resource 3957 Reservation Protocol-Traffic Engineering (RSVP-TE) 3958 Extensions", RFC 5151, DOI 10.17487/RFC5151, February 3959 2008, . 3961 [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic 3962 Engineering", RFC 5305, DOI 10.17487/RFC5305, October 3963 2008, . 3965 [RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions 3966 in Support of Generalized Multi-Protocol Label Switching 3967 (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008, 3968 . 3970 [RFC5420] Farrel, A., Ed., Papadimitriou, D., Vasseur, JP., and A. 3971 Ayyangarps, "Encoding of Attributes for MPLS LSP 3972 Establishment Using Resource Reservation Protocol Traffic 3973 Engineering (RSVP-TE)", RFC 5420, DOI 10.17487/RFC5420, 3974 February 2009, . 3976 [RFC5541] Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of 3977 Objective Functions in the Path Computation Element 3978 Communication Protocol (PCEP)", RFC 5541, 3979 DOI 10.17487/RFC5541, June 2009, 3980 . 3982 [RFC5712] Meyer, M., Ed. and JP. Vasseur, Ed., "MPLS Traffic 3983 Engineering Soft Preemption", RFC 5712, 3984 DOI 10.17487/RFC5712, January 2010, 3985 . 3987 [RFC5817] Ali, Z., Vasseur, JP., Zamfir, A., and J. Newton, 3988 "Graceful Shutdown in MPLS and Generalized MPLS Traffic 3989 Engineering Networks", RFC 5817, DOI 10.17487/RFC5817, 3990 April 2010, . 3992 [RFC6001] Papadimitriou, D., Vigoureux, M., Shiomoto, K., Brungard, 3993 D., and JL. Le Roux, "Generalized MPLS (GMPLS) Protocol 3994 Extensions for Multi-Layer and Multi-Region Networks (MLN/ 3995 MRN)", RFC 6001, DOI 10.17487/RFC6001, October 2010, 3996 . 3998 [RFC6004] Berger, L. and D. Fedyk, "Generalized MPLS (GMPLS) Support 3999 for Metro Ethernet Forum and G.8011 Ethernet Service 4000 Switching", RFC 6004, DOI 10.17487/RFC6004, October 2010, 4001 . 4003 [RFC6119] Harrison, J., Berger, J., and M. Bartlett, "IPv6 Traffic 4004 Engineering in IS-IS", RFC 6119, DOI 10.17487/RFC6119, 4005 February 2011, . 4007 [RFC6205] Otani, T., Ed. and D. Li, Ed., "Generalized Labels for 4008 Lambda-Switch-Capable (LSC) Label Switching Routers", 4009 RFC 6205, DOI 10.17487/RFC6205, March 2011, 4010 . 4012 [RFC6370] Bocci, M., Swallow, G., and E. Gray, "MPLS Transport 4013 Profile (MPLS-TP) Identifiers", RFC 6370, 4014 DOI 10.17487/RFC6370, September 2011, 4015 . 4017 [RFC6378] Weingarten, Y., Ed., Bryant, S., Osborne, E., Sprecher, 4018 N., and A. Fulignoli, Ed., "MPLS Transport Profile (MPLS- 4019 TP) Linear Protection", RFC 6378, DOI 10.17487/RFC6378, 4020 October 2011, . 4022 [RFC6511] Ali, Z., Swallow, G., and R. Aggarwal, "Non-Penultimate 4023 Hop Popping Behavior and Out-of-Band Mapping for RSVP-TE 4024 Label Switched Paths", RFC 6511, DOI 10.17487/RFC6511, 4025 February 2012, . 4027 [RFC6780] Berger, L., Le Faucheur, F., and A. Narayanan, "RSVP 4028 ASSOCIATION Object Extensions", RFC 6780, 4029 DOI 10.17487/RFC6780, October 2012, 4030 . 4032 [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and 4033 L. Yong, "The Use of Entropy Labels in MPLS Forwarding", 4034 RFC 6790, DOI 10.17487/RFC6790, November 2012, 4035 . 4037 [RFC6827] Malis, A., Ed., Lindem, A., Ed., and D. Papadimitriou, 4038 Ed., "Automatically Switched Optical Network (ASON) 4039 Routing for OSPFv2 Protocols", RFC 6827, 4040 DOI 10.17487/RFC6827, January 2013, 4041 . 4043 [RFC7139] Zhang, F., Ed., Zhang, G., Belotti, S., Ceccarelli, D., 4044 and K. Pithewan, "GMPLS Signaling Extensions for Control 4045 of Evolving G.709 Optical Transport Networks", RFC 7139, 4046 DOI 10.17487/RFC7139, March 2014, 4047 . 4049 [RFC7260] Takacs, A., Fedyk, D., and J. He, "GMPLS RSVP-TE 4050 Extensions for Operations, Administration, and Maintenance 4051 (OAM) Configuration", RFC 7260, DOI 10.17487/RFC7260, June 4052 2014, . 4054 [RFC7308] Osborne, E., "Extended Administrative Groups in MPLS 4055 Traffic Engineering (MPLS-TE)", RFC 7308, 4056 DOI 10.17487/RFC7308, July 2014, 4057 . 4059 [RFC7471] Giacalone, S., Ward, D., Drake, J., Atlas, A., and S. 4060 Previdi, "OSPF Traffic Engineering (TE) Metric 4061 Extensions", RFC 7471, DOI 10.17487/RFC7471, March 2015, 4062 . 4064 [RFC7551] Zhang, F., Ed., Jing, R., and R. Gandhi, Ed., "RSVP-TE 4065 Extensions for Associated Bidirectional Label Switched 4066 Paths (LSPs)", RFC 7551, DOI 10.17487/RFC7551, May 2015, 4067 . 4069 [RFC7570] Margaria, C., Ed., Martinelli, G., Balls, S., and B. 4070 Wright, "Label Switched Path (LSP) Attribute in the 4071 Explicit Route Object (ERO)", RFC 7570, 4072 DOI 10.17487/RFC7570, July 2015, 4073 . 4075 [RFC7571] Dong, J., Chen, M., Li, Z., and D. Ceccarelli, "GMPLS 4076 RSVP-TE Extensions for Lock Instruct and Loopback", 4077 RFC 7571, DOI 10.17487/RFC7571, July 2015, 4078 . 4080 [RFC7579] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and 4081 J. Han, "General Network Element Constraint Encoding for 4082 GMPLS-Controlled Networks", RFC 7579, 4083 DOI 10.17487/RFC7579, June 2015, 4084 . 4086 [RFC7823] Atlas, A., Drake, J., Giacalone, S., and S. Previdi, 4087 "Performance-Based Path Selection for Explicitly Routed 4088 Label Switched Paths (LSPs) Using TE Metric Extensions", 4089 RFC 7823, DOI 10.17487/RFC7823, May 2016, 4090 . 4092 [RFC8001] Zhang, F., Ed., Gonzalez de Dios, O., Ed., Margaria, C., 4093 Hartley, M., and Z. Ali, "RSVP-TE Extensions for 4094 Collecting Shared Risk Link Group (SRLG) Information", 4095 RFC 8001, DOI 10.17487/RFC8001, January 2017, 4096 . 4098 [RFC8149] Saad, T., Ed., Gandhi, R., Ed., Ali, Z., Venator, R., and 4099 Y. Kamite, "RSVP Extensions for Reoptimization of Loosely 4100 Routed Point-to-Multipoint Traffic Engineering Label 4101 Switched Paths (LSPs)", RFC 8149, DOI 10.17487/RFC8149, 4102 April 2017, . 4104 [RFC8169] Mirsky, G., Ruffini, S., Gray, E., Drake, J., Bryant, S., 4105 and A. Vainshtein, "Residence Time Measurement in MPLS 4106 Networks", RFC 8169, DOI 10.17487/RFC8169, May 2017, 4107 . 4109 [RFC8570] Ginsberg, L., Ed., Previdi, S., Ed., Giacalone, S., Ward, 4110 D., Drake, J., and Q. Wu, "IS-IS Traffic Engineering (TE) 4111 Metric Extensions", RFC 8570, DOI 10.17487/RFC8570, March 4112 2019, . 4114 Authors' Addresses 4116 Tarek Saad 4117 Juniper Networks 4119 Email: tsaad@juniper.net 4121 Rakesh Gandhi 4122 Cisco Systems Inc 4124 Email: rgandhi@cisco.com 4126 Xufeng Liu 4127 Volta Networks 4129 Email: xufeng.liu.ietf@gmail.com 4131 Vishnu Pavan Beeram 4132 Juniper Networks 4134 Email: vbeeram@juniper.net 4135 Igor Bryskin 4136 Huawei Technologies 4138 Email: Igor.Bryskin@huawei.com