4 namespace "urn:ietf:params:xml:ns:yang:ietf-te";
6 /* Replace with IANA when assigned */
9 /* Import TE generic types */
10 import ietf-te-types {
14 import ietf-inet-types {
19 "IETF Traffic Engineering Architecture and Signaling (TEAS)
23 "WG Web: <http://tools.ietf.org/wg/teas/>
24 WG List: <mailto:teas@ietf.org>
27 <mailto:lberger@labn.net>
29 WG Chair: Vishnu Pavan Beeram
30 <mailto:vbeeram@juniper.net>
33 <mailto:tsaad@cisco.com>
36 <mailto:rgandhi@cisco.com>
38 Editor: Vishnu Pavan Beeram
39 <mailto:vbeeram@juniper.net>
42 <mailto:hshah@ciena.com>
45 <mailto:Xufeng_Liu@jabil.com>
48 <mailto:Igor.Bryskin@huawei.com>";
51 "YANG data module for TE configuration,
52 state, RPC and notifications.";
54 revision "2018-03-03" {
55 description "Latest update to TE generic YANG module.";
61 path "/te:te/te:tunnels/te:tunnel/te:name";
64 "This type is used by data models that need to reference
65 configured TE tunnel.";
68 /**** TODO: FIXME Hesam
72 path "/te:te/te:tunnels/te:tunnel/" +
73 "te:p2p-primary-paths/te:p2p-primary-path/te:name";
76 path "/te:te/te:tunnels/te:tunnel/" +
77 "te:p2p-secondary-paths/te:p2p-secondary-path/te:name";
81 "This type is used by data models that need to reference
82 configured primary or secondary path of a TE tunnel.";
86 typedef tunnel-p2mp-ref {
88 path "/te:te/te:tunnels/te:tunnel-p2mp/te:name";
91 "This type is used by data models that need to reference
92 configured P2MP TE tunnel.";
97 * TE tunnel generic groupings
99 grouping path-affinities-contents_config {
101 "Path affinities constraints grouping";
102 reference "RFC3630 and RFC5305";
105 base te-types:resource-affinities-type;
107 description "Affinities usage";
111 "Path affinities representation style";
114 type te-types:admin-groups;
116 "Bitmap indicating what bits are of significance";
120 list affinity-names {
124 description "Affinity name";
126 description "List of named affinities";
132 grouping path-affinities {
133 description "Path affinities grouping";
134 container path-affinities {
135 description "Path affinities container";
138 description "List of named affinity constraints";
139 uses path-affinities-contents_config;
144 grouping path-srlgs-values_config {
145 description "Path SRLG values properties grouping";
146 reference "RFC4203 and RFC5307";
149 base te-types:route-exclude-srlg;
151 description "SRLG usage";
155 description "SRLG value";
156 reference "RFC4203 and RFC5307";
160 grouping path-srlgs {
161 description "Path SRLG properties grouping";
162 container path-srlgs {
163 description "Path SRLG properties container";
165 description "Type of SRLG representation";
167 uses path-srlgs-values_config;
170 container constraints {
171 description "SRLG named constraints";
176 base te-types:route-exclude-srlg;
178 description "SRLG usage";
180 container constraint {
181 description "Container for named SRLG list";
186 description "The SRLG name";
188 description "List named SRLGs";
191 description "List of named SRLG constraints";
199 grouping bidirectional-association_config {
201 "TE tunnel associated bidirectional leaves
207 "The TE tunnel association identifier.";
210 type inet:ip-address;
211 description "The TE tunnel association source.";
214 type inet:ip-address;
215 description "The TE tunnel association global source.";
219 base te-types:bidir-association-type;
221 default te-types:bidir-assoc-non-corouted;
222 description "The TE tunnel association type.";
226 base te-types:bidir-provisioning-mode;
229 "Describes the provisioning model of the
230 associated bidirectional LSP";
232 "draft-ietf-teas-mpls-tp-rsvpte-ext-
233 associated-lsp, section-3.2";
237 grouping bidir-assoc-properties {
239 "TE tunnel associated bidirectional properties
242 container bidirectional {
244 "TE tunnel associated bidirectional attributes.";
245 container association {
247 "Tunnel bidirectional association properties";
248 uses bidirectional-association_config;
253 grouping p2p-reverse-primary-path-properties {
254 description "tunnel path properties.";
256 container p2p-reverse-primary-path {
257 description "Tunnel reverse primary path properties";
258 uses p2p-path-reverse-properties_config;
262 "Configuration applied parameters and state";
263 uses p2p-path-properties_state;
265 container p2p-reverse-secondary-path {
266 description "Tunnel reverse secondary path properties";
267 uses p2p-reverse-path-candidate-secondary-path-config;
272 grouping p2p-secondary-path-properties {
273 description "tunnel path properties.";
274 uses p2p-path-properties_config;
275 uses protection-restoration-params_config;
279 "Configuration applied parameters and state";
280 uses p2p-path-properties_state;
284 grouping p2p-primary-path-properties {
286 "TE tunnel primary path properties grouping";
287 uses hierarchical-link;
288 uses p2p-path-properties_config;
292 "Configuration applied parameters and state";
293 uses p2p-path-properties_state;
297 grouping path-properties_state {
298 description "Computed path properties grouping";
301 base te-types:path-metric-type;
303 description "TE path metric type";
305 leaf accumulative-value {
307 description "TE path metric accumulative value";
311 grouping path-properties {
312 description "TE computed path properties grouping";
313 container path-properties {
314 description "The TE path computed properties";
317 description "TE path metric type";
320 path "../state/metric-type";
322 description "TE path metric type";
327 "Configuration applied parameters and state";
328 uses path-properties_state;
331 uses path-affinities;
333 container path-route-objects {
335 "Container for the list of computed route objects
336 as returned by the computation engine";
337 list path-computed-route-object {
340 "List of computed route objects returned by the
344 path "../state/index";
346 description "Index of computed route object";
351 "Configuration applied parameters and state";
352 uses te-types:explicit-route-hop;
356 uses shared-resources-tunnels;
360 grouping p2p-path-properties_state {
361 description "TE per path state parameters";
362 uses path-properties {
363 description "The TE path computed properties";
366 description "TE LSPs container";
369 "source destination tunnel-id lsp-id "+
370 "extended-tunnel-id";
371 description "List of LSPs associated with the tunnel.";
372 uses lsp-properties_state;
373 uses shared-resources-tunnels_state;
374 uses lsp-record-route-information_state;
375 uses path-properties {
376 description "The TE path actual properties";
382 grouping p2p-path-properties-common_config {
384 "TE tunnel common path properties configuration grouping";
387 description "TE path name";
389 leaf path-setup-protocol {
391 base te-types:path-signaling-type;
394 "Signaling protocol used to set up this tunnel";
396 leaf path-computation-method {
398 base te-types:path-computation-method;
400 default te-types:path-locally-computed;
402 "The method used for computing the path, either
403 locally computed, queried from a server or not
404 computed at all (explicitly configured).";
406 leaf path-computation-server {
407 when "../path-computation-method = "+
408 "'te-types:path-externally-queried'" {
410 "The path-computation server when the path is
413 type inet:ip-address;
415 "Address of the external path computation
421 "When set, the path is computed and updated whenever
422 the topology is updated. No resources are committed
423 or reserved in the network.";
425 leaf use-path-computation {
426 when "../path-computation-method =" +
427 " 'te-types:path-locally-computed'";
429 description "A CSPF dynamically computed path";
434 "Indicates no reoptimization to be attempted for
439 base te-types:path-scope-type;
441 default te-types:path-scope-end-to-end;
442 description "Path scope if segment or an end-to-end path";
446 grouping p2p-path-reverse-properties_config {
448 "TE tunnel reverse path properties configuration
450 uses p2p-path-properties-common_config;
451 uses path-constraints_config;
452 uses te-types:generic-path-optimization;
453 leaf named-path-constraint {
454 if-feature te-types:named-path-constraints;
456 path "../../../../../../globals/"
457 + "named-path-constraints/named-path-constraint/"
461 "Reference to a globally defined named path
466 grouping p2p-path-properties_config {
468 "TE tunnel path properties configuration grouping";
469 uses p2p-path-properties-common_config;
470 uses path-constraints_config;
471 uses te-types:generic-path-optimization;
477 "Specifies a preference for this path. The lower the
478 number higher the preference";
480 leaf named-path-constraint {
481 if-feature te-types:named-path-constraints;
483 path "../../../../../globals/"
484 + "named-path-constraints/named-path-constraint/"
488 "Reference to a globally defined named path
493 /* TE tunnel configuration data */
494 grouping tunnel-p2mp-params_config {
496 "Configuration parameters relating to TE tunnel";
499 description "TE tunnel name.";
504 "TE tunnel Identifier.";
509 "Textual description for this TE tunnel";
513 grouping hierarchical-link_config {
515 "Hierarchical link configuration grouping";
517 leaf local-te-node-id {
518 type te-types:te-node-id;
520 "Local TE node identifier";
522 leaf local-te-link-tp-id {
523 type te-types:te-tp-id;
525 "Local TE link termination point identifier";
527 leaf remote-te-node-id {
528 type te-types:te-node-id;
530 "Remote TE node identifier";
532 uses te-types:te-topology-identifier;
535 grouping hierarchical-link {
537 "Hierarchical link grouping";
539 container hierarchical-link {
541 "Identifies a hierarchical link (in client layer)
542 that this tunnel is associated with.";
543 uses hierarchical-link_config;
547 grouping protection-restoration-params_state {
549 "Protection parameters grouping";
550 leaf lockout-of-normal {
554 When set to 'True', it represents a lockout of normal
555 traffic external command. When set to 'False', it
556 represents a clear lockout of normal traffic external
557 command. The lockout of normal traffic command applies
561 "ITU-T G.808, RFC 4427";
567 When set to 'True', it represents a freeze external
568 command. When set to 'False', it represents a clear
569 freeze external command. The freeze command command
570 applies to all the Tunnels which are sharing the
571 protection resources with this Tunnel.
574 "ITU-T G.808, RFC 4427";
576 leaf lsp-protection-role {
580 "A working LSP must be a primary LSP whilst a protecting
581 LSP can be either a primary or a secondary LSP. Also,
582 known as protected LSPs when working LSPs are associated
583 with protecting LSPs.";
587 "A secondary LSP is an LSP that has been provisioned
588 in the control plane only; e.g. resource allocation
589 has not been committed at the data plane";
592 description "LSP role type";
593 reference "rfc4872, section 4.2.1";
596 leaf lsp-protection-state {
598 base te-types:lsp-protection-state;
601 "The state of the APS state machine controlling which
602 tunnels is using the resources of the protecting LSP.";
604 leaf protection-group-ingress-node-id {
605 type te-types:te-node-id;
607 "Indicates the te-node-id of the protection group
608 ingress node when the APS state represents an extenal
609 command (LoP, SF, MS) applied to it or a WTR timer
610 running on it. If the external command is not applied to
611 the ingress node or the WTR timer is not running on it,
612 this attribute is not specified. If value 0.0.0.0 is used
613 when the te-node-id of the protection group ingress node is
614 unknown (e.g., because the ingress node is outside the scope
615 of control of the server)";
617 leaf protection-group-egress-node-id {
618 type te-types:te-node-id;
620 "Indicates the te-node-id of the protection group egress node
621 when the APS state represents an extenal command (LoP, SF,
622 MS) applied to it or a WTR timer running on it. If the
623 external command is not applied to the ingress node or
624 the WTR timer is not running on it, this attribute is not
625 specified. If value 0.0.0.0 is used when the te-node-id of
626 the protection group ingress node is unknown (e.g., because
627 the ingress node is outside the scope of control of the
632 grouping protection-restoration-params_config {
633 description "Protection and restoration parameters";
634 container protection {
635 description "Protection parameters";
640 "A flag to specify if LSP protection is enabled";
643 leaf protection-type {
645 base te-types:lsp-protection-type;
647 description "LSP protection type.";
649 leaf protection-reversion-disable {
651 description "Disable protection reversion to working path";
655 units "milli-seconds";
658 "The time between the declaration of an SF or SD condition
659 and the initialization of the protection switching
662 leaf wait-to-revert {
666 "Time to wait before attempting LSP reversion";
673 "The APS signal number used to reference the traffic of this
674 tunnel. The default value for normal traffic is 1.
675 The default value for extra-traffic is 255. If not specified,
676 non-default values can be assigned by the server,
677 if and only if, the server controls both endpoints.";
682 container restoration {
683 description "Restoration parameters";
688 "A flag to specify if LSP restoration is enabled";
691 leaf restoration-type {
693 base te-types:lsp-restoration-type;
695 description "LSP restoration type.";
697 leaf restoration-scheme {
699 base te-types:restoration-scheme-type;
701 description "LSP restoration scheme.";
703 leaf restoration-reversion-disable {
705 description "Disable restoration reversion to working path";
709 units "milli-seconds";
711 "The time between the declaration of an SF or SD condition
712 and the initialization of the protection switching
715 leaf wait-to-restore {
719 "Time to wait before attempting LSP restoration";
721 leaf wait-to-revert {
725 "Time to wait before attempting LSP reversion";
730 grouping p2p-dependency-tunnels_config {
732 "Groupong for tunnel dependency list of tunnels";
733 container dependency-tunnels {
734 description "Dependency tunnels list";
735 list dependency-tunnel {
737 description "Dependency tunnel entry";
740 path "../../../../../tunnels/tunnel/name";
741 require-instance false;
743 description "Dependency tunnel name";
747 base te-types:lsp-encoding-types;
749 description "LSP encoding type";
752 leaf switching-type {
754 base te-types:switching-capabilities;
756 description "LSP switching type";
763 grouping tunnel-p2p-params_config {
765 "Configuration parameters relating to TE tunnel";
768 description "TE tunnel name.";
773 "TE tunnel Identifier.";
778 "Textual description for this TE tunnel";
782 base te-types:lsp-encoding-types;
784 description "LSP encoding type";
787 leaf switching-type {
789 base te-types:switching-capabilities;
791 description "LSP switching type";
794 leaf provisioning-state {
796 base te-types:tunnel-state-type;
798 default te-types:tunnel-state-up;
799 description "TE tunnel administrative state.";
806 "Specifies a preference for this tunnel.
807 A lower number signifies a better preference";
809 leaf reoptimize-timer {
813 "frequency of reoptimization of
814 a traffic engineered LSP";
817 type inet:ip-address;
819 "TE tunnel source address.";
822 type inet:ip-address;
824 "P2P tunnel destination address";
829 "TE tunnel source termination point identifier.";
834 "TE tunnel destination termination point identifier.";
836 uses protection-restoration-params_config;
837 uses te-types:tunnel-constraints_config;
838 uses p2p-dependency-tunnels_config;
841 grouping tunnel-p2p-params_state {
843 "State parameters relating to TE tunnel";
844 leaf operational-state {
846 base te-types:tunnel-state-type;
848 default te-types:tunnel-state-up;
849 description "TE tunnel administrative state.";
853 grouping access-segment-info {
855 "info related to a segment";
858 "for the forward direction of this tunnel";
859 uses te-types:label-set-info;
863 "for the reverse direction of this tunnel";
864 uses te-types:label-set-info;
868 grouping path-access-segment-info {
870 "If an end-to-end tunnel crosses multiple domains using
871 the same technology, some additional constraints have to be
872 taken in consideration in each domain";
873 container path-in-segment {
875 "The end-to-end tunnel starts in a previous domain;
876 this tunnel is a segment in the current domain.";
878 "This tunnel is a segment that needs to be coordinated
879 with previous segment stitched on head-end side.";
880 uses access-segment-info;
882 container path-out-segment {
884 "The end-to-end tunnel is not terminated in this domain;
885 this tunnel is a segment in the current domain.";
887 "This tunnel is a segment that needs to be coordinated
888 with previous segment stitched on head-end side.";
889 uses access-segment-info;
893 /* TE tunnel configuration/state grouping */
894 grouping tunnel-p2mp-properties {
896 "Top level grouping for P2MP tunnel properties.";
897 uses tunnel-p2mp-params_config;
901 "Configuration applied parameters and state";
902 leaf operational-state {
904 base te-types:tunnel-state-type;
906 default te-types:tunnel-state-up;
907 description "TE tunnel administrative state.";
912 grouping p2p-path-candidate-secondary-path-config {
914 "Configuration parameters relating to a secondary path which
915 is a candidate for a particular primary path";
917 leaf secondary-path {
919 path "../../../../../p2p-secondary-paths/" +
920 "p2p-secondary-path/name";
923 "A reference to the secondary path that should be utilised
924 when the containing primary path option is in use";
927 leaf path-setup-protocol {
929 base te-types:path-signaling-type;
932 "Signaling protocol used to set up this tunnel";
936 grouping p2p-reverse-path-candidate-secondary-path-config {
938 "Configuration parameters relating to a secondary path which
939 is a candidate for a particular primary path";
941 leaf secondary-path {
943 path "../../../../../p2p-secondary-paths/" +
944 "p2p-secondary-path/name";
947 "A reference to the secondary path that should be utilised
948 when the containing primary path option is in use";
951 leaf path-setup-protocol {
953 base te-types:path-signaling-type;
956 "Signaling protocol used to set up this tunnel";
960 grouping p2p-path-candidate-secondary-path-state {
962 "Operational state parameters relating to a secondary path
963 which is a candidate for a particular primary path";
968 "Indicates the current active path option that has
969 been selected of the candidate secondary paths";
973 grouping tunnel-p2p-properties {
975 "Top level grouping for tunnel properties.";
976 uses tunnel-p2p-params_config;
980 "Configuration applied parameters and state";
981 uses tunnel-p2p-params_state;
983 uses bidir-assoc-properties;
984 container p2p-primary-paths {
985 description "Set of P2P primary aths container";
986 list p2p-primary-path {
989 "List of primary paths for this tunnel.";
990 uses p2p-primary-path-properties;
991 uses p2p-reverse-primary-path-properties;
992 container candidate-p2p-secondary-paths {
994 "The set of candidate secondary paths which may be used
995 for this primary path. When secondary paths are specified
996 in the list the path of the secondary LSP in use must be
997 restricted to those path options referenced. The
998 priority of the secondary paths is specified within the
999 list. Higher priority values are less preferred - that is
1000 to say that a path with priority 0 is the most preferred
1001 path. In the case that the list is empty, any secondary
1002 path option may be utilised when the current primary path
1004 list candidate-p2p-secondary-path {
1005 key "secondary-path";
1007 "List of secondary paths for this tunnel.";
1008 uses p2p-path-candidate-secondary-path-config;
1013 "Configuration applied parameters and state";
1014 uses p2p-path-candidate-secondary-path-state;
1020 container p2p-secondary-paths {
1021 description "Set of P2P secondary paths container";
1022 list p2p-secondary-path {
1025 "List of secondary paths for this tunnel.";
1026 uses p2p-secondary-path-properties;
1031 grouping shared-resources-tunnels_state {
1033 "The specific tunnel that is using the shared secondary path
1035 leaf lsp-shared-resources-tunnel {
1038 "Reference to the tunnel that sharing secondary path
1039 resources with this tunnel";
1042 grouping shared-resources-tunnels {
1044 "Set of tunnels that share secondary path resources with
1046 container shared-resources-tunnels {
1048 "Set of tunnels that share secondary path resources with
1050 leaf-list lsp-shared-resources-tunnel {
1053 "Reference to the tunnel that sharing secondary path
1054 resources with this tunnel";
1059 grouping tunnel-actions {
1060 description "Tunnel actions";
1061 /***TODO: FIXME: Hesam: actions are not supported by yangtools yet
1062 action tunnel-action {
1063 description "Tunnel action";
1067 base te-types:tunnel-action-type;
1069 description "Tunnel action type";
1073 leaf action-result {
1075 base te-types:te-action-result;
1077 description "The result of the RPC operation";
1081 ****TODO: FIXME****/
1083 grouping tunnel-protection-actions {
1085 "Protection external command actions";
1086 /***TODO: FIXME: Hesam: actions are not supported by yangtools yet
1087 action protection-external-commands {
1089 leaf protection-external-command {
1091 base te-types:protection-external-commands;
1094 "Protection external command";
1096 leaf protection-group-ingress-node-id {
1097 type te-types:te-node-id;
1099 "Indicates the te-node-id of the protection group
1100 ingress node when the extenal command has to be
1101 applied to it. If the external command is not applied
1102 to the ingress node, this attribute is not specified.";
1104 leaf protection-group-egress-node-id {
1105 type te-types:te-node-id;
1107 "Indicates the te-node-id of the protection group egress
1108 node when the extenal command has to be applied to it.
1109 If the external command is not applied to the egress node,
1110 This attribute is not specified.";
1115 "Indicates to which path the external command applies to.";
1119 enum normal-traffic {
1121 "The manual-switch or forced-switch command applies to
1122 the normal traffic (this Tunnel).";
1126 "The manual-switch or forced-switch command applies to
1129 enum extra-traffic {
1131 "The manual-switch or forced-switch command applies to
1132 the extra traffic (the extra-traffic Tunnel sharing
1133 protection bandwidth with this Tunnel).";
1137 "Indicates whether the manual-switch or forced-switch
1138 commands applies to the normal traffic, the null traffic
1139 or the extra-traffic.";
1141 "ITU-T G.808, RFC 4427";
1143 leaf extra-traffic-tunnel-ref {
1146 "In case there are multiple extra-traffic tunnels sharing
1147 protection bandwidth with this Tunnel (m:n protection),
1148 represents which extra-traffic Tunnel the manual-switch or
1149 forced-switch to extra-traffic command applies to.";
1153 ****TODO: FIXME****/
1156 /*** End of TE tunnel groupings ***/
1159 * LSP related generic groupings
1161 grouping lsp-record-route-information_state {
1162 description "recorded route information grouping";
1163 container lsp-record-route-subobjects {
1164 description "RSVP recorded route object information";
1165 list record-route-subobject {
1166 when "../../origin-type = 'ingress'" {
1167 description "Applicable on non-ingress LSPs only";
1170 description "Record route sub-object list";
1171 uses te-types:record-route-subobject_state;
1176 grouping lsps-state-grouping {
1178 "LSPs state operational data grouping";
1179 container lsps-state {
1181 description "TE LSPs state container";
1184 "source destination tunnel-id lsp-id "+
1185 "extended-tunnel-id";
1186 description "List of LSPs associated with the tunnel.";
1187 uses lsp-properties_state;
1188 uses lsp-record-route-information_state;
1193 /*** End of TE LSP groupings ***/
1196 * TE global generic groupings
1199 /* Global named admin-groups configuration data */
1200 grouping named-admin-groups_config {
1202 "Global named administrative groups configuration
1207 "A string name that uniquely identifies a TE
1208 interface named admin-group";
1213 "Bit position representing the administrative group";
1216 grouping named-admin-groups {
1218 "Global named administrative groups configuration
1220 container named-admin-groups {
1221 description "TE named admin groups container";
1222 list named-admin-group {
1223 if-feature te-types:extended-admin-groups;
1224 if-feature te-types:named-extended-admin-groups;
1227 "List of named TE admin-groups";
1228 uses named-admin-groups_config;
1233 /* Global named admin-srlgs configuration data */
1234 grouping named-srlgs_config {
1236 "Global named SRLGs configuration grouping";
1240 "A string name that uniquely identifies a TE
1241 interface named srlg";
1245 description "An SRLG value";
1250 "SRLG associated cost. Used during path to append
1251 the path cost when traversing a link with this SRLG";
1255 grouping named-srlgs {
1257 "Global named SRLGs configuration grouping";
1258 container named-srlgs {
1259 description "TE named SRLGs container";
1261 if-feature te-types:named-srlg-groups;
1264 "A list of named SRLG groups";
1265 uses named-srlgs_config;
1270 /* Global named paths constraints configuration data */
1271 grouping path-constraints_state {
1273 "TE path constraints state";
1274 leaf bandwidth-generic_state {
1275 type te-types:te-bandwidth;
1277 "A technology agnostic requested bandwidth to use
1278 for path computation";
1280 leaf disjointness_state {
1281 type te-types:te-path-disjointness;
1283 "The type of resource disjointness.";
1287 grouping path-constraints_config {
1289 "Global named path constraints configuration
1291 uses te-types:common-constraints_config;
1292 uses te-types:generic-path-disjointness;
1293 uses te-types:generic-path-metric-bounds;
1294 uses path-affinities;
1296 uses te-types:path-route-objects;
1297 uses shared-resources-tunnels {
1299 "Set of tunnels that are allowed to share secondary path
1300 resources of this tunnel";
1302 uses path-access-segment-info {
1304 "Tunnel constraints induced by other segments.";
1308 grouping path-constraints {
1309 description "Per path constraints";
1310 uses path-constraints_config;
1314 "Configuration applied parameters and state";
1315 uses path-constraints_state;
1319 grouping named-path-constraints {
1321 "Global named path constraints configuration
1323 container named-path-constraints {
1324 description "TE named path constraints container";
1325 list named-path-constraint {
1326 if-feature te-types:named-path-constraints;
1331 "A string name that uniquely identifies a
1332 path constraint set";
1334 uses path-constraints;
1336 "A list of named path constraints";
1341 /* TE globals container data */
1342 grouping globals-grouping {
1344 "Globals TE system-wide configuration data grouping";
1347 "Globals TE system-wide configuration data container";
1348 uses named-admin-groups;
1350 uses named-path-constraints;
1354 /* TE tunnels container data */
1355 grouping tunnels-grouping {
1357 "Tunnels TE configuration data grouping";
1360 "Tunnels TE configuration data container";
1364 description "P2P TE tunnels list.";
1365 uses tunnel-p2p-properties;
1366 uses tunnel-actions;
1367 uses tunnel-protection-actions;
1371 unique "identifier";
1372 description "P2MP TE tunnels list.";
1373 uses tunnel-p2mp-properties;
1378 /* TE LSPs ephemeral state container data */
1379 grouping lsp-properties_state {
1381 "LSPs state operational data grouping";
1383 type inet:ip-address;
1385 "Tunnel sender address extracted from
1386 SENDER_TEMPLATE object";
1387 reference "RFC3209";
1390 type inet:ip-address;
1392 "Tunnel endpoint address extracted from
1394 reference "RFC3209";
1399 "Tunnel identifier used in the SESSION
1400 that remains constant over the life
1402 reference "RFC3209";
1407 "Identifier used in the SENDER_TEMPLATE
1408 and the FILTER_SPEC that can be changed
1409 to allow a sender to share resources with
1411 reference "RFC3209";
1413 leaf extended-tunnel-id {
1414 type inet:ip-address;
1416 "Extended Tunnel ID of the LSP.";
1417 reference "RFC3209";
1419 leaf operational-state {
1421 base te-types:lsp-state-type;
1423 description "LSP operational state.";
1425 leaf path-setup-protocol {
1427 base te-types:path-signaling-type;
1430 "Signaling protocol used to set up this tunnel";
1448 "Origin type of LSP relative to the location
1449 of the local switch in the path.";
1452 leaf lsp-resource-status {
1456 "A primary LSP is a fully established LSP for
1457 which the resource allocation has been committed
1462 "A secondary LSP is an LSP that has been provisioned
1463 in the control plane only; e.g. resource allocation
1464 has not been committed at the data plane";
1467 description "LSP resource allocation type";
1468 reference "rfc4872, section 4.2.1";
1471 uses protection-restoration-params_state;
1473 /*** End of TE global groupings ***/
1476 * TE configurations container
1479 presence "Enable TE feature.";
1481 "TE global container.";
1483 /* TE Global Configuration Data */
1484 uses globals-grouping;
1486 /* TE Tunnel Configuration Data */
1487 uses tunnels-grouping;
1489 /* TE LSPs State Data */
1490 uses lsps-state-grouping;
1494 /* TE Global RPCs/execution Data */
1497 "Execution data for TE global.";
1500 /* TE interfaces RPCs/execution Data */
1501 rpc interfaces-rpc {
1503 "Execution data for TE interfaces.";
1506 /* TE Tunnel RPCs/execution Data */
1508 description "TE tunnels RPC nodes";
1510 container tunnel-info {
1511 description "Tunnel Identification";
1513 description "Tunnel information type";
1517 description "P2P TE tunnel";
1522 type te:tunnel-p2mp-ref;
1523 description "P2MP TE tunnel";
1532 "The container result of the RPC operation";
1536 description "Origin ingress";
1539 description "Origin egress";
1542 description "transit";
1545 description "The result of the RPC operation";
1551 /* TE Global Notification Data */
1552 notification globals-notif {
1554 "Notification messages for Global TE.";
1557 /* TE Tunnel Notification Data */
1558 notification tunnels-notif {
1560 "Notification messages for TE tunnels.";