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