3 namespace "urn:ietf:params:xml:ns:yang:ietf-te-types";
6 import ietf-inet-types {
9 "RFC 6991: Common YANG Data Types";
11 import ietf-yang-types {
14 "RFC 6991: Common YANG Data Types";
16 import ietf-routing-types {
19 "RFC 8294: Common YANG Data Types for the Routing Area";
23 "IETF Traffic Engineering Architecture and Signaling (TEAS)
26 "WG Web: <https://datatracker.ietf.org/wg/teas/>
27 WG List: <mailto:teas@ietf.org>
30 <mailto:tsaad@juniper.net>
33 <mailto:rgandhi@cisco.com>
35 Editor: Vishnu Pavan Beeram
36 <mailto:vbeeram@juniper.net>
39 <mailto:xufeng.liu.ietf@gmail.com>
42 <mailto:i_bryskin@yahoo.com>";
44 "This YANG module contains a collection of generally useful
45 YANG data type definitions specific to TE. The model fully
46 conforms to the Network Management Datastore Architecture
49 The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
50 NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
51 'MAY', and 'OPTIONAL' in this document are to be interpreted as
52 described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
53 they appear in all capitals, as shown here.
55 Copyright (c) 2020 IETF Trust and the persons identified as
56 authors of the code. All rights reserved.
58 Redistribution and use in source and binary forms, with or
59 without modification, is permitted pursuant to, and subject to
60 the license terms contained in, the Simplified BSD License set
61 forth in Section 4.c of the IETF Trust's Legal Provisions
62 Relating to IETF Documents
63 (https://trustee.ietf.org/license-info).
65 This version of this YANG module is part of RFC 8776; see the
66 RFC itself for full legal notices.";
70 "Latest revision of TE types.";
72 "RFC 8776: Common YANG Data Types for Traffic Engineering";
80 type yang:hex-string {
85 "Administrative group / resource class / color representation
87 The most significant byte in the hex-string is the farthest
88 to the left in the byte sequence. Leading zero bytes in the
89 configured value may be omitted for brevity.";
91 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
93 RFC 5305: IS-IS Extensions for Traffic Engineering
94 RFC 7308: Extended Administrative Groups in MPLS Traffic
95 Engineering (MPLS-TE)";
98 typedef admin-groups {
101 type extended-admin-group;
104 "Derived types for TE administrative groups.";
107 typedef extended-admin-group {
108 type yang:hex-string;
110 "Extended administrative group / resource class / color
111 representation in 'hex-string' type.
112 The most significant byte in the hex-string is the farthest
113 to the left in the byte sequence. Leading zero bytes in the
114 configured value may be omitted for brevity.";
116 "RFC 7308: Extended Administrative Groups in MPLS Traffic
117 Engineering (MPLS-TE)";
120 typedef path-attribute-flags {
123 base session-attributes-flags;
126 base lsp-attributes-flags;
130 "Path attributes flags type.";
133 typedef performance-metrics-normality {
143 "Normal. Indicates that the anomalous bit is not set.";
148 "Abnormal. Indicates that the anomalous bit is set.";
152 "Indicates whether a performance metric is normal (anomalous
153 bit not set), abnormal (anomalous bit set), or unknown.";
155 "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
156 RFC 7823: Performance-Based Path Selection for Explicitly
157 Routed Label Switched Paths (LSPs) Using TE Metric
159 RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
167 "RFC 4203: OSPF Extensions in Support of Generalized
168 Multi-Protocol Label Switching (GMPLS)
169 RFC 5307: IS-IS Extensions in Support of Generalized
170 Multi-Protocol Label Switching (GMPLS)";
173 typedef te-common-status {
185 "In some test mode.";
187 enum preparing-maintenance {
189 "The resource is disabled in the control plane to prepare
190 for a graceful shutdown for maintenance purposes.";
192 "RFC 5817: Graceful Shutdown in MPLS and Generalized MPLS
193 Traffic Engineering Networks";
197 "The resource is disabled in the data plane for maintenance
202 "Status is unknown.";
206 "Defines a type representing the common states of a TE
210 typedef te-bandwidth {
212 pattern '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
213 + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?'
214 + '[pP](\+)?(12[0-7]|'
215 + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+'
216 + '(,(0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
217 + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?'
218 + '[pP](\+)?(12[0-7]|'
219 + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+))*';
222 "This is the generic bandwidth type. It is a string containing
223 a list of numbers separated by commas, where each of these
224 numbers can be non-negative decimal, hex integer, or
227 (dec | hex | float)[*(','(dec | hex | float))]
229 For the packet-switching type, the string encoding follows
230 the type 'bandwidth-ieee-float32' as defined in RFC 8294
231 (e.g., 0x1p10), where the units are in bytes per second.
233 For the Optical Transport Network (OTN) switching type,
234 a list of integers can be used, such as '0,2,3,1', indicating
235 two ODU0s and one ODU3. ('ODU' stands for 'Optical Data
236 Unit'.) For Dense Wavelength Division Multiplexing (DWDM),
237 a list of pairs of slot numbers and widths can be used,
238 such as '0,2,3,3', indicating a frequency slot 0 with
239 slot width 2 and a frequency slot 3 with slot width 3.
240 Canonically, the string is represented as all lowercase and in
241 hex, where the prefix '0x' precedes the hex number.";
243 "RFC 8294: Common YANG Data Types for the Routing Area
244 ITU-T Recommendation G.709: Interfaces for the
245 optical transport network";
248 typedef te-ds-class {
253 "The Differentiated Services Class-Type of traffic.";
255 "RFC 4124: Protocol Extensions for Support of Diffserv-aware
256 MPLS Traffic Engineering, Section 4.3.1";
259 typedef te-global-id {
262 "An identifier to uniquely identify an operator, which can be
263 either a provider or a client.
264 The definition of this type is taken from RFCs 6370 and 5003.
265 This attribute type is used solely to provide a globally
266 unique context for TE topologies.";
268 "RFC 5003: Attachment Individual Identifier (AII) Types for
270 RFC 6370: MPLS Transport Profile (MPLS-TP) Identifiers";
273 typedef te-hop-type {
277 "A loose hop in an explicit path.";
281 "A strict hop in an explicit path.";
285 "Enumerated type for specifying loose or strict paths.";
287 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
291 typedef te-link-access-type {
293 enum point-to-point {
295 "The link is point-to-point.";
299 "The link is multi-access, including broadcast and NBMA.";
303 "Defines a type representing the access type of a TE link.";
305 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
309 typedef te-label-direction {
313 "Label allocated for the forward LSP direction.";
317 "Label allocated for the reverse LSP direction.";
321 "Enumerated type for specifying the forward or reverse
325 typedef te-link-direction {
329 "The explicit route represents an incoming link on
334 "The explicit route represents an outgoing link on
339 "Enumerated type for specifying the direction of a link on
348 "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a
349 second MPLS Traffic Engineering (TE) Metric";
353 type yang:dotted-quad;
355 "A type representing the identifier for a node in a TE
357 The identifier is represented as 4 octets in dotted-quad
359 This attribute MAY be mapped to the Router Address TLV
360 described in Section 2.4.1 of RFC 3630, the TE Router ID
361 described in Section 3 of RFC 6827, the Traffic Engineering
362 Router ID TLV described in Section 4.3 of RFC 5305, or the
363 TE Router ID TLV described in Section 3.2.1 of RFC 6119.
364 The reachability of such a TE node MAY be achieved by a
365 mechanism such as that described in Section 6.2 of RFC 6827.";
367 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
368 Version 2, Section 2.4.1
369 RFC 5305: IS-IS Extensions for Traffic Engineering,
371 RFC 6119: IPv6 Traffic Engineering in IS-IS, Section 3.2.1
372 RFC 6827: Automatically Switched Optical Network (ASON)
373 Routing for OSPFv2 Protocols, Section 3";
376 typedef te-oper-status {
377 type te-common-status;
379 "Defines a type representing the operational status of
383 typedef te-admin-status {
384 type te-common-status;
386 "Defines a type representing the administrative status of
390 typedef te-path-disjointness {
405 "SRLG (Shared Risk Link Group) disjoint.";
409 "Type of the resource disjointness for a TE tunnel path.";
411 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
412 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
415 typedef te-recovery-status {
419 "Both the recovery span and the working span are fully
420 allocated and active, data traffic is being
421 transported over (or selected from) the working
422 span, and no trigger events are reported.";
424 enum recovery-started {
426 "The recovery action has been started but not completed.";
428 enum recovery-succeeded {
430 "The recovery action has succeeded. The working span has
431 reported a failure/degrade condition, and the user traffic
432 is being transported (or selected) on the recovery span.";
434 enum recovery-failed {
436 "The recovery action has failed.";
438 enum reversion-started {
440 "The reversion has started.";
442 enum reversion-succeeded {
444 "The reversion action has succeeded.";
446 enum reversion-failed {
448 "The reversion has failed.";
450 enum recovery-unavailable {
452 "The recovery is unavailable, as a result of either an
453 operator's lockout command or a failure condition
454 detected on the recovery span.";
456 enum recovery-admin {
458 "The operator has issued a command to switch the user
459 traffic to the recovery span.";
461 enum wait-to-restore {
463 "The recovery domain is recovering from a failure/degrade
464 condition on the working span that is being controlled by
465 the Wait-to-Restore (WTR) timer.";
469 "Defines the status of a recovery action.";
471 "RFC 4427: Recovery (Protection and Restoration) Terminology
472 for Generalized Multi-Protocol Label Switching (GMPLS)
473 RFC 6378: MPLS Transport Profile (MPLS-TP) Linear Protection";
476 typedef te-template-name {
478 pattern '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*';
481 "A type for the name of a TE node template or TE link
485 typedef te-topology-event-type {
490 "A TE node or TE link has been added.";
495 "A TE node or TE link has been removed.";
500 "A TE node or TE link has been updated.";
504 "TE event type for notifications.";
507 typedef te-topology-id {
514 pattern '([a-zA-Z0-9\-_.]+:)*'
515 + '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*';
519 "An identifier for a topology.
520 It is optional to have one or more prefixes at the beginning,
521 separated by colons. The prefixes can be 'network-types' as
522 defined in the 'ietf-network' module in RFC 8345, to help the
523 user better understand the topology before further inquiry
526 "RFC 8345: A YANG Data Model for Network Topologies";
533 type inet:ip-address;
534 // IPv4 or IPv6 address
537 "An identifier for a TE link endpoint on a node.
538 This attribute is mapped to a local or remote link identifier
539 as defined in RFCs 3630 and 5305.";
541 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
543 RFC 5305: IS-IS Extensions for Traffic Engineering";
550 "Indicates support for Point-to-Multipoint TE (P2MP-TE).";
552 "RFC 4875: Extensions to Resource Reservation Protocol -
553 Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE
554 Label Switched Paths (LSPs)";
559 "Indicates support for TE Fast Reroute (FRR).";
561 "RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels";
564 feature extended-admin-groups {
566 "Indicates support for TE link extended administrative
569 "RFC 7308: Extended Administrative Groups in MPLS Traffic
570 Engineering (MPLS-TE)";
573 feature named-path-affinities {
575 "Indicates support for named path affinities.";
578 feature named-extended-admin-groups {
580 "Indicates support for named extended administrative groups.";
583 feature named-srlg-groups {
585 "Indicates support for named SRLG groups.";
588 feature named-path-constraints {
590 "Indicates support for named path constraints.";
593 feature path-optimization-metric {
595 "Indicates support for path optimization metrics.";
598 feature path-optimization-objective-function {
600 "Indicates support for path optimization objective functions.";
607 identity session-attributes-flags {
609 "Base identity for the RSVP-TE session attributes flags.";
612 identity local-protection-desired {
613 base session-attributes-flags;
615 "Local protection is desired.";
617 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
621 identity se-style-desired {
622 base session-attributes-flags;
624 "Shared explicit style, to allow the LSP to be established
625 and share resources with the old LSP.";
627 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
630 identity local-recording-desired {
631 base session-attributes-flags;
633 "Label recording is desired.";
635 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
639 identity bandwidth-protection-desired {
640 base session-attributes-flags;
642 "Requests FRR bandwidth protection on LSRs, if present.";
644 "RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels";
647 identity node-protection-desired {
648 base session-attributes-flags;
650 "Requests FRR node protection on LSRs, if present.";
652 "RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels";
655 identity path-reevaluation-request {
656 base session-attributes-flags;
658 "This flag indicates that a path re-evaluation (of the
659 current path in use) is requested. Note that this does
660 not trigger any LSP reroutes but instead just signals a
661 request to evaluate whether a preferable path exists.";
663 "RFC 4736: Reoptimization of Multiprotocol Label Switching
664 (MPLS) Traffic Engineering (TE) Loosely Routed Label Switched
668 identity soft-preemption-desired {
669 base session-attributes-flags;
671 "Soft preemption of LSP resources is desired.";
673 "RFC 5712: MPLS Traffic Engineering Soft Preemption";
676 identity lsp-attributes-flags {
678 "Base identity for LSP attributes flags.";
681 identity end-to-end-rerouting-desired {
682 base lsp-attributes-flags;
684 "Indicates end-to-end rerouting behavior for an LSP
685 undergoing establishment. This MAY also be used to
686 specify the behavior of end-to-end LSP recovery for
689 "RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS
691 RFC 5420: Encoding of Attributes for MPLS LSP Establishment
692 Using Resource Reservation Protocol Traffic Engineering
694 RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
698 identity boundary-rerouting-desired {
699 base lsp-attributes-flags;
701 "Indicates boundary rerouting behavior for an LSP undergoing
702 establishment. This MAY also be used to specify
703 segment-based LSP recovery through nested crankback for
704 established LSPs. The boundary Area Border Router (ABR) /
705 Autonomous System Border Router (ASBR) can decide to forward
706 the PathErr message upstream to either an upstream boundary
707 ABR/ASBR or the ingress LSR. Alternatively, it can try to
708 select another egress boundary LSR.";
710 "RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS
712 RFC 5420: Encoding of Attributes for MPLS LSP Establishment
713 Using Resource Reservation Protocol Traffic Engineering
715 RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
719 identity segment-based-rerouting-desired {
720 base lsp-attributes-flags;
722 "Indicates segment-based rerouting behavior for an LSP
723 undergoing establishment. This MAY also be used to specify
724 segment-based LSP recovery for established LSPs.";
726 "RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS
728 RFC 5420: Encoding of Attributes for MPLS LSP Establishment
729 Using Resource Reservation Protocol Traffic Engineering
731 RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
735 identity lsp-integrity-required {
736 base lsp-attributes-flags;
738 "Indicates that LSP integrity is required.";
740 "RFC 4875: Extensions to Resource Reservation Protocol -
741 Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE
742 Label Switched Paths (LSPs)
743 RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
747 identity contiguous-lsp-desired {
748 base lsp-attributes-flags;
750 "Indicates that a contiguous LSP is desired.";
752 "RFC 5151: Inter-Domain MPLS and GMPLS Traffic Engineering --
753 Resource Reservation Protocol-Traffic Engineering (RSVP-TE)
755 RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
759 identity lsp-stitching-desired {
760 base lsp-attributes-flags;
762 "Indicates that LSP stitching is desired.";
764 "RFC 5150: Label Switched Path Stitching with Generalized
765 Multiprotocol Label Switching Traffic Engineering (GMPLS TE)
766 RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
770 identity pre-planned-lsp-flag {
771 base lsp-attributes-flags;
773 "Indicates that the LSP MUST be provisioned in the
774 control plane only.";
776 "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions for
777 Multi-Layer and Multi-Region Networks (MLN/MRN)
778 RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
782 identity non-php-behavior-flag {
783 base lsp-attributes-flags;
785 "Indicates that non-PHP (non-Penultimate Hop Popping) behavior
786 for the LSP is desired.";
788 "RFC 6511: Non-Penultimate Hop Popping Behavior and Out-of-Band
789 Mapping for RSVP-TE Label Switched Paths
790 RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
794 identity oob-mapping-flag {
795 base lsp-attributes-flags;
797 "Indicates that signaling of the egress binding information is
798 out of band (e.g., via the Border Gateway Protocol (BGP)).";
800 "RFC 6511: Non-Penultimate Hop Popping Behavior and Out-of-Band
801 Mapping for RSVP-TE Label Switched Paths
802 RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
806 identity entropy-label-capability {
807 base lsp-attributes-flags;
809 "Indicates entropy label capability.";
811 "RFC 6790: The Use of Entropy Labels in MPLS Forwarding
812 RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
816 identity oam-mep-entity-desired {
817 base lsp-attributes-flags;
819 "OAM Maintenance Entity Group End Point (MEP) entities
822 "RFC 7260: GMPLS RSVP-TE Extensions for Operations,
823 Administration, and Maintenance (OAM) Configuration";
826 identity oam-mip-entity-desired {
827 base lsp-attributes-flags;
829 "OAM Maintenance Entity Group Intermediate Points (MIP)
832 "RFC 7260: GMPLS RSVP-TE Extensions for Operations,
833 Administration, and Maintenance (OAM) Configuration";
836 identity srlg-collection-desired {
837 base lsp-attributes-flags;
839 "SRLG collection desired.";
841 "RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
843 RFC 8001: RSVP-TE Extensions for Collecting Shared Risk
844 Link Group (SRLG) Information";
847 identity loopback-desired {
848 base lsp-attributes-flags;
850 "This flag indicates that a particular node on the LSP is
851 required to enter loopback mode. This can also be
852 used to specify the loopback state of the node.";
854 "RFC 7571: GMPLS RSVP-TE Extensions for Lock Instruct and
858 identity p2mp-te-tree-eval-request {
859 base lsp-attributes-flags;
861 "P2MP-TE tree re-evaluation request.";
863 "RFC 8149: RSVP Extensions for Reoptimization of Loosely Routed
864 Point-to-Multipoint Traffic Engineering Label Switched Paths
868 identity rtm-set-desired {
869 base lsp-attributes-flags;
871 "Residence Time Measurement (RTM) attribute flag requested.";
873 "RFC 8169: Residence Time Measurement in MPLS Networks";
876 identity link-protection-type {
878 "Base identity for the link protection type.";
881 identity link-protection-unprotected {
882 base link-protection-type;
884 "Unprotected link type.";
886 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
887 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
890 identity link-protection-extra-traffic {
891 base link-protection-type;
893 "Extra-Traffic protected link type.";
895 "RFC 4427: Recovery (Protection and Restoration) Terminology
896 for Generalized Multi-Protocol Label Switching (GMPLS)";
899 identity link-protection-shared {
900 base link-protection-type;
902 "Shared protected link type.";
904 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
905 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
908 identity link-protection-1-for-1 {
909 base link-protection-type;
911 "One-for-one (1:1) protected link type.";
913 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
914 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
917 identity link-protection-1-plus-1 {
918 base link-protection-type;
920 "One-plus-one (1+1) protected link type.";
922 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
923 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
926 identity link-protection-enhanced {
927 base link-protection-type;
929 "A compound link protection type derived from the underlay
930 TE tunnel protection configuration supporting the TE link.";
933 identity association-type {
935 "Base identity for the tunnel association.";
938 identity association-type-recovery {
939 base association-type;
941 "Association type for recovery, used to associate LSPs of the
942 same tunnel for recovery.";
944 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
945 Generalized Multi-Protocol Label Switching (GMPLS) Recovery
946 RFC 6780: RSVP ASSOCIATION Object Extensions";
949 identity association-type-resource-sharing {
950 base association-type;
952 "Association type for resource sharing, used to enable
953 resource sharing during make-before-break.";
955 "RFC 4873: GMPLS Segment Recovery
956 RFC 6780: RSVP ASSOCIATION Object Extensions";
959 identity association-type-double-sided-bidir {
960 base association-type;
962 "Association type for double-sided bidirectional LSPs,
963 used to associate two LSPs of two tunnels that are
964 independently configured on either endpoint.";
966 "RFC 7551: RSVP-TE Extensions for Associated Bidirectional
967 Label Switched Paths (LSPs)";
970 identity association-type-single-sided-bidir {
971 base association-type;
973 "Association type for single-sided bidirectional LSPs,
974 used to associate two LSPs of two tunnels, where one
975 tunnel is configured on one side/endpoint and the other
976 tunnel is dynamically created on the other endpoint.";
978 "RFC 6780: RSVP ASSOCIATION Object Extensions
979 RFC 7551: RSVP-TE Extensions for Associated Bidirectional
980 Label Switched Paths (LSPs)";
983 identity objective-function-type {
985 "Base objective function type.";
988 identity of-minimize-cost-path {
989 base objective-function-type;
991 "Objective function for minimizing path cost.";
993 "RFC 5541: Encoding of Objective Functions in the Path
994 Computation Element Communication Protocol (PCEP)";
997 identity of-minimize-load-path {
998 base objective-function-type;
1000 "Objective function for minimizing the load on one or more
1003 "RFC 5541: Encoding of Objective Functions in the Path
1004 Computation Element Communication Protocol (PCEP)";
1007 identity of-maximize-residual-bandwidth {
1008 base objective-function-type;
1010 "Objective function for maximizing residual bandwidth.";
1012 "RFC 5541: Encoding of Objective Functions in the Path
1013 Computation Element Communication Protocol (PCEP)";
1016 identity of-minimize-agg-bandwidth-consumption {
1017 base objective-function-type;
1019 "Objective function for minimizing aggregate bandwidth
1022 "RFC 5541: Encoding of Objective Functions in the Path
1023 Computation Element Communication Protocol (PCEP)";
1026 identity of-minimize-load-most-loaded-link {
1027 base objective-function-type;
1029 "Objective function for minimizing the load on the link that
1030 is carrying the highest load.";
1032 "RFC 5541: Encoding of Objective Functions in the Path
1033 Computation Element Communication Protocol (PCEP)";
1036 identity of-minimize-cost-path-set {
1037 base objective-function-type;
1039 "Objective function for minimizing the cost on a path set.";
1041 "RFC 5541: Encoding of Objective Functions in the Path
1042 Computation Element Communication Protocol (PCEP)";
1045 identity path-computation-method {
1047 "Base identity for supported path computation mechanisms.";
1050 identity path-locally-computed {
1051 base path-computation-method;
1053 "Indicates a constrained-path LSP in which the
1054 path is computed by the local LER.";
1056 "RFC 3272: Overview and Principles of Internet Traffic
1057 Engineering, Section 5.4";
1060 identity path-externally-queried {
1061 base path-computation-method;
1063 "Constrained-path LSP in which the path is obtained by
1064 querying an external source, such as a PCE server.
1065 In the case that an LSP is defined to be externally queried,
1066 it may also have associated explicit definitions (provided
1067 to the external source to aid computation). The path that is
1068 returned by the external source may require further local
1069 computation on the device.";
1071 "RFC 3272: Overview and Principles of Internet Traffic
1073 RFC 4657: Path Computation Element (PCE) Communication
1074 Protocol Generic Requirements";
1077 identity path-explicitly-defined {
1078 base path-computation-method;
1080 "Constrained-path LSP in which the path is
1081 explicitly specified as a collection of strict and/or loose
1084 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
1085 RFC 3272: Overview and Principles of Internet Traffic
1089 identity lsp-metric-type {
1091 "Base identity for the LSP metric specification types.";
1094 identity lsp-metric-relative {
1095 base lsp-metric-type;
1097 "The metric specified for the LSPs to which this identity
1098 refers is specified as a value relative to the IGP metric
1099 cost to the LSP's tail end.";
1101 "RFC 4657: Path Computation Element (PCE) Communication
1102 Protocol Generic Requirements";
1105 identity lsp-metric-absolute {
1106 base lsp-metric-type;
1108 "The metric specified for the LSPs to which this identity
1109 refers is specified as an absolute value.";
1111 "RFC 4657: Path Computation Element (PCE) Communication
1112 Protocol Generic Requirements";
1115 identity lsp-metric-inherited {
1116 base lsp-metric-type;
1118 "The metric for the LSPs to which this identity refers is
1119 not specified explicitly; rather, it is directly inherited
1120 from the IGP cost.";
1122 "RFC 4657: Path Computation Element (PCE) Communication
1123 Protocol Generic Requirements";
1126 identity te-tunnel-type {
1128 "Base identity from which specific tunnel types are derived.";
1131 identity te-tunnel-p2p {
1132 base te-tunnel-type;
1134 "TE Point-to-Point (P2P) tunnel type.";
1136 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
1139 identity te-tunnel-p2mp {
1140 base te-tunnel-type;
1142 "TE P2MP tunnel type.";
1144 "RFC 4875: Extensions to Resource Reservation Protocol -
1145 Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE
1146 Label Switched Paths (LSPs)";
1149 identity tunnel-action-type {
1151 "Base identity from which specific tunnel action types
1155 identity tunnel-action-resetup {
1156 base tunnel-action-type;
1158 "TE tunnel action that tears down the tunnel's current LSP
1159 (if any) and attempts to re-establish a new LSP.";
1162 identity tunnel-action-reoptimize {
1163 base tunnel-action-type;
1165 "TE tunnel action that reoptimizes the placement of the
1169 identity tunnel-action-switchpath {
1170 base tunnel-action-type;
1172 "TE tunnel action that switches the tunnel's LSP to use the
1176 identity te-action-result {
1178 "Base identity from which specific TE action results
1182 identity te-action-success {
1183 base te-action-result;
1185 "TE action was successful.";
1188 identity te-action-fail {
1189 base te-action-result;
1191 "TE action failed.";
1194 identity tunnel-action-inprogress {
1195 base te-action-result;
1197 "TE action is in progress.";
1200 identity tunnel-admin-state-type {
1202 "Base identity for TE tunnel administrative states.";
1205 identity tunnel-admin-state-up {
1206 base tunnel-admin-state-type;
1208 "Tunnel's administrative state is up.";
1211 identity tunnel-admin-state-down {
1212 base tunnel-admin-state-type;
1214 "Tunnel's administrative state is down.";
1217 identity tunnel-state-type {
1219 "Base identity for TE tunnel states.";
1222 identity tunnel-state-up {
1223 base tunnel-state-type;
1225 "Tunnel's state is up.";
1228 identity tunnel-state-down {
1229 base tunnel-state-type;
1231 "Tunnel's state is down.";
1234 identity lsp-state-type {
1236 "Base identity for TE LSP states.";
1239 identity lsp-path-computing {
1240 base lsp-state-type;
1242 "State path computation is in progress.";
1245 identity lsp-path-computation-ok {
1246 base lsp-state-type;
1248 "State path computation was successful.";
1251 identity lsp-path-computation-failed {
1252 base lsp-state-type;
1254 "State path computation failed.";
1257 identity lsp-state-setting-up {
1258 base lsp-state-type;
1260 "State is being set up.";
1263 identity lsp-state-setup-ok {
1264 base lsp-state-type;
1266 "State setup was successful.";
1269 identity lsp-state-setup-failed {
1270 base lsp-state-type;
1272 "State setup failed.";
1275 identity lsp-state-up {
1276 base lsp-state-type;
1281 identity lsp-state-tearing-down {
1282 base lsp-state-type;
1284 "State is being torn down.";
1287 identity lsp-state-down {
1288 base lsp-state-type;
1293 identity path-invalidation-action-type {
1295 "Base identity for TE path invalidation action types.";
1298 identity path-invalidation-action-drop {
1299 base path-invalidation-action-type;
1301 "Upon invalidation of the TE tunnel path, the tunnel remains
1302 valid, but any packet mapped over the tunnel is dropped.";
1304 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
1308 identity path-invalidation-action-teardown {
1309 base path-invalidation-action-type;
1311 "TE path invalidation action teardown.";
1313 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
1317 identity lsp-restoration-type {
1319 "Base identity from which LSP restoration types are derived.";
1322 identity lsp-restoration-restore-any {
1323 base lsp-restoration-type;
1325 "Any LSP affected by a failure is restored.";
1328 identity lsp-restoration-restore-all {
1329 base lsp-restoration-type;
1331 "Affected LSPs are restored after all LSPs of the tunnel are
1335 identity restoration-scheme-type {
1337 "Base identity for LSP restoration schemes.";
1340 identity restoration-scheme-preconfigured {
1341 base restoration-scheme-type;
1343 "Restoration LSP is preconfigured prior to the failure.";
1345 "RFC 4427: Recovery (Protection and Restoration) Terminology
1346 for Generalized Multi-Protocol Label Switching (GMPLS)";
1349 identity restoration-scheme-precomputed {
1350 base restoration-scheme-type;
1352 "Restoration LSP is precomputed prior to the failure.";
1354 "RFC 4427: Recovery (Protection and Restoration) Terminology
1355 for Generalized Multi-Protocol Label Switching (GMPLS)";
1358 identity restoration-scheme-presignaled {
1359 base restoration-scheme-type;
1361 "Restoration LSP is presignaled prior to the failure.";
1363 "RFC 4427: Recovery (Protection and Restoration) Terminology
1364 for Generalized Multi-Protocol Label Switching (GMPLS)";
1367 identity lsp-protection-type {
1369 "Base identity from which LSP protection types are derived.";
1371 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1372 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1375 identity lsp-protection-unprotected {
1376 base lsp-protection-type;
1378 "'Unprotected' LSP protection type.";
1380 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1381 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1384 identity lsp-protection-reroute-extra {
1385 base lsp-protection-type;
1387 "'(Full) Rerouting' LSP protection type.";
1389 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1390 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1393 identity lsp-protection-reroute {
1394 base lsp-protection-type;
1396 "'Rerouting without Extra-Traffic' LSP protection type.";
1398 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1399 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1402 identity lsp-protection-1-for-n {
1403 base lsp-protection-type;
1405 "'1:N Protection with Extra-Traffic' LSP protection type.";
1407 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1408 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1411 identity lsp-protection-1-for-1 {
1412 base lsp-protection-type;
1414 "LSP protection '1:1 Protection Type'.";
1416 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1417 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1420 identity lsp-protection-unidir-1-plus-1 {
1421 base lsp-protection-type;
1423 "'1+1 Unidirectional Protection' LSP protection type.";
1425 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1426 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1429 identity lsp-protection-bidir-1-plus-1 {
1430 base lsp-protection-type;
1432 "'1+1 Bidirectional Protection' LSP protection type.";
1434 "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1435 Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1438 identity lsp-protection-extra-traffic {
1439 base lsp-protection-type;
1441 "Extra-Traffic LSP protection type.";
1443 "RFC 4427: Recovery (Protection and Restoration) Terminology
1444 for Generalized Multi-Protocol Label Switching (GMPLS)";
1447 identity lsp-protection-state {
1449 "Base identity of protection states for reporting purposes.";
1453 base lsp-protection-state;
1458 identity signal-fail-of-protection {
1459 base lsp-protection-state;
1461 "The protection transport entity has a signal fail condition
1462 that is of higher priority than the forced switchover
1465 "RFC 4427: Recovery (Protection and Restoration) Terminology
1466 for Generalized Multi-Protocol Label Switching (GMPLS)";
1469 identity lockout-of-protection {
1470 base lsp-protection-state;
1472 "A Loss of Protection (LoP) command is active.";
1474 "RFC 4427: Recovery (Protection and Restoration) Terminology
1475 for Generalized Multi-Protocol Label Switching (GMPLS)";
1478 identity forced-switch {
1479 base lsp-protection-state;
1481 "A forced switchover command is active.";
1483 "RFC 4427: Recovery (Protection and Restoration) Terminology
1484 for Generalized Multi-Protocol Label Switching (GMPLS)";
1487 identity signal-fail {
1488 base lsp-protection-state;
1490 "There is a signal fail condition on either the working path
1491 or the protection path.";
1493 "RFC 4427: Recovery (Protection and Restoration) Terminology
1494 for Generalized Multi-Protocol Label Switching (GMPLS)";
1497 identity signal-degrade {
1498 base lsp-protection-state;
1500 "There is a signal degrade condition on either the working
1501 path or the protection path.";
1503 "RFC 4427: Recovery (Protection and Restoration) Terminology
1504 for Generalized Multi-Protocol Label Switching (GMPLS)";
1507 identity manual-switch {
1508 base lsp-protection-state;
1510 "A manual switchover command is active.";
1512 "RFC 4427: Recovery (Protection and Restoration) Terminology
1513 for Generalized Multi-Protocol Label Switching (GMPLS)";
1516 identity wait-to-restore {
1517 base lsp-protection-state;
1519 "A WTR timer is running.";
1521 "RFC 4427: Recovery (Protection and Restoration) Terminology
1522 for Generalized Multi-Protocol Label Switching (GMPLS)";
1525 identity do-not-revert {
1526 base lsp-protection-state;
1528 "A Do Not Revert (DNR) condition is active because of
1529 non-revertive behavior.";
1531 "RFC 4427: Recovery (Protection and Restoration) Terminology
1532 for Generalized Multi-Protocol Label Switching (GMPLS)";
1535 identity failure-of-protocol {
1536 base lsp-protection-state;
1538 "LSP protection is not working because of a protocol failure
1541 "RFC 4427: Recovery (Protection and Restoration) Terminology
1542 for Generalized Multi-Protocol Label Switching (GMPLS)";
1545 identity protection-external-commands {
1547 "Base identity from which protection-related external commands
1548 used for troubleshooting purposes are derived.";
1551 identity action-freeze {
1552 base protection-external-commands;
1554 "A temporary configuration action initiated by an operator
1555 command that prevents any switchover action from being taken
1556 and, as such, freezes the current state.";
1558 "RFC 4427: Recovery (Protection and Restoration) Terminology
1559 for Generalized Multi-Protocol Label Switching (GMPLS)";
1562 identity clear-freeze {
1563 base protection-external-commands;
1565 "An action that clears the active freeze state.";
1567 "RFC 4427: Recovery (Protection and Restoration) Terminology
1568 for Generalized Multi-Protocol Label Switching (GMPLS)";
1571 identity action-lockout-of-normal {
1572 base protection-external-commands;
1574 "A temporary configuration action initiated by an operator
1575 command to ensure that the normal traffic is not allowed
1576 to use the protection transport entity.";
1578 "RFC 4427: Recovery (Protection and Restoration) Terminology
1579 for Generalized Multi-Protocol Label Switching (GMPLS)";
1582 identity clear-lockout-of-normal {
1583 base protection-external-commands;
1585 "An action that clears the active lockout of the
1588 "RFC 4427: Recovery (Protection and Restoration) Terminology
1589 for Generalized Multi-Protocol Label Switching (GMPLS)";
1592 identity action-lockout-of-protection {
1593 base protection-external-commands;
1595 "A temporary configuration action initiated by an operator
1596 command to ensure that the protection transport entity is
1597 temporarily not available to transport a traffic signal
1598 (either normal or Extra-Traffic).";
1600 "RFC 4427: Recovery (Protection and Restoration) Terminology
1601 for Generalized Multi-Protocol Label Switching (GMPLS)";
1604 identity action-forced-switch {
1605 base protection-external-commands;
1607 "A switchover action initiated by an operator command to switch
1608 the Extra-Traffic signal, the normal traffic signal, or the
1609 null signal to the protection transport entity, unless a
1610 switchover command of equal or higher priority is in effect.";
1612 "RFC 4427: Recovery (Protection and Restoration) Terminology
1613 for Generalized Multi-Protocol Label Switching (GMPLS)";
1616 identity action-manual-switch {
1617 base protection-external-commands;
1619 "A switchover action initiated by an operator command to switch
1620 the Extra-Traffic signal, the normal traffic signal, or
1621 the null signal to the protection transport entity, unless
1622 a fault condition exists on other transport entities or a
1623 switchover command of equal or higher priority is in effect.";
1625 "RFC 4427: Recovery (Protection and Restoration) Terminology
1626 for Generalized Multi-Protocol Label Switching (GMPLS)";
1629 identity action-exercise {
1630 base protection-external-commands;
1632 "An action that starts testing whether or not APS communication
1633 is operating correctly. It is of lower priority than any
1634 other state or command.";
1636 "RFC 4427: Recovery (Protection and Restoration) Terminology
1637 for Generalized Multi-Protocol Label Switching (GMPLS)";
1641 base protection-external-commands;
1643 "An action that clears the active near-end lockout of a
1644 protection, forced switchover, manual switchover, WTR state,
1645 or exercise command.";
1647 "RFC 4427: Recovery (Protection and Restoration) Terminology
1648 for Generalized Multi-Protocol Label Switching (GMPLS)";
1651 identity switching-capabilities {
1653 "Base identity for interface switching capabilities.";
1655 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1656 Signaling Functional Description";
1659 identity switching-psc1 {
1660 base switching-capabilities;
1662 "Packet-Switch Capable-1 (PSC-1).";
1664 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1665 Signaling Functional Description";
1668 identity switching-evpl {
1669 base switching-capabilities;
1671 "Ethernet Virtual Private Line (EVPL).";
1673 "RFC 6004: Generalized MPLS (GMPLS) Support for Metro Ethernet
1674 Forum and G.8011 Ethernet Service Switching";
1677 identity switching-l2sc {
1678 base switching-capabilities;
1680 "Layer-2 Switch Capable (L2SC).";
1682 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1683 Signaling Functional Description";
1686 identity switching-tdm {
1687 base switching-capabilities;
1689 "Time-Division-Multiplex Capable (TDM).";
1691 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1692 Signaling Functional Description";
1695 identity switching-otn {
1696 base switching-capabilities;
1700 "RFC 7138: Traffic Engineering Extensions to OSPF for GMPLS
1701 Control of Evolving G.709 Optical Transport Networks";
1704 identity switching-dcsc {
1705 base switching-capabilities;
1707 "Data Channel Switching Capable (DCSC).";
1709 "RFC 6002: Generalized MPLS (GMPLS) Data Channel
1710 Switching Capable (DCSC) and Channel Set Label Extensions";
1713 identity switching-lsc {
1714 base switching-capabilities;
1716 "Lambda-Switch Capable (LSC).";
1718 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1719 Signaling Functional Description";
1722 identity switching-fsc {
1723 base switching-capabilities;
1725 "Fiber-Switch Capable (FSC).";
1727 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1728 Signaling Functional Description";
1731 identity lsp-encoding-types {
1733 "Base identity for encoding types.";
1735 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1736 Signaling Functional Description";
1739 identity lsp-encoding-packet {
1740 base lsp-encoding-types;
1742 "Packet LSP encoding.";
1744 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1745 Signaling Functional Description";
1748 identity lsp-encoding-ethernet {
1749 base lsp-encoding-types;
1751 "Ethernet LSP encoding.";
1753 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1754 Signaling Functional Description";
1757 identity lsp-encoding-pdh {
1758 base lsp-encoding-types;
1760 "ANSI/ETSI PDH LSP encoding.";
1762 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1763 Signaling Functional Description";
1766 identity lsp-encoding-sdh {
1767 base lsp-encoding-types;
1769 "SDH ITU-T G.707 / SONET ANSI T1.105 LSP encoding.";
1771 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1772 Signaling Functional Description";
1775 identity lsp-encoding-digital-wrapper {
1776 base lsp-encoding-types;
1778 "Digital Wrapper LSP encoding.";
1780 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1781 Signaling Functional Description";
1784 identity lsp-encoding-lambda {
1785 base lsp-encoding-types;
1787 "Lambda (photonic) LSP encoding.";
1789 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1790 Signaling Functional Description";
1793 identity lsp-encoding-fiber {
1794 base lsp-encoding-types;
1796 "Fiber LSP encoding.";
1798 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1799 Signaling Functional Description";
1802 identity lsp-encoding-fiber-channel {
1803 base lsp-encoding-types;
1805 "FiberChannel LSP encoding.";
1807 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1808 Signaling Functional Description";
1811 identity lsp-encoding-oduk {
1812 base lsp-encoding-types;
1814 "G.709 ODUk (Digital Path) LSP encoding.";
1816 "RFC 4328: Generalized Multi-Protocol Label Switching (GMPLS)
1817 Signaling Extensions for G.709 Optical Transport Networks
1821 identity lsp-encoding-optical-channel {
1822 base lsp-encoding-types;
1824 "G.709 Optical Channel LSP encoding.";
1826 "RFC 4328: Generalized Multi-Protocol Label Switching (GMPLS)
1827 Signaling Extensions for G.709 Optical Transport Networks
1831 identity lsp-encoding-line {
1832 base lsp-encoding-types;
1834 "Line (e.g., 8B/10B) LSP encoding.";
1836 "RFC 6004: Generalized MPLS (GMPLS) Support for Metro
1837 Ethernet Forum and G.8011 Ethernet Service Switching";
1840 identity path-signaling-type {
1842 "Base identity from which specific LSP path setup types
1846 identity path-setup-static {
1847 base path-signaling-type;
1849 "Static LSP provisioning path setup.";
1852 identity path-setup-rsvp {
1853 base path-signaling-type;
1855 "RSVP-TE signaling path setup.";
1857 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
1860 identity path-setup-sr {
1861 base path-signaling-type;
1863 "Segment-routing path setup.";
1866 identity path-scope-type {
1868 "Base identity from which specific path scope types are
1872 identity path-scope-segment {
1873 base path-scope-type;
1875 "Path scope segment.";
1877 "RFC 4873: GMPLS Segment Recovery";
1880 identity path-scope-end-to-end {
1881 base path-scope-type;
1883 "Path scope end to end.";
1885 "RFC 4873: GMPLS Segment Recovery";
1888 identity route-usage-type {
1890 "Base identity for route usage.";
1893 identity route-include-object {
1894 base route-usage-type;
1896 "'Include route' object.";
1899 identity route-exclude-object {
1900 base route-usage-type;
1902 "'Exclude route' object.";
1904 "RFC 4874: Exclude Routes - Extension to Resource ReserVation
1905 Protocol-Traffic Engineering (RSVP-TE)";
1908 identity route-exclude-srlg {
1909 base route-usage-type;
1913 "RFC 4874: Exclude Routes - Extension to Resource ReserVation
1914 Protocol-Traffic Engineering (RSVP-TE)";
1917 identity path-metric-type {
1919 "Base identity for the path metric type.";
1922 identity path-metric-te {
1923 base path-metric-type;
1927 "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a
1928 second MPLS Traffic Engineering (TE) Metric";
1931 identity path-metric-igp {
1932 base path-metric-type;
1936 "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a
1937 second MPLS Traffic Engineering (TE) Metric";
1940 identity path-metric-hop {
1941 base path-metric-type;
1946 identity path-metric-delay-average {
1947 base path-metric-type;
1949 "Average unidirectional link delay.";
1951 "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions";
1954 identity path-metric-delay-minimum {
1955 base path-metric-type;
1957 "Minimum unidirectional link delay.";
1959 "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions";
1962 identity path-metric-residual-bandwidth {
1963 base path-metric-type;
1965 "Unidirectional Residual Bandwidth, which is defined to be
1966 Maximum Bandwidth (RFC 3630) minus the bandwidth currently
1967 allocated to LSPs.";
1969 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
1971 RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions";
1974 identity path-metric-optimize-includes {
1975 base path-metric-type;
1977 "A metric that optimizes the number of included resources
1978 specified in a set.";
1981 identity path-metric-optimize-excludes {
1982 base path-metric-type;
1984 "A metric that optimizes to a maximum the number of excluded
1985 resources specified in a set.";
1988 identity path-tiebreaker-type {
1990 "Base identity for the path tiebreaker type.";
1993 identity path-tiebreaker-minfill {
1994 base path-tiebreaker-type;
1996 "Min-Fill LSP path placement.";
1999 identity path-tiebreaker-maxfill {
2000 base path-tiebreaker-type;
2002 "Max-Fill LSP path placement.";
2005 identity path-tiebreaker-random {
2006 base path-tiebreaker-type;
2008 "Random LSP path placement.";
2011 identity resource-affinities-type {
2013 "Base identity for resource class affinities.";
2015 "RFC 2702: Requirements for Traffic Engineering Over MPLS";
2018 identity resource-aff-include-all {
2019 base resource-affinities-type;
2021 "The set of attribute filters associated with a
2022 tunnel, all of which must be present for a link
2025 "RFC 2702: Requirements for Traffic Engineering Over MPLS
2026 RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
2029 identity resource-aff-include-any {
2030 base resource-affinities-type;
2032 "The set of attribute filters associated with a
2033 tunnel, any of which must be present for a link
2036 "RFC 2702: Requirements for Traffic Engineering Over MPLS
2037 RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
2040 identity resource-aff-exclude-any {
2041 base resource-affinities-type;
2043 "The set of attribute filters associated with a
2044 tunnel, any of which renders a link unacceptable.";
2046 "RFC 2702: Requirements for Traffic Engineering Over MPLS
2047 RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
2050 identity te-optimization-criterion {
2052 "Base identity for the TE optimization criteria.";
2054 "RFC 3272: Overview and Principles of Internet Traffic
2058 identity not-optimized {
2059 base te-optimization-criterion;
2061 "Optimization is not applied.";
2065 base te-optimization-criterion;
2067 "Optimized on cost.";
2069 "RFC 5541: Encoding of Objective Functions in the Path
2070 Computation Element Communication Protocol (PCEP)";
2074 base te-optimization-criterion;
2076 "Optimized on delay.";
2078 "RFC 5541: Encoding of Objective Functions in the Path
2079 Computation Element Communication Protocol (PCEP)";
2082 identity path-computation-srlg-type {
2084 "Base identity for SRLG path computation.";
2087 identity srlg-ignore {
2088 base path-computation-srlg-type;
2090 "Ignores SRLGs in the path computation.";
2093 identity srlg-strict {
2094 base path-computation-srlg-type;
2096 "Includes a strict SRLG check in the path computation.";
2099 identity srlg-preferred {
2100 base path-computation-srlg-type;
2102 "Includes a preferred SRLG check in the path computation.";
2105 identity srlg-weighted {
2106 base path-computation-srlg-type;
2108 "Includes a weighted SRLG check in the path computation.";
2112 * TE bandwidth groupings
2115 grouping te-bandwidth {
2117 "This grouping defines the generic TE bandwidth.
2118 For some known data-plane technologies, specific modeling
2119 structures are specified. The string-encoded 'te-bandwidth'
2120 type is used for unspecified technologies.
2121 The modeling structure can be augmented later for other
2123 container te-bandwidth {
2125 "Container that specifies TE bandwidth. The choices
2126 can be augmented for specific data-plane technologies.";
2130 "Data-plane technology type.";
2135 "Bandwidth specified in a generic format.";
2143 * TE label groupings
2148 "This grouping defines the generic TE label.
2149 The modeling structure can be augmented for each technology.
2150 For unspecified technologies, 'rt-types:generalized-label'
2152 container te-label {
2154 "Container that specifies the TE label. The choices can
2155 be augmented for specific data-plane technologies.";
2159 "Data-plane technology type.";
2162 type rt-types:generalized-label;
2164 "TE label specified in a generic format.";
2169 type te-label-direction;
2177 grouping te-topology-identifier {
2179 "Augmentation for a TE topology.";
2180 container te-topology-identifier {
2182 "TE topology identifier container.";
2187 "An identifier to uniquely identify a provider.
2188 If omitted, it assumes that the topology provider ID
2189 value = 0 (the default).";
2195 "An identifier to uniquely identify a client.
2196 If omitted, it assumes that the topology client ID
2197 value = 0 (the default).";
2200 type te-topology-id;
2203 "When the datastore contains several topologies,
2204 'topology-id' distinguishes between them. If omitted,
2205 the default (empty) string for this leaf is assumed.";
2211 * TE performance metrics groupings
2214 grouping performance-metrics-one-way-delay-loss {
2216 "Performance Metrics (PM) information in real time that can
2217 be applicable to links or connections. PM defined in this
2218 grouping are applicable to generic TE PM as well as packet TE
2221 "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
2222 RFC 7823: Performance-Based Path Selection for Explicitly
2223 Routed Label Switched Paths (LSPs) Using TE Metric
2225 RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
2226 leaf one-way-delay {
2228 range "0..16777215";
2231 "One-way delay or latency in microseconds.";
2233 leaf one-way-delay-normality {
2234 type te-types:performance-metrics-normality;
2236 "One-way delay normality.";
2240 grouping performance-metrics-two-way-delay-loss {
2242 "PM information in real time that can be applicable to links or
2243 connections. PM defined in this grouping are applicable to
2244 generic TE PM as well as packet TE PM.";
2246 "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
2247 RFC 7823: Performance-Based Path Selection for Explicitly
2248 Routed Label Switched Paths (LSPs) Using TE Metric
2250 RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
2251 leaf two-way-delay {
2253 range "0..16777215";
2256 "Two-way delay or latency in microseconds.";
2258 leaf two-way-delay-normality {
2259 type te-types:performance-metrics-normality;
2261 "Two-way delay normality.";
2265 grouping performance-metrics-one-way-bandwidth {
2267 "PM information in real time that can be applicable to links.
2268 PM defined in this grouping are applicable to generic TE PM
2269 as well as packet TE PM.";
2271 "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
2272 RFC 7823: Performance-Based Path Selection for Explicitly
2273 Routed Label Switched Paths (LSPs) Using TE Metric
2275 RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
2276 leaf one-way-residual-bandwidth {
2277 type rt-types:bandwidth-ieee-float32;
2278 units "bytes per second";
2281 "Residual bandwidth that subtracts tunnel reservations from
2282 Maximum Bandwidth (or link capacity) (RFC 3630) and
2283 provides an aggregated remainder across QoS classes.";
2285 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
2288 leaf one-way-residual-bandwidth-normality {
2289 type te-types:performance-metrics-normality;
2292 "Residual bandwidth normality.";
2294 leaf one-way-available-bandwidth {
2295 type rt-types:bandwidth-ieee-float32;
2296 units "bytes per second";
2299 "Available bandwidth that is defined to be residual
2300 bandwidth minus the measured bandwidth used for the
2301 actual forwarding of non-RSVP-TE LSP packets. For a
2302 bundled link, available bandwidth is defined to be the
2303 sum of the component link available bandwidths.";
2305 leaf one-way-available-bandwidth-normality {
2306 type te-types:performance-metrics-normality;
2309 "Available bandwidth normality.";
2311 leaf one-way-utilized-bandwidth {
2312 type rt-types:bandwidth-ieee-float32;
2313 units "bytes per second";
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 utilizations.";
2321 leaf one-way-utilized-bandwidth-normality {
2322 type te-types:performance-metrics-normality;
2325 "Bandwidth utilization normality.";
2329 grouping one-way-performance-metrics {
2331 "One-way PM throttle grouping.";
2332 leaf one-way-delay {
2334 range "0..16777215";
2338 "One-way delay or latency in microseconds.";
2340 leaf one-way-residual-bandwidth {
2341 type rt-types:bandwidth-ieee-float32;
2342 units "bytes per second";
2345 "Residual bandwidth that subtracts tunnel reservations from
2346 Maximum Bandwidth (or link capacity) (RFC 3630) and
2347 provides an aggregated remainder across QoS classes.";
2349 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
2352 leaf one-way-available-bandwidth {
2353 type rt-types:bandwidth-ieee-float32;
2354 units "bytes per second";
2357 "Available bandwidth that is defined to be residual
2358 bandwidth minus the measured bandwidth used for the
2359 actual forwarding of non-RSVP-TE LSP packets. For a
2360 bundled link, available bandwidth is defined to be the
2361 sum of the component link available bandwidths.";
2363 leaf one-way-utilized-bandwidth {
2364 type rt-types:bandwidth-ieee-float32;
2365 units "bytes per second";
2368 "Bandwidth utilization that represents the actual
2369 utilization of the link (i.e., as measured in the router).
2370 For a bundled link, bandwidth utilization is defined to
2371 be the sum of the component link bandwidth utilizations.";
2375 grouping two-way-performance-metrics {
2377 "Two-way PM throttle grouping.";
2378 leaf two-way-delay {
2380 range "0..16777215";
2384 "Two-way delay or latency in microseconds.";
2388 grouping performance-metrics-thresholds {
2390 "Grouping for configurable thresholds for measured
2392 uses one-way-performance-metrics;
2393 uses two-way-performance-metrics;
2396 grouping performance-metrics-attributes {
2398 "Contains PM attributes.";
2399 container performance-metrics-one-way {
2401 "One-way link performance information in real time.";
2403 "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
2404 RFC 7823: Performance-Based Path Selection for Explicitly
2405 Routed Label Switched Paths (LSPs) Using TE Metric
2407 RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
2408 uses performance-metrics-one-way-delay-loss;
2409 uses performance-metrics-one-way-bandwidth;
2411 container performance-metrics-two-way {
2413 "Two-way link performance information in real time.";
2415 "RFC 6374: Packet Loss and Delay Measurement for MPLS
2417 uses performance-metrics-two-way-delay-loss;
2421 grouping performance-metrics-throttle-container {
2423 "Controls PM throttling.";
2424 container throttle {
2425 must 'suppression-interval >= measure-interval' {
2426 error-message "'suppression-interval' cannot be less than "
2427 + "'measure-interval'.";
2429 "Constraint on 'suppression-interval' and
2430 'measure-interval'.";
2433 "Link performance information in real time.";
2435 "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
2436 RFC 7823: Performance-Based Path Selection for Explicitly
2437 Routed Label Switched Paths (LSPs) Using TE Metric
2439 RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
2440 leaf one-way-delay-offset {
2442 range "0..16777215";
2446 "Offset value to be added to the measured delay value.";
2448 leaf measure-interval {
2452 "Interval, in seconds, to measure the extended metric
2455 leaf advertisement-interval {
2459 "Interval, in seconds, to advertise the extended metric
2462 leaf suppression-interval {
2468 "Interval, in seconds, to suppress advertisement of the
2469 extended metric values.";
2471 "RFC 8570: IS-IS Traffic Engineering (TE) Metric
2472 Extensions, Section 6";
2474 container threshold-out {
2475 uses performance-metrics-thresholds;
2477 "If the measured parameter falls outside an upper bound
2478 for all but the minimum-delay metric (or a lower bound
2479 for the minimum-delay metric only) and the advertised
2480 value is not already outside that bound, an 'anomalous'
2481 announcement (anomalous bit set) will be triggered.";
2483 container threshold-in {
2484 uses performance-metrics-thresholds;
2486 "If the measured parameter falls inside an upper bound
2487 for all but the minimum-delay metric (or a lower bound
2488 for the minimum-delay metric only) and the advertised
2489 value is not already inside that bound, a 'normal'
2490 announcement (anomalous bit cleared) will be triggered.";
2492 container threshold-accelerated-advertisement {
2494 "When the difference between the last advertised value and
2495 the current measured value exceeds this threshold, an
2496 'anomalous' announcement (anomalous bit set) will be
2498 uses performance-metrics-thresholds;
2504 * TE tunnel generic groupings
2507 grouping explicit-route-hop {
2509 "The explicit route entry grouping.";
2512 "The explicit route entry type.";
2513 case numbered-node-hop {
2514 container numbered-node-hop {
2519 "The identifier of a node in the TE topology.";
2525 "Strict or loose hop.";
2528 "Numbered node route hop.";
2530 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
2531 Section 4.3, EXPLICIT_ROUTE in RSVP-TE
2532 RFC 3477: Signalling Unnumbered Links in Resource
2533 ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
2536 case numbered-link-hop {
2537 container numbered-link-hop {
2542 "TE Link Termination Point (LTP) identifier.";
2548 "Strict or loose hop.";
2551 type te-link-direction;
2554 "Link route object direction.";
2557 "Numbered link explicit route hop.";
2559 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
2560 Section 4.3, EXPLICIT_ROUTE in RSVP-TE
2561 RFC 3477: Signalling Unnumbered Links in Resource
2562 ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
2565 case unnumbered-link-hop {
2566 container unnumbered-link-hop {
2571 "TE LTP identifier. The combination of the TE link ID
2572 and the TE node ID is used to identify an unnumbered
2579 "The identifier of a node in the TE topology.";
2585 "Strict or loose hop.";
2588 type te-link-direction;
2591 "Link route object direction.";
2594 "Unnumbered link explicit route hop.";
2596 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
2597 Section 4.3, EXPLICIT_ROUTE in RSVP-TE
2598 RFC 3477: Signalling Unnumbered Links in Resource
2599 ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
2603 container as-number-hop {
2605 type inet:as-number;
2608 "The Autonomous System (AS) number.";
2614 "Strict or loose hop.";
2617 "AS explicit route hop.";
2621 container label-hop {
2627 "The label explicit route hop type.";
2632 grouping record-route-state {
2634 "The Record Route grouping.";
2638 "Record Route hop index. The index is used to
2639 identify an entry in the list. The order of entries
2640 is defined by the user without relying on key values.";
2644 "The Record Route entry type.";
2645 case numbered-node-hop {
2646 container numbered-node-hop {
2648 "Numbered node route hop container.";
2653 "The identifier of a node in the TE topology.";
2656 type path-attribute-flags;
2658 "Path attributes flags.";
2660 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
2661 RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
2663 RFC 4561: Definition of a Record Route Object (RRO)
2664 Node-Id Sub-Object";
2668 "Numbered node route hop.";
2670 case numbered-link-hop {
2671 container numbered-link-hop {
2673 "Numbered link route hop container.";
2678 "Numbered TE LTP identifier.";
2681 type path-attribute-flags;
2683 "Path attributes flags.";
2685 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
2686 RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
2688 RFC 4561: Definition of a Record Route Object (RRO)
2689 Node-Id Sub-Object";
2693 "Numbered link route hop.";
2695 case unnumbered-link-hop {
2696 container unnumbered-link-hop {
2701 "TE LTP identifier. The combination of the TE link ID
2702 and the TE node ID is used to identify an unnumbered
2708 "The identifier of a node in the TE topology.";
2711 type path-attribute-flags;
2713 "Path attributes flags.";
2715 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
2716 RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
2718 RFC 4561: Definition of a Record Route Object (RRO)
2719 Node-Id Sub-Object";
2722 "Unnumbered link Record Route hop.";
2724 "RFC 3477: Signalling Unnumbered Links in Resource
2725 ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
2728 "Unnumbered link route hop.";
2731 container label-hop {
2733 "Label route hop type.";
2736 type path-attribute-flags;
2738 "Path attributes flags.";
2740 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
2741 RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
2743 RFC 4561: Definition of a Record Route Object (RRO)
2744 Node-Id Sub-Object";
2748 "The label Record Route entry types.";
2753 grouping label-restriction-info {
2755 "Label set item information.";
2760 "The label or label range is inclusive.";
2764 "The label or label range is exclusive.";
2767 default "inclusive";
2769 "Indicates whether the list item is inclusive or exclusive.";
2774 "The index of the label restriction list entry.";
2776 container label-start {
2777 must "(not(../label-end/te-label/direction) and"
2778 + " not(te-label/direction))"
2780 + "(../label-end/te-label/direction = te-label/direction)"
2782 + "(not(te-label/direction) and"
2783 + " (../label-end/te-label/direction = 'forward'))"
2785 + "(not(../label-end/te-label/direction) and"
2786 + " (te-label/direction = 'forward'))" {
2787 error-message "'label-start' and 'label-end' must have the "
2788 + "same direction.";
2791 "This is the starting label if a label range is specified.
2792 This is the label value if a single label is specified,
2793 in which case the 'label-end' attribute is not set.";
2796 container label-end {
2797 must "(not(../label-start/te-label/direction) and"
2798 + " not(te-label/direction))"
2800 + "(../label-start/te-label/direction = te-label/direction)"
2802 + "(not(te-label/direction) and"
2803 + " (../label-start/te-label/direction = 'forward'))"
2805 + "(not(../label-start/te-label/direction) and"
2806 + " (te-label/direction = 'forward'))" {
2807 error-message "'label-start' and 'label-end' must have the "
2808 + "same direction.";
2811 "This is the ending label if a label range is specified.
2812 This attribute is not set if a single label is specified.";
2815 container label-step {
2817 "The step increment between labels in the label range.
2818 The label start/end values will have to be consistent
2819 with the sign of label step. For example,
2820 'label-start' < 'label-end' enforces 'label-step' > 0
2821 'label-start' > 'label-end' enforces 'label-step' < 0.";
2825 "Data-plane technology type.";
2831 "Label range step.";
2837 type yang:hex-string;
2839 "When there are gaps between 'label-start' and 'label-end',
2840 this attribute is used to specify the positions
2841 of the used labels. This is represented in big endian as
2843 The most significant byte in the hex-string is the farthest
2844 to the left in the byte sequence. Leading zero bytes in the
2845 configured value may be omitted for brevity.
2846 Each bit position in the 'range-bitmap' 'hex-string' maps
2847 to a label in the range derived from 'label-start'.
2849 For example, assuming that 'label-start' = 16000 and
2850 'range-bitmap' = 0x01000001, then:
2852 - bit position (0) is set, and the corresponding mapped
2853 label from the range is 16000 + (0 * 'label-step') or
2854 16000 for default 'label-step' = 1.
2855 - bit position (24) is set, and the corresponding mapped
2856 label from the range is 16000 + (24 * 'label-step') or
2857 16024 for default 'label-step' = 1.";
2861 grouping label-set-info {
2863 "Grouping for the list of label restrictions specifying what
2864 labels may or may not be used.";
2865 container label-restrictions {
2867 "The label restrictions container.";
2868 list label-restriction {
2871 "The absence of the label restrictions container implies
2872 that all labels are acceptable; otherwise, only restricted
2873 labels are available.";
2875 "RFC 7579: General Network Element Constraint Encoding
2876 for GMPLS-Controlled Networks";
2877 uses label-restriction-info;
2882 grouping optimization-metric-entry {
2884 "Optimization metrics configuration grouping.";
2887 base path-metric-type;
2890 "Identifies the 'metric-type' that the path computation
2891 process uses for optimization.";
2897 "TE path metric normalization weight.";
2899 container explicit-route-exclude-objects {
2900 when "../metric-type = "
2901 + "'te-types:path-metric-optimize-excludes'";
2903 "Container for the 'exclude route' object list.";
2904 uses path-route-exclude-objects;
2906 container explicit-route-include-objects {
2907 when "../metric-type = "
2908 + "'te-types:path-metric-optimize-includes'";
2910 "Container for the 'include route' object list.";
2911 uses path-route-include-objects;
2915 grouping common-constraints {
2917 "Common constraints grouping that can be set on
2918 a constraint set or directly on the tunnel.";
2921 "A requested bandwidth to use for path computation.";
2923 leaf link-protection {
2925 base link-protection-type;
2927 default "te-types:link-protection-unprotected";
2929 "Link protection type required for the links included
2930 in the computed path.";
2932 "RFC 4202: Routing Extensions in Support of
2933 Generalized Multi-Protocol Label Switching (GMPLS)";
2935 leaf setup-priority {
2941 "TE LSP requested setup priority.";
2943 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
2945 leaf hold-priority {
2951 "TE LSP requested hold priority.";
2953 "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
2955 leaf signaling-type {
2957 base path-signaling-type;
2959 default "te-types:path-setup-rsvp";
2961 "TE tunnel path signaling type.";
2965 grouping tunnel-constraints {
2967 "Tunnel constraints grouping that can be set on
2968 a constraint set or directly on the tunnel.";
2969 uses te-topology-identifier;
2970 uses common-constraints;
2973 grouping path-constraints-route-objects {
2975 "List of route entries to be included or excluded when
2976 performing the path computation.";
2977 container explicit-route-objects-always {
2979 "Container for the 'exclude route' object list.";
2980 list route-object-exclude-always {
2984 "List of route objects to always exclude from the path
2989 "Explicit Route Object index. The index is used to
2990 identify an entry in the list. The order of entries
2991 is defined by the user without relying on key values.";
2993 uses explicit-route-hop;
2995 list route-object-include-exclude {
2999 "List of route objects to include or exclude in the path
3001 leaf explicit-route-usage {
3003 base route-usage-type;
3005 default "te-types:route-include-object";
3007 "Indicates whether to include or exclude the
3008 route object. The default is to include it.";
3013 "Route object include-exclude index. The index is used
3014 to identify an entry in the list. The order of entries
3015 is defined by the user without relying on key values.";
3017 uses explicit-route-hop {
3030 "An SRLG value to be included or excluded.";
3033 "Augmentation for a generic explicit route for SRLG
3041 grouping path-route-include-objects {
3043 "List of route objects to be included when performing
3044 the path computation.";
3045 list route-object-include-object {
3049 "List of Explicit Route Objects to be included in the
3054 "Route object entry index. The index is used to
3055 identify an entry in the list. The order of entries
3056 is defined by the user without relying on key values.";
3058 uses explicit-route-hop;
3062 grouping path-route-exclude-objects {
3064 "List of route objects to be excluded when performing
3065 the path computation.";
3066 list route-object-exclude-object {
3070 "List of Explicit Route Objects to be excluded in the
3075 "Route object entry index. The index is used to
3076 identify an entry in the list. The order of entries
3077 is defined by the user without relying on key values.";
3079 uses explicit-route-hop {
3092 "An SRLG value to be included or excluded.";
3095 "Augmentation for a generic explicit route for SRLG
3102 grouping generic-path-metric-bounds {
3104 "TE path metric bounds grouping.";
3105 container path-metric-bounds {
3107 "TE path metric bounds container.";
3108 list path-metric-bound {
3111 "List of TE path metric bounds.";
3114 base path-metric-type;
3117 "Identifies an entry in the list of 'metric-type' items
3118 bound for the TE path.";
3124 "Upper bound on the end-to-end TE path metric. A zero
3125 indicates an unbounded upper limit for the specific
3132 grouping generic-path-optimization {
3134 "TE generic path optimization grouping.";
3135 container optimizations {
3137 "The objective function container that includes
3138 attributes to impose when computing a TE path.";
3141 "Optimizations algorithm.";
3143 if-feature "path-optimization-metric";
3144 /* Optimize by metric */
3145 list optimization-metric {
3148 "TE path metric type.";
3149 uses optimization-metric-entry;
3152 container tiebreakers {
3154 "Container for the list of tiebreakers.";
3156 key "tiebreaker-type";
3158 "The list of tiebreaker criteria to apply on an
3159 equally favored set of paths, in order to pick
3161 leaf tiebreaker-type {
3163 base path-metric-type;
3166 "Identifies an entry in the list of tiebreakers.";
3171 case objective-function {
3172 if-feature "path-optimization-objective-function";
3173 /* Objective functions */
3174 container objective-function {
3176 "The objective function container that includes
3177 attributes to impose when computing a TE path.";
3178 leaf objective-function-type {
3180 base objective-function-type;
3182 default "te-types:of-minimize-cost-path";
3184 "Objective function entry.";
3192 grouping generic-path-affinities {
3194 "Path affinities grouping.";
3195 container path-affinities-values {
3197 "Path affinities represented as values.";
3198 list path-affinities-value {
3201 "List of named affinity constraints.";
3204 base resource-affinities-type;
3207 "Identifies an entry in the list of value affinity
3214 "The affinity value. The default is empty.";
3218 container path-affinity-names {
3220 "Path affinities represented as names.";
3221 list path-affinity-name {
3224 "List of named affinity constraints.";
3227 base resource-affinities-type;
3230 "Identifies an entry in the list of named affinity
3233 list affinity-name {
3238 "Identifies a named affinity entry.";
3241 "List of named affinities.";
3247 grouping generic-path-srlgs {
3249 "Path SRLG grouping.";
3250 container path-srlgs-lists {
3252 "Path SRLG properties container.";
3253 list path-srlgs-list {
3256 "List of SRLG values to be included or excluded.";
3259 base route-usage-type;
3262 "Identifies an entry in a list of SRLGs to either
3263 include or exclude.";
3268 "List of SRLG values.";
3272 container path-srlgs-names {
3274 "Container for the list of named SRLGs.";
3275 list path-srlgs-name {
3278 "List of named SRLGs to be included or excluded.";
3281 base route-usage-type;
3284 "Identifies an entry in a list of named SRLGs to either
3285 include or exclude.";
3290 "List of named SRLGs.";
3296 grouping generic-path-disjointness {
3298 "Path disjointness grouping.";
3300 type te-path-disjointness;
3302 "The type of resource disjointness.
3303 When configured for a primary path, the disjointness level
3304 applies to all secondary LSPs. When configured for a
3305 secondary path, the disjointness level overrides the level
3306 configured for the primary path.";
3310 grouping common-path-constraints-attributes {
3312 "Common path constraints configuration grouping.";
3313 uses common-constraints;
3314 uses generic-path-metric-bounds;
3315 uses generic-path-affinities;
3316 uses generic-path-srlgs;
3319 grouping generic-path-constraints {
3321 "Global named path constraints configuration grouping.";
3322 container path-constraints {
3324 "TE named path constraints container.";
3325 uses common-path-constraints-attributes;
3326 uses generic-path-disjointness;
3330 grouping generic-path-properties {
3332 "TE generic path properties grouping.";
3333 container path-properties {
3336 "The TE path properties.";
3340 "TE path metric type.";
3343 base path-metric-type;
3346 "TE path metric type.";
3348 leaf accumulative-value {
3351 "TE path metric accumulative value.";
3354 uses generic-path-affinities;
3355 uses generic-path-srlgs;
3356 container path-route-objects {
3358 "Container for the list of route objects either returned by
3359 the computation engine or actually used by an LSP.";
3360 list path-route-object {
3364 "List of route objects either returned by the computation
3365 engine or actually used by an LSP.";
3369 "Route object entry index. The index is used to
3370 identify an entry in the list. The order of entries
3371 is defined by the user without relying on key
3374 uses explicit-route-hop;