gnpy-api 0.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. gnpy_api-0.0.0.dist-info/METADATA +78 -0
  2. gnpy_api-0.0.0.dist-info/RECORD +40 -0
  3. gnpy_api-0.0.0.dist-info/WHEEL +5 -0
  4. gnpy_api-0.0.0.dist-info/licenses/AUTHORS +1 -0
  5. gnpy_api-0.0.0.dist-info/licenses/LICENSE +28 -0
  6. gnpy_api-0.0.0.dist-info/pbr.json +1 -0
  7. gnpy_api-0.0.0.dist-info/top_level.txt +1 -0
  8. gnpyapi/__init__.py +0 -0
  9. gnpyapi/core/__init__.py +12 -0
  10. gnpyapi/core/exception/__init__.py +1 -0
  11. gnpyapi/core/exception/config_error.py +14 -0
  12. gnpyapi/core/exception/equipment_error.py +14 -0
  13. gnpyapi/core/exception/exception_handler.py +34 -0
  14. gnpyapi/core/exception/path_computation_error.py +14 -0
  15. gnpyapi/core/exception/topology_error.py +13 -0
  16. gnpyapi/core/model/__init__.py +1 -0
  17. gnpyapi/core/model/error.py +17 -0
  18. gnpyapi/core/model/result.py +8 -0
  19. gnpyapi/core/route/__init__.py +1 -0
  20. gnpyapi/core/route/path_request_route.py +28 -0
  21. gnpyapi/core/route/status_route.py +8 -0
  22. gnpyapi/core/service/__init__.py +1 -0
  23. gnpyapi/core/service/config_service.py +4 -0
  24. gnpyapi/core/service/equipment_service.py +5 -0
  25. gnpyapi/core/service/path_request_service.py +36 -0
  26. gnpyapi/core/service/topology_service.py +5 -0
  27. gnpyapi/exampledata/planning_demand_example.json +1578 -0
  28. gnpyapi/tools/__init__.py +0 -0
  29. gnpyapi/yang/gnpy-api@2021-01-06.yang +81 -0
  30. gnpyapi/yang/gnpy-eqpt-config@2020-10-22.yang +442 -0
  31. gnpyapi/yang/gnpy-eqpt-config@2025-01-20.yang +770 -0
  32. gnpyapi/yang/gnpy-network-topology@2020-10-22.yang +300 -0
  33. gnpyapi/yang/gnpy-network-topology@2025-01-20.yang +594 -0
  34. gnpyapi/yang/gnpy-path-computation-simplified@2020-10-22.yang +559 -0
  35. gnpyapi/yang/gnpy-path-computation@2025-01-21.yang +632 -0
  36. gnpyapi/yang/ietf-layer0-types@2024-03-04.yang +2247 -0
  37. gnpyapi/yang/ietf-optical-impairment-topology@2024-05-21.yang +1776 -0
  38. gnpyapi/yang/ietf-routing-types@2017-12-04.yang +771 -0
  39. gnpyapi/yang/ietf-te-topology@2020-08-06.yang +1952 -0
  40. gnpyapi/yang/ietf-te-types@2022-10-21.yang +3458 -0
@@ -0,0 +1,3458 @@
1
+ module ietf-te-types {
2
+ yang-version 1.1;
3
+ namespace "urn:ietf:params:xml:ns:yang:ietf-te-types";
4
+ prefix te-types;
5
+
6
+ import ietf-inet-types {
7
+ prefix inet;
8
+ reference
9
+ "RFC 6991: Common YANG Data Types";
10
+ }
11
+ import ietf-yang-types {
12
+ prefix yang;
13
+ reference
14
+ "RFC 6991: Common YANG Data Types";
15
+ }
16
+ import ietf-routing-types {
17
+ prefix rt-types;
18
+ reference
19
+ "RFC 8294: Common YANG Data Types for the Routing Area";
20
+ }
21
+
22
+ organization
23
+ "IETF Traffic Engineering Architecture and Signaling (TEAS)
24
+ Working Group";
25
+ contact
26
+ "WG Web: <https://datatracker.ietf.org/wg/teas/>
27
+ WG List: <mailto:teas@ietf.org>
28
+
29
+ Editor: Tarek Saad
30
+ <mailto:tsaad@juniper.net>
31
+
32
+ Editor: Rakesh Gandhi
33
+ <mailto:rgandhi@cisco.com>
34
+
35
+ Editor: Vishnu Pavan Beeram
36
+ <mailto:vbeeram@juniper.net>
37
+
38
+ Editor: Xufeng Liu
39
+ <mailto:xufeng.liu.ietf@gmail.com>
40
+
41
+ Editor: Igor Bryskin
42
+ <mailto:i_bryskin@yahoo.com>";
43
+ description
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
47
+ (NMDA).
48
+
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.
54
+
55
+ Copyright (c) 2020 IETF Trust and the persons identified as
56
+ authors of the code. All rights reserved.
57
+
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).
64
+
65
+ This version of this YANG module is part of RFC 8776; see the
66
+ RFC itself for full legal notices.";
67
+
68
+ revision 2022-10-21 {
69
+ description
70
+ "te-tp-id: add inet:uri for consistency with tp-id in ietf-network-topology@2018-02-26.yang";
71
+ }
72
+
73
+ revision 2021-02-13 {
74
+ description
75
+ "te-topology-id: invert order of params in union for typedef te-topology-id because of mdsal bug ";
76
+ }
77
+
78
+ revision 2020-11-26 {
79
+ description
80
+ "te-topology-id: workaround for typedef from another typedef which is of type enum because of mdsal bug ";
81
+ }
82
+
83
+ revision 2020-06-10 {
84
+ description
85
+ "Latest revision of TE types.";
86
+ reference
87
+ "RFC 8776: Common YANG Data Types for Traffic Engineering";
88
+ }
89
+
90
+ /**
91
+ * Typedefs
92
+ */
93
+
94
+ typedef admin-group {
95
+ type yang:hex-string {
96
+ /* 01:02:03:04 */
97
+ length "1..11";
98
+ }
99
+ description
100
+ "Administrative group / resource class / color representation
101
+ in 'hex-string' type.
102
+ The most significant byte in the hex-string is the farthest
103
+ to the left in the byte sequence. Leading zero bytes in the
104
+ configured value may be omitted for brevity.";
105
+ reference
106
+ "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
107
+ Version 2
108
+ RFC 5305: IS-IS Extensions for Traffic Engineering
109
+ RFC 7308: Extended Administrative Groups in MPLS Traffic
110
+ Engineering (MPLS-TE)";
111
+ }
112
+
113
+ typedef admin-groups {
114
+ type union {
115
+ type admin-group;
116
+ type extended-admin-group;
117
+ }
118
+ description
119
+ "Derived types for TE administrative groups.";
120
+ }
121
+
122
+ typedef extended-admin-group {
123
+ type yang:hex-string;
124
+ description
125
+ "Extended administrative group / resource class / color
126
+ representation in 'hex-string' type.
127
+ The most significant byte in the hex-string is the farthest
128
+ to the left in the byte sequence. Leading zero bytes in the
129
+ configured value may be omitted for brevity.";
130
+ reference
131
+ "RFC 7308: Extended Administrative Groups in MPLS Traffic
132
+ Engineering (MPLS-TE)";
133
+ }
134
+
135
+ typedef path-attribute-flags {
136
+ type union {
137
+ type identityref {
138
+ base session-attributes-flags;
139
+ }
140
+ type identityref {
141
+ base lsp-attributes-flags;
142
+ }
143
+ }
144
+ description
145
+ "Path attributes flags type.";
146
+ }
147
+
148
+ typedef performance-metrics-normality {
149
+ type enumeration {
150
+ enum unknown {
151
+ value 0;
152
+ description
153
+ "Unknown.";
154
+ }
155
+ enum normal {
156
+ value 1;
157
+ description
158
+ "Normal. Indicates that the anomalous bit is not set.";
159
+ }
160
+ enum abnormal {
161
+ value 2;
162
+ description
163
+ "Abnormal. Indicates that the anomalous bit is set.";
164
+ }
165
+ }
166
+ description
167
+ "Indicates whether a performance metric is normal (anomalous
168
+ bit not set), abnormal (anomalous bit set), or unknown.";
169
+ reference
170
+ "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
171
+ RFC 7823: Performance-Based Path Selection for Explicitly
172
+ Routed Label Switched Paths (LSPs) Using TE Metric
173
+ Extensions
174
+ RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
175
+ }
176
+
177
+ typedef srlg {
178
+ type uint32;
179
+ description
180
+ "SRLG type.";
181
+ reference
182
+ "RFC 4203: OSPF Extensions in Support of Generalized
183
+ Multi-Protocol Label Switching (GMPLS)
184
+ RFC 5307: IS-IS Extensions in Support of Generalized
185
+ Multi-Protocol Label Switching (GMPLS)";
186
+ }
187
+
188
+ typedef te-common-status {
189
+ type enumeration {
190
+ enum up {
191
+ description
192
+ "Enabled.";
193
+ }
194
+ enum down {
195
+ description
196
+ "Disabled.";
197
+ }
198
+ enum testing {
199
+ description
200
+ "In some test mode.";
201
+ }
202
+ enum preparing-maintenance {
203
+ description
204
+ "The resource is disabled in the control plane to prepare
205
+ for a graceful shutdown for maintenance purposes.";
206
+ reference
207
+ "RFC 5817: Graceful Shutdown in MPLS and Generalized MPLS
208
+ Traffic Engineering Networks";
209
+ }
210
+ enum maintenance {
211
+ description
212
+ "The resource is disabled in the data plane for maintenance
213
+ purposes.";
214
+ }
215
+ enum unknown {
216
+ description
217
+ "Status is unknown.";
218
+ }
219
+ }
220
+ description
221
+ "Defines a type representing the common states of a TE
222
+ resource.";
223
+ }
224
+
225
+ typedef te-bandwidth {
226
+ type string {
227
+ pattern '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
228
+ + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?'
229
+ + '[pP](\+)?(12[0-7]|'
230
+ + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+'
231
+ + '(,(0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
232
+ + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?'
233
+ + '[pP](\+)?(12[0-7]|'
234
+ + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+))*';
235
+ }
236
+ description
237
+ "This is the generic bandwidth type. It is a string containing
238
+ a list of numbers separated by commas, where each of these
239
+ numbers can be non-negative decimal, hex integer, or
240
+ hex float:
241
+
242
+ (dec | hex | float)[*(','(dec | hex | float))]
243
+
244
+ For the packet-switching type, the string encoding follows
245
+ the type 'bandwidth-ieee-float32' as defined in RFC 8294
246
+ (e.g., 0x1p10), where the units are in bytes per second.
247
+
248
+ For the Optical Transport Network (OTN) switching type,
249
+ a list of integers can be used, such as '0,2,3,1', indicating
250
+ two ODU0s and one ODU3. ('ODU' stands for 'Optical Data
251
+ Unit'.) For Dense Wavelength Division Multiplexing (DWDM),
252
+ a list of pairs of slot numbers and widths can be used,
253
+ such as '0,2,3,3', indicating a frequency slot 0 with
254
+ slot width 2 and a frequency slot 3 with slot width 3.
255
+ Canonically, the string is represented as all lowercase and in
256
+ hex, where the prefix '0x' precedes the hex number.";
257
+ reference
258
+ "RFC 8294: Common YANG Data Types for the Routing Area
259
+ ITU-T Recommendation G.709: Interfaces for the
260
+ optical transport network";
261
+ }
262
+
263
+ typedef te-ds-class {
264
+ type uint8 {
265
+ range "0..7";
266
+ }
267
+ description
268
+ "The Differentiated Services Class-Type of traffic.";
269
+ reference
270
+ "RFC 4124: Protocol Extensions for Support of Diffserv-aware
271
+ MPLS Traffic Engineering, Section 4.3.1";
272
+ }
273
+
274
+ typedef te-global-id {
275
+ type uint32;
276
+ description
277
+ "An identifier to uniquely identify an operator, which can be
278
+ either a provider or a client.
279
+ The definition of this type is taken from RFCs 6370 and 5003.
280
+ This attribute type is used solely to provide a globally
281
+ unique context for TE topologies.";
282
+ reference
283
+ "RFC 5003: Attachment Individual Identifier (AII) Types for
284
+ Aggregation
285
+ RFC 6370: MPLS Transport Profile (MPLS-TP) Identifiers";
286
+ }
287
+
288
+ typedef te-hop-type {
289
+ type enumeration {
290
+ enum loose {
291
+ description
292
+ "A loose hop in an explicit path.";
293
+ }
294
+ enum strict {
295
+ description
296
+ "A strict hop in an explicit path.";
297
+ }
298
+ }
299
+ description
300
+ "Enumerated type for specifying loose or strict paths.";
301
+ reference
302
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
303
+ Section 4.3.3";
304
+ }
305
+
306
+ typedef te-link-access-type {
307
+ type enumeration {
308
+ enum point-to-point {
309
+ description
310
+ "The link is point-to-point.";
311
+ }
312
+ enum multi-access {
313
+ description
314
+ "The link is multi-access, including broadcast and NBMA.";
315
+ }
316
+ }
317
+ description
318
+ "Defines a type representing the access type of a TE link.";
319
+ reference
320
+ "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
321
+ Version 2";
322
+ }
323
+
324
+ typedef te-label-direction {
325
+ type enumeration {
326
+ enum forward {
327
+ description
328
+ "Label allocated for the forward LSP direction.";
329
+ }
330
+ enum reverse {
331
+ description
332
+ "Label allocated for the reverse LSP direction.";
333
+ }
334
+ }
335
+ description
336
+ "Enumerated type for specifying the forward or reverse
337
+ label.";
338
+ }
339
+
340
+ typedef te-link-direction {
341
+ type enumeration {
342
+ enum incoming {
343
+ description
344
+ "The explicit route represents an incoming link on
345
+ a node.";
346
+ }
347
+ enum outgoing {
348
+ description
349
+ "The explicit route represents an outgoing link on
350
+ a node.";
351
+ }
352
+ }
353
+ description
354
+ "Enumerated type for specifying the direction of a link on
355
+ a node.";
356
+ }
357
+
358
+ typedef te-metric {
359
+ type uint32;
360
+ description
361
+ "TE metric.";
362
+ reference
363
+ "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a
364
+ second MPLS Traffic Engineering (TE) Metric";
365
+ }
366
+
367
+ typedef te-node-id {
368
+ type yang:dotted-quad;
369
+ description
370
+ "A type representing the identifier for a node in a TE
371
+ topology.
372
+ The identifier is represented as 4 octets in dotted-quad
373
+ notation.
374
+ This attribute MAY be mapped to the Router Address TLV
375
+ described in Section 2.4.1 of RFC 3630, the TE Router ID
376
+ described in Section 3 of RFC 6827, the Traffic Engineering
377
+ Router ID TLV described in Section 4.3 of RFC 5305, or the
378
+ TE Router ID TLV described in Section 3.2.1 of RFC 6119.
379
+ The reachability of such a TE node MAY be achieved by a
380
+ mechanism such as that described in Section 6.2 of RFC 6827.";
381
+ reference
382
+ "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
383
+ Version 2, Section 2.4.1
384
+ RFC 5305: IS-IS Extensions for Traffic Engineering,
385
+ Section 4.3
386
+ RFC 6119: IPv6 Traffic Engineering in IS-IS, Section 3.2.1
387
+ RFC 6827: Automatically Switched Optical Network (ASON)
388
+ Routing for OSPFv2 Protocols, Section 3";
389
+ }
390
+
391
+ typedef te-oper-status {
392
+ type enumeration {
393
+ enum up {
394
+ description
395
+ "Enabled.";
396
+ }
397
+ enum down {
398
+ description
399
+ "Disabled.";
400
+ }
401
+ enum testing {
402
+ description
403
+ "In some test mode.";
404
+ }
405
+ enum preparing-maintenance {
406
+ description
407
+ "The resource is disabled in the control plane to prepare
408
+ for a graceful shutdown for maintenance purposes.";
409
+ reference
410
+ "RFC 5817: Graceful Shutdown in MPLS and Generalized MPLS
411
+ Traffic Engineering Networks";
412
+ }
413
+ enum maintenance {
414
+ description
415
+ "The resource is disabled in the data plane for maintenance
416
+ purposes.";
417
+ }
418
+ enum unknown {
419
+ description
420
+ "Status is unknown.";
421
+ }
422
+ }
423
+ description
424
+ "Defines a type representing the operational status of
425
+ a TE resource.";
426
+ }
427
+
428
+ typedef te-admin-status {
429
+ type enumeration {
430
+ enum up {
431
+ description
432
+ "Enabled.";
433
+ }
434
+ enum down {
435
+ description
436
+ "Disabled.";
437
+ }
438
+ enum testing {
439
+ description
440
+ "In some test mode.";
441
+ }
442
+ enum preparing-maintenance {
443
+ description
444
+ "The resource is disabled in the control plane to prepare
445
+ for a graceful shutdown for maintenance purposes.";
446
+ reference
447
+ "RFC 5817: Graceful Shutdown in MPLS and Generalized MPLS
448
+ Traffic Engineering Networks";
449
+ }
450
+ enum maintenance {
451
+ description
452
+ "The resource is disabled in the data plane for maintenance
453
+ purposes.";
454
+ }
455
+ enum unknown {
456
+ description
457
+ "Status is unknown.";
458
+ }
459
+ }
460
+ description
461
+ "Defines a type representing the administrative status of
462
+ a TE resource.";
463
+ }
464
+
465
+ typedef te-path-disjointness {
466
+ type bits {
467
+ bit node {
468
+ position 0;
469
+ description
470
+ "Node disjoint.";
471
+ }
472
+ bit link {
473
+ position 1;
474
+ description
475
+ "Link disjoint.";
476
+ }
477
+ bit srlg {
478
+ position 2;
479
+ description
480
+ "SRLG (Shared Risk Link Group) disjoint.";
481
+ }
482
+ }
483
+ description
484
+ "Type of the resource disjointness for a TE tunnel path.";
485
+ reference
486
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
487
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
488
+ }
489
+
490
+ typedef te-recovery-status {
491
+ type enumeration {
492
+ enum normal {
493
+ description
494
+ "Both the recovery span and the working span are fully
495
+ allocated and active, data traffic is being
496
+ transported over (or selected from) the working
497
+ span, and no trigger events are reported.";
498
+ }
499
+ enum recovery-started {
500
+ description
501
+ "The recovery action has been started but not completed.";
502
+ }
503
+ enum recovery-succeeded {
504
+ description
505
+ "The recovery action has succeeded. The working span has
506
+ reported a failure/degrade condition, and the user traffic
507
+ is being transported (or selected) on the recovery span.";
508
+ }
509
+ enum recovery-failed {
510
+ description
511
+ "The recovery action has failed.";
512
+ }
513
+ enum reversion-started {
514
+ description
515
+ "The reversion has started.";
516
+ }
517
+ enum reversion-succeeded {
518
+ description
519
+ "The reversion action has succeeded.";
520
+ }
521
+ enum reversion-failed {
522
+ description
523
+ "The reversion has failed.";
524
+ }
525
+ enum recovery-unavailable {
526
+ description
527
+ "The recovery is unavailable, as a result of either an
528
+ operator's lockout command or a failure condition
529
+ detected on the recovery span.";
530
+ }
531
+ enum recovery-admin {
532
+ description
533
+ "The operator has issued a command to switch the user
534
+ traffic to the recovery span.";
535
+ }
536
+ enum wait-to-restore {
537
+ description
538
+ "The recovery domain is recovering from a failure/degrade
539
+ condition on the working span that is being controlled by
540
+ the Wait-to-Restore (WTR) timer.";
541
+ }
542
+ }
543
+ description
544
+ "Defines the status of a recovery action.";
545
+ reference
546
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
547
+ for Generalized Multi-Protocol Label Switching (GMPLS)
548
+ RFC 6378: MPLS Transport Profile (MPLS-TP) Linear Protection";
549
+ }
550
+
551
+ typedef te-template-name {
552
+ type string {
553
+ pattern '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*';
554
+ }
555
+ description
556
+ "A type for the name of a TE node template or TE link
557
+ template.";
558
+ }
559
+
560
+ typedef te-topology-event-type {
561
+ type enumeration {
562
+ enum add {
563
+ value 0;
564
+ description
565
+ "A TE node or TE link has been added.";
566
+ }
567
+ enum remove {
568
+ value 1;
569
+ description
570
+ "A TE node or TE link has been removed.";
571
+ }
572
+ enum update {
573
+ value 2;
574
+ description
575
+ "A TE node or TE link has been updated.";
576
+ }
577
+ }
578
+ description
579
+ "TE event type for notifications.";
580
+ }
581
+
582
+ typedef te-topology-id {
583
+ type union {
584
+ type string {
585
+ pattern '([a-zA-Z0-9\-_.]+:)*'
586
+ + '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*';
587
+ }
588
+ type string {
589
+ length "0";
590
+ // empty string
591
+ }
592
+ }
593
+
594
+ description
595
+ "An identifier for a topology.
596
+ It is optional to have one or more prefixes at the beginning,
597
+ separated by colons. The prefixes can be 'network-types' as
598
+ defined in the 'ietf-network' module in RFC 8345, to help the
599
+ user better understand the topology before further inquiry
600
+ is made.";
601
+ reference
602
+ "RFC 8345: A YANG Data Model for Network Topologies";
603
+ }
604
+
605
+ typedef te-tp-id {
606
+ type union {
607
+ type inet:uri;
608
+ // Added for consistency with tp-id in ietf-network-topology@2018-02-26.yang
609
+ type uint32;
610
+ // Unnumbered
611
+ type inet:ip-address;
612
+ // IPv4 or IPv6 address
613
+ }
614
+
615
+ description
616
+ "An identifier for a TE link endpoint on a node.
617
+ This attribute is mapped to a local or remote link identifier
618
+ as defined in RFCs 3630 and 5305.";
619
+ reference
620
+ "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
621
+ Version 2
622
+ RFC 5305: IS-IS Extensions for Traffic Engineering";
623
+ }
624
+
625
+ /* TE features */
626
+
627
+ feature p2mp-te {
628
+ description
629
+ "Indicates support for Point-to-Multipoint TE (P2MP-TE).";
630
+ reference
631
+ "RFC 4875: Extensions to Resource Reservation Protocol -
632
+ Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE
633
+ Label Switched Paths (LSPs)";
634
+ }
635
+
636
+ feature frr-te {
637
+ description
638
+ "Indicates support for TE Fast Reroute (FRR).";
639
+ reference
640
+ "RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels";
641
+ }
642
+
643
+ feature extended-admin-groups {
644
+ description
645
+ "Indicates support for TE link extended administrative
646
+ groups.";
647
+ reference
648
+ "RFC 7308: Extended Administrative Groups in MPLS Traffic
649
+ Engineering (MPLS-TE)";
650
+ }
651
+
652
+ feature named-path-affinities {
653
+ description
654
+ "Indicates support for named path affinities.";
655
+ }
656
+
657
+ feature named-extended-admin-groups {
658
+ description
659
+ "Indicates support for named extended administrative groups.";
660
+ }
661
+
662
+ feature named-srlg-groups {
663
+ description
664
+ "Indicates support for named SRLG groups.";
665
+ }
666
+
667
+ feature named-path-constraints {
668
+ description
669
+ "Indicates support for named path constraints.";
670
+ }
671
+
672
+ feature path-optimization-metric {
673
+ description
674
+ "Indicates support for path optimization metrics.";
675
+ }
676
+
677
+ feature path-optimization-objective-function {
678
+ description
679
+ "Indicates support for path optimization objective functions.";
680
+ }
681
+
682
+ /*
683
+ * Identities
684
+ */
685
+
686
+ identity session-attributes-flags {
687
+ description
688
+ "Base identity for the RSVP-TE session attributes flags.";
689
+ }
690
+
691
+ identity local-protection-desired {
692
+ base session-attributes-flags;
693
+ description
694
+ "Local protection is desired.";
695
+ reference
696
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
697
+ Section 4.7.1";
698
+ }
699
+
700
+ identity se-style-desired {
701
+ base session-attributes-flags;
702
+ description
703
+ "Shared explicit style, to allow the LSP to be established
704
+ and share resources with the old LSP.";
705
+ reference
706
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
707
+ }
708
+
709
+ identity local-recording-desired {
710
+ base session-attributes-flags;
711
+ description
712
+ "Label recording is desired.";
713
+ reference
714
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
715
+ Section 4.7.1";
716
+ }
717
+
718
+ identity bandwidth-protection-desired {
719
+ base session-attributes-flags;
720
+ description
721
+ "Requests FRR bandwidth protection on LSRs, if present.";
722
+ reference
723
+ "RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels";
724
+ }
725
+
726
+ identity node-protection-desired {
727
+ base session-attributes-flags;
728
+ description
729
+ "Requests FRR node protection on LSRs, if present.";
730
+ reference
731
+ "RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels";
732
+ }
733
+
734
+ identity path-reevaluation-request {
735
+ base session-attributes-flags;
736
+ description
737
+ "This flag indicates that a path re-evaluation (of the
738
+ current path in use) is requested. Note that this does
739
+ not trigger any LSP reroutes but instead just signals a
740
+ request to evaluate whether a preferable path exists.";
741
+ reference
742
+ "RFC 4736: Reoptimization of Multiprotocol Label Switching
743
+ (MPLS) Traffic Engineering (TE) Loosely Routed Label Switched
744
+ Path (LSP)";
745
+ }
746
+
747
+ identity soft-preemption-desired {
748
+ base session-attributes-flags;
749
+ description
750
+ "Soft preemption of LSP resources is desired.";
751
+ reference
752
+ "RFC 5712: MPLS Traffic Engineering Soft Preemption";
753
+ }
754
+
755
+ identity lsp-attributes-flags {
756
+ description
757
+ "Base identity for LSP attributes flags.";
758
+ }
759
+
760
+ identity end-to-end-rerouting-desired {
761
+ base lsp-attributes-flags;
762
+ description
763
+ "Indicates end-to-end rerouting behavior for an LSP
764
+ undergoing establishment. This MAY also be used to
765
+ specify the behavior of end-to-end LSP recovery for
766
+ established LSPs.";
767
+ reference
768
+ "RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS
769
+ RSVP-TE
770
+ RFC 5420: Encoding of Attributes for MPLS LSP Establishment
771
+ Using Resource Reservation Protocol Traffic Engineering
772
+ (RSVP-TE)
773
+ RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
774
+ Route Object (ERO)";
775
+ }
776
+
777
+ identity boundary-rerouting-desired {
778
+ base lsp-attributes-flags;
779
+ description
780
+ "Indicates boundary rerouting behavior for an LSP undergoing
781
+ establishment. This MAY also be used to specify
782
+ segment-based LSP recovery through nested crankback for
783
+ established LSPs. The boundary Area Border Router (ABR) /
784
+ Autonomous System Border Router (ASBR) can decide to forward
785
+ the PathErr message upstream to either an upstream boundary
786
+ ABR/ASBR or the ingress LSR. Alternatively, it can try to
787
+ select another egress boundary LSR.";
788
+ reference
789
+ "RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS
790
+ RSVP-TE
791
+ RFC 5420: Encoding of Attributes for MPLS LSP Establishment
792
+ Using Resource Reservation Protocol Traffic Engineering
793
+ (RSVP-TE)
794
+ RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
795
+ Route Object (ERO)";
796
+ }
797
+
798
+ identity segment-based-rerouting-desired {
799
+ base lsp-attributes-flags;
800
+ description
801
+ "Indicates segment-based rerouting behavior for an LSP
802
+ undergoing establishment. This MAY also be used to specify
803
+ segment-based LSP recovery for established LSPs.";
804
+ reference
805
+ "RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS
806
+ RSVP-TE
807
+ RFC 5420: Encoding of Attributes for MPLS LSP Establishment
808
+ Using Resource Reservation Protocol Traffic Engineering
809
+ (RSVP-TE)
810
+ RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
811
+ Route Object (ERO)";
812
+ }
813
+
814
+ identity lsp-integrity-required {
815
+ base lsp-attributes-flags;
816
+ description
817
+ "Indicates that LSP integrity is required.";
818
+ reference
819
+ "RFC 4875: Extensions to Resource Reservation Protocol -
820
+ Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE
821
+ Label Switched Paths (LSPs)
822
+ RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
823
+ Route Object (ERO)";
824
+ }
825
+
826
+ identity contiguous-lsp-desired {
827
+ base lsp-attributes-flags;
828
+ description
829
+ "Indicates that a contiguous LSP is desired.";
830
+ reference
831
+ "RFC 5151: Inter-Domain MPLS and GMPLS Traffic Engineering --
832
+ Resource Reservation Protocol-Traffic Engineering (RSVP-TE)
833
+ Extensions
834
+ RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
835
+ Route Object (ERO)";
836
+ }
837
+
838
+ identity lsp-stitching-desired {
839
+ base lsp-attributes-flags;
840
+ description
841
+ "Indicates that LSP stitching is desired.";
842
+ reference
843
+ "RFC 5150: Label Switched Path Stitching with Generalized
844
+ Multiprotocol Label Switching Traffic Engineering (GMPLS TE)
845
+ RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
846
+ Route Object (ERO)";
847
+ }
848
+
849
+ identity pre-planned-lsp-flag {
850
+ base lsp-attributes-flags;
851
+ description
852
+ "Indicates that the LSP MUST be provisioned in the
853
+ control plane only.";
854
+ reference
855
+ "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions for
856
+ Multi-Layer and Multi-Region Networks (MLN/MRN)
857
+ RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
858
+ Route Object (ERO)";
859
+ }
860
+
861
+ identity non-php-behavior-flag {
862
+ base lsp-attributes-flags;
863
+ description
864
+ "Indicates that non-PHP (non-Penultimate Hop Popping) behavior
865
+ for the LSP is desired.";
866
+ reference
867
+ "RFC 6511: Non-Penultimate Hop Popping Behavior and Out-of-Band
868
+ Mapping for RSVP-TE Label Switched Paths
869
+ RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
870
+ Route Object (ERO)";
871
+ }
872
+
873
+ identity oob-mapping-flag {
874
+ base lsp-attributes-flags;
875
+ description
876
+ "Indicates that signaling of the egress binding information is
877
+ out of band (e.g., via the Border Gateway Protocol (BGP)).";
878
+ reference
879
+ "RFC 6511: Non-Penultimate Hop Popping Behavior and Out-of-Band
880
+ Mapping for RSVP-TE Label Switched Paths
881
+ RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
882
+ Route Object (ERO)";
883
+ }
884
+
885
+ identity entropy-label-capability {
886
+ base lsp-attributes-flags;
887
+ description
888
+ "Indicates entropy label capability.";
889
+ reference
890
+ "RFC 6790: The Use of Entropy Labels in MPLS Forwarding
891
+ RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
892
+ Route Object (ERO)";
893
+ }
894
+
895
+ identity oam-mep-entity-desired {
896
+ base lsp-attributes-flags;
897
+ description
898
+ "OAM Maintenance Entity Group End Point (MEP) entities
899
+ desired.";
900
+ reference
901
+ "RFC 7260: GMPLS RSVP-TE Extensions for Operations,
902
+ Administration, and Maintenance (OAM) Configuration";
903
+ }
904
+
905
+ identity oam-mip-entity-desired {
906
+ base lsp-attributes-flags;
907
+ description
908
+ "OAM Maintenance Entity Group Intermediate Points (MIP)
909
+ entities desired.";
910
+ reference
911
+ "RFC 7260: GMPLS RSVP-TE Extensions for Operations,
912
+ Administration, and Maintenance (OAM) Configuration";
913
+ }
914
+
915
+ identity srlg-collection-desired {
916
+ base lsp-attributes-flags;
917
+ description
918
+ "SRLG collection desired.";
919
+ reference
920
+ "RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
921
+ Route Object (ERO)
922
+ RFC 8001: RSVP-TE Extensions for Collecting Shared Risk
923
+ Link Group (SRLG) Information";
924
+ }
925
+
926
+ identity loopback-desired {
927
+ base lsp-attributes-flags;
928
+ description
929
+ "This flag indicates that a particular node on the LSP is
930
+ required to enter loopback mode. This can also be
931
+ used to specify the loopback state of the node.";
932
+ reference
933
+ "RFC 7571: GMPLS RSVP-TE Extensions for Lock Instruct and
934
+ Loopback";
935
+ }
936
+
937
+ identity p2mp-te-tree-eval-request {
938
+ base lsp-attributes-flags;
939
+ description
940
+ "P2MP-TE tree re-evaluation request.";
941
+ reference
942
+ "RFC 8149: RSVP Extensions for Reoptimization of Loosely Routed
943
+ Point-to-Multipoint Traffic Engineering Label Switched Paths
944
+ (LSPs)";
945
+ }
946
+
947
+ identity rtm-set-desired {
948
+ base lsp-attributes-flags;
949
+ description
950
+ "Residence Time Measurement (RTM) attribute flag requested.";
951
+ reference
952
+ "RFC 8169: Residence Time Measurement in MPLS Networks";
953
+ }
954
+
955
+ identity link-protection-type {
956
+ description
957
+ "Base identity for the link protection type.";
958
+ }
959
+
960
+ identity link-protection-unprotected {
961
+ base link-protection-type;
962
+ description
963
+ "Unprotected link type.";
964
+ reference
965
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
966
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
967
+ }
968
+
969
+ identity link-protection-extra-traffic {
970
+ base link-protection-type;
971
+ description
972
+ "Extra-Traffic protected link type.";
973
+ reference
974
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
975
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
976
+ }
977
+
978
+ identity link-protection-shared {
979
+ base link-protection-type;
980
+ description
981
+ "Shared protected link type.";
982
+ reference
983
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
984
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
985
+ }
986
+
987
+ identity link-protection-1-for-1 {
988
+ base link-protection-type;
989
+ description
990
+ "One-for-one (1:1) protected link type.";
991
+ reference
992
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
993
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
994
+ }
995
+
996
+ identity link-protection-1-plus-1 {
997
+ base link-protection-type;
998
+ description
999
+ "One-plus-one (1+1) protected link type.";
1000
+ reference
1001
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1002
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1003
+ }
1004
+
1005
+ identity link-protection-enhanced {
1006
+ base link-protection-type;
1007
+ description
1008
+ "A compound link protection type derived from the underlay
1009
+ TE tunnel protection configuration supporting the TE link.";
1010
+ }
1011
+
1012
+ identity association-type {
1013
+ description
1014
+ "Base identity for the tunnel association.";
1015
+ }
1016
+
1017
+ identity association-type-recovery {
1018
+ base association-type;
1019
+ description
1020
+ "Association type for recovery, used to associate LSPs of the
1021
+ same tunnel for recovery.";
1022
+ reference
1023
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1024
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery
1025
+ RFC 6780: RSVP ASSOCIATION Object Extensions";
1026
+ }
1027
+
1028
+ identity association-type-resource-sharing {
1029
+ base association-type;
1030
+ description
1031
+ "Association type for resource sharing, used to enable
1032
+ resource sharing during make-before-break.";
1033
+ reference
1034
+ "RFC 4873: GMPLS Segment Recovery
1035
+ RFC 6780: RSVP ASSOCIATION Object Extensions";
1036
+ }
1037
+
1038
+ identity association-type-double-sided-bidir {
1039
+ base association-type;
1040
+ description
1041
+ "Association type for double-sided bidirectional LSPs,
1042
+ used to associate two LSPs of two tunnels that are
1043
+ independently configured on either endpoint.";
1044
+ reference
1045
+ "RFC 7551: RSVP-TE Extensions for Associated Bidirectional
1046
+ Label Switched Paths (LSPs)";
1047
+ }
1048
+
1049
+ identity association-type-single-sided-bidir {
1050
+ base association-type;
1051
+ description
1052
+ "Association type for single-sided bidirectional LSPs,
1053
+ used to associate two LSPs of two tunnels, where one
1054
+ tunnel is configured on one side/endpoint and the other
1055
+ tunnel is dynamically created on the other endpoint.";
1056
+ reference
1057
+ "RFC 6780: RSVP ASSOCIATION Object Extensions
1058
+ RFC 7551: RSVP-TE Extensions for Associated Bidirectional
1059
+ Label Switched Paths (LSPs)";
1060
+ }
1061
+
1062
+ identity objective-function-type {
1063
+ description
1064
+ "Base objective function type.";
1065
+ }
1066
+
1067
+ identity of-minimize-cost-path {
1068
+ base objective-function-type;
1069
+ description
1070
+ "Objective function for minimizing path cost.";
1071
+ reference
1072
+ "RFC 5541: Encoding of Objective Functions in the Path
1073
+ Computation Element Communication Protocol (PCEP)";
1074
+ }
1075
+
1076
+ identity of-minimize-load-path {
1077
+ base objective-function-type;
1078
+ description
1079
+ "Objective function for minimizing the load on one or more
1080
+ paths.";
1081
+ reference
1082
+ "RFC 5541: Encoding of Objective Functions in the Path
1083
+ Computation Element Communication Protocol (PCEP)";
1084
+ }
1085
+
1086
+ identity of-maximize-residual-bandwidth {
1087
+ base objective-function-type;
1088
+ description
1089
+ "Objective function for maximizing residual bandwidth.";
1090
+ reference
1091
+ "RFC 5541: Encoding of Objective Functions in the Path
1092
+ Computation Element Communication Protocol (PCEP)";
1093
+ }
1094
+
1095
+ identity of-minimize-agg-bandwidth-consumption {
1096
+ base objective-function-type;
1097
+ description
1098
+ "Objective function for minimizing aggregate bandwidth
1099
+ consumption.";
1100
+ reference
1101
+ "RFC 5541: Encoding of Objective Functions in the Path
1102
+ Computation Element Communication Protocol (PCEP)";
1103
+ }
1104
+
1105
+ identity of-minimize-load-most-loaded-link {
1106
+ base objective-function-type;
1107
+ description
1108
+ "Objective function for minimizing the load on the link that
1109
+ is carrying the highest load.";
1110
+ reference
1111
+ "RFC 5541: Encoding of Objective Functions in the Path
1112
+ Computation Element Communication Protocol (PCEP)";
1113
+ }
1114
+
1115
+ identity of-minimize-cost-path-set {
1116
+ base objective-function-type;
1117
+ description
1118
+ "Objective function for minimizing the cost on a path set.";
1119
+ reference
1120
+ "RFC 5541: Encoding of Objective Functions in the Path
1121
+ Computation Element Communication Protocol (PCEP)";
1122
+ }
1123
+
1124
+ identity path-computation-method {
1125
+ description
1126
+ "Base identity for supported path computation mechanisms.";
1127
+ }
1128
+
1129
+ identity path-locally-computed {
1130
+ base path-computation-method;
1131
+ description
1132
+ "Indicates a constrained-path LSP in which the
1133
+ path is computed by the local LER.";
1134
+ reference
1135
+ "RFC 3272: Overview and Principles of Internet Traffic
1136
+ Engineering, Section 5.4";
1137
+ }
1138
+
1139
+ identity path-externally-queried {
1140
+ base path-computation-method;
1141
+ description
1142
+ "Constrained-path LSP in which the path is obtained by
1143
+ querying an external source, such as a PCE server.
1144
+ In the case that an LSP is defined to be externally queried,
1145
+ it may also have associated explicit definitions (provided
1146
+ to the external source to aid computation). The path that is
1147
+ returned by the external source may require further local
1148
+ computation on the device.";
1149
+ reference
1150
+ "RFC 3272: Overview and Principles of Internet Traffic
1151
+ Engineering
1152
+ RFC 4657: Path Computation Element (PCE) Communication
1153
+ Protocol Generic Requirements";
1154
+ }
1155
+
1156
+ identity path-explicitly-defined {
1157
+ base path-computation-method;
1158
+ description
1159
+ "Constrained-path LSP in which the path is
1160
+ explicitly specified as a collection of strict and/or loose
1161
+ hops.";
1162
+ reference
1163
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
1164
+ RFC 3272: Overview and Principles of Internet Traffic
1165
+ Engineering";
1166
+ }
1167
+
1168
+ identity lsp-metric-type {
1169
+ description
1170
+ "Base identity for the LSP metric specification types.";
1171
+ }
1172
+
1173
+ identity lsp-metric-relative {
1174
+ base lsp-metric-type;
1175
+ description
1176
+ "The metric specified for the LSPs to which this identity
1177
+ refers is specified as a value relative to the IGP metric
1178
+ cost to the LSP's tail end.";
1179
+ reference
1180
+ "RFC 4657: Path Computation Element (PCE) Communication
1181
+ Protocol Generic Requirements";
1182
+ }
1183
+
1184
+ identity lsp-metric-absolute {
1185
+ base lsp-metric-type;
1186
+ description
1187
+ "The metric specified for the LSPs to which this identity
1188
+ refers is specified as an absolute value.";
1189
+ reference
1190
+ "RFC 4657: Path Computation Element (PCE) Communication
1191
+ Protocol Generic Requirements";
1192
+ }
1193
+
1194
+ identity lsp-metric-inherited {
1195
+ base lsp-metric-type;
1196
+ description
1197
+ "The metric for the LSPs to which this identity refers is
1198
+ not specified explicitly; rather, it is directly inherited
1199
+ from the IGP cost.";
1200
+ reference
1201
+ "RFC 4657: Path Computation Element (PCE) Communication
1202
+ Protocol Generic Requirements";
1203
+ }
1204
+
1205
+ identity te-tunnel-type {
1206
+ description
1207
+ "Base identity from which specific tunnel types are derived.";
1208
+ }
1209
+
1210
+ identity te-tunnel-p2p {
1211
+ base te-tunnel-type;
1212
+ description
1213
+ "TE Point-to-Point (P2P) tunnel type.";
1214
+ reference
1215
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
1216
+ }
1217
+
1218
+ identity te-tunnel-p2mp {
1219
+ base te-tunnel-type;
1220
+ description
1221
+ "TE P2MP tunnel type.";
1222
+ reference
1223
+ "RFC 4875: Extensions to Resource Reservation Protocol -
1224
+ Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE
1225
+ Label Switched Paths (LSPs)";
1226
+ }
1227
+
1228
+ identity tunnel-action-type {
1229
+ description
1230
+ "Base identity from which specific tunnel action types
1231
+ are derived.";
1232
+ }
1233
+
1234
+ identity tunnel-action-resetup {
1235
+ base tunnel-action-type;
1236
+ description
1237
+ "TE tunnel action that tears down the tunnel's current LSP
1238
+ (if any) and attempts to re-establish a new LSP.";
1239
+ }
1240
+
1241
+ identity tunnel-action-reoptimize {
1242
+ base tunnel-action-type;
1243
+ description
1244
+ "TE tunnel action that reoptimizes the placement of the
1245
+ tunnel LSP(s).";
1246
+ }
1247
+
1248
+ identity tunnel-action-switchpath {
1249
+ base tunnel-action-type;
1250
+ description
1251
+ "TE tunnel action that switches the tunnel's LSP to use the
1252
+ specified path.";
1253
+ }
1254
+
1255
+ identity te-action-result {
1256
+ description
1257
+ "Base identity from which specific TE action results
1258
+ are derived.";
1259
+ }
1260
+
1261
+ identity te-action-success {
1262
+ base te-action-result;
1263
+ description
1264
+ "TE action was successful.";
1265
+ }
1266
+
1267
+ identity te-action-fail {
1268
+ base te-action-result;
1269
+ description
1270
+ "TE action failed.";
1271
+ }
1272
+
1273
+ identity tunnel-action-inprogress {
1274
+ base te-action-result;
1275
+ description
1276
+ "TE action is in progress.";
1277
+ }
1278
+
1279
+ identity tunnel-admin-state-type {
1280
+ description
1281
+ "Base identity for TE tunnel administrative states.";
1282
+ }
1283
+
1284
+ identity tunnel-admin-state-up {
1285
+ base tunnel-admin-state-type;
1286
+ description
1287
+ "Tunnel's administrative state is up.";
1288
+ }
1289
+
1290
+ identity tunnel-admin-state-down {
1291
+ base tunnel-admin-state-type;
1292
+ description
1293
+ "Tunnel's administrative state is down.";
1294
+ }
1295
+
1296
+ identity tunnel-state-type {
1297
+ description
1298
+ "Base identity for TE tunnel states.";
1299
+ }
1300
+
1301
+ identity tunnel-state-up {
1302
+ base tunnel-state-type;
1303
+ description
1304
+ "Tunnel's state is up.";
1305
+ }
1306
+
1307
+ identity tunnel-state-down {
1308
+ base tunnel-state-type;
1309
+ description
1310
+ "Tunnel's state is down.";
1311
+ }
1312
+
1313
+ identity lsp-state-type {
1314
+ description
1315
+ "Base identity for TE LSP states.";
1316
+ }
1317
+
1318
+ identity lsp-path-computing {
1319
+ base lsp-state-type;
1320
+ description
1321
+ "State path computation is in progress.";
1322
+ }
1323
+
1324
+ identity lsp-path-computation-ok {
1325
+ base lsp-state-type;
1326
+ description
1327
+ "State path computation was successful.";
1328
+ }
1329
+
1330
+ identity lsp-path-computation-failed {
1331
+ base lsp-state-type;
1332
+ description
1333
+ "State path computation failed.";
1334
+ }
1335
+
1336
+ identity lsp-state-setting-up {
1337
+ base lsp-state-type;
1338
+ description
1339
+ "State is being set up.";
1340
+ }
1341
+
1342
+ identity lsp-state-setup-ok {
1343
+ base lsp-state-type;
1344
+ description
1345
+ "State setup was successful.";
1346
+ }
1347
+
1348
+ identity lsp-state-setup-failed {
1349
+ base lsp-state-type;
1350
+ description
1351
+ "State setup failed.";
1352
+ }
1353
+
1354
+ identity lsp-state-up {
1355
+ base lsp-state-type;
1356
+ description
1357
+ "State is up.";
1358
+ }
1359
+
1360
+ identity lsp-state-tearing-down {
1361
+ base lsp-state-type;
1362
+ description
1363
+ "State is being torn down.";
1364
+ }
1365
+
1366
+ identity lsp-state-down {
1367
+ base lsp-state-type;
1368
+ description
1369
+ "State is down.";
1370
+ }
1371
+
1372
+ identity path-invalidation-action-type {
1373
+ description
1374
+ "Base identity for TE path invalidation action types.";
1375
+ }
1376
+
1377
+ identity path-invalidation-action-drop {
1378
+ base path-invalidation-action-type;
1379
+ description
1380
+ "Upon invalidation of the TE tunnel path, the tunnel remains
1381
+ valid, but any packet mapped over the tunnel is dropped.";
1382
+ reference
1383
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
1384
+ Section 2.5";
1385
+ }
1386
+
1387
+ identity path-invalidation-action-teardown {
1388
+ base path-invalidation-action-type;
1389
+ description
1390
+ "TE path invalidation action teardown.";
1391
+ reference
1392
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
1393
+ Section 2.5";
1394
+ }
1395
+
1396
+ identity lsp-restoration-type {
1397
+ description
1398
+ "Base identity from which LSP restoration types are derived.";
1399
+ }
1400
+
1401
+ identity lsp-restoration-restore-any {
1402
+ base lsp-restoration-type;
1403
+ description
1404
+ "Any LSP affected by a failure is restored.";
1405
+ }
1406
+
1407
+ identity lsp-restoration-restore-all {
1408
+ base lsp-restoration-type;
1409
+ description
1410
+ "Affected LSPs are restored after all LSPs of the tunnel are
1411
+ broken.";
1412
+ }
1413
+
1414
+ identity restoration-scheme-type {
1415
+ description
1416
+ "Base identity for LSP restoration schemes.";
1417
+ }
1418
+
1419
+ identity restoration-scheme-preconfigured {
1420
+ base restoration-scheme-type;
1421
+ description
1422
+ "Restoration LSP is preconfigured prior to the failure.";
1423
+ reference
1424
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1425
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1426
+ }
1427
+
1428
+ identity restoration-scheme-precomputed {
1429
+ base restoration-scheme-type;
1430
+ description
1431
+ "Restoration LSP is precomputed prior to the failure.";
1432
+ reference
1433
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1434
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1435
+ }
1436
+
1437
+ identity restoration-scheme-presignaled {
1438
+ base restoration-scheme-type;
1439
+ description
1440
+ "Restoration LSP is presignaled prior to the failure.";
1441
+ reference
1442
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1443
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1444
+ }
1445
+
1446
+ identity lsp-protection-type {
1447
+ description
1448
+ "Base identity from which LSP protection types are derived.";
1449
+ reference
1450
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1451
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1452
+ }
1453
+
1454
+ identity lsp-protection-unprotected {
1455
+ base lsp-protection-type;
1456
+ description
1457
+ "'Unprotected' LSP protection type.";
1458
+ reference
1459
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1460
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1461
+ }
1462
+
1463
+ identity lsp-protection-reroute-extra {
1464
+ base lsp-protection-type;
1465
+ description
1466
+ "'(Full) Rerouting' LSP protection type.";
1467
+ reference
1468
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1469
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1470
+ }
1471
+
1472
+ identity lsp-protection-reroute {
1473
+ base lsp-protection-type;
1474
+ description
1475
+ "'Rerouting without Extra-Traffic' LSP protection type.";
1476
+ reference
1477
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1478
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1479
+ }
1480
+
1481
+ identity lsp-protection-1-for-n {
1482
+ base lsp-protection-type;
1483
+ description
1484
+ "'1:N Protection with Extra-Traffic' LSP protection type.";
1485
+ reference
1486
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1487
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1488
+ }
1489
+
1490
+ identity lsp-protection-1-for-1 {
1491
+ base lsp-protection-type;
1492
+ description
1493
+ "LSP protection '1:1 Protection Type'.";
1494
+ reference
1495
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1496
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1497
+ }
1498
+
1499
+ identity lsp-protection-unidir-1-plus-1 {
1500
+ base lsp-protection-type;
1501
+ description
1502
+ "'1+1 Unidirectional Protection' LSP protection type.";
1503
+ reference
1504
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1505
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1506
+ }
1507
+
1508
+ identity lsp-protection-bidir-1-plus-1 {
1509
+ base lsp-protection-type;
1510
+ description
1511
+ "'1+1 Bidirectional Protection' LSP protection type.";
1512
+ reference
1513
+ "RFC 4872: RSVP-TE Extensions in Support of End-to-End
1514
+ Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
1515
+ }
1516
+
1517
+ identity lsp-protection-extra-traffic {
1518
+ base lsp-protection-type;
1519
+ description
1520
+ "Extra-Traffic LSP protection type.";
1521
+ reference
1522
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1523
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1524
+ }
1525
+
1526
+ identity lsp-protection-state {
1527
+ description
1528
+ "Base identity of protection states for reporting purposes.";
1529
+ }
1530
+
1531
+ identity normal {
1532
+ base lsp-protection-state;
1533
+ description
1534
+ "Normal state.";
1535
+ }
1536
+
1537
+ identity signal-fail-of-protection {
1538
+ base lsp-protection-state;
1539
+ description
1540
+ "The protection transport entity has a signal fail condition
1541
+ that is of higher priority than the forced switchover
1542
+ command.";
1543
+ reference
1544
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1545
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1546
+ }
1547
+
1548
+ identity lockout-of-protection {
1549
+ base lsp-protection-state;
1550
+ description
1551
+ "A Loss of Protection (LoP) command is active.";
1552
+ reference
1553
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1554
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1555
+ }
1556
+
1557
+ identity forced-switch {
1558
+ base lsp-protection-state;
1559
+ description
1560
+ "A forced switchover command is active.";
1561
+ reference
1562
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1563
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1564
+ }
1565
+
1566
+ identity signal-fail {
1567
+ base lsp-protection-state;
1568
+ description
1569
+ "There is a signal fail condition on either the working path
1570
+ or the protection path.";
1571
+ reference
1572
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1573
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1574
+ }
1575
+
1576
+ identity signal-degrade {
1577
+ base lsp-protection-state;
1578
+ description
1579
+ "There is a signal degrade condition on either the working
1580
+ path or the protection path.";
1581
+ reference
1582
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1583
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1584
+ }
1585
+
1586
+ identity manual-switch {
1587
+ base lsp-protection-state;
1588
+ description
1589
+ "A manual switchover command is active.";
1590
+ reference
1591
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1592
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1593
+ }
1594
+
1595
+ identity wait-to-restore {
1596
+ base lsp-protection-state;
1597
+ description
1598
+ "A WTR timer is running.";
1599
+ reference
1600
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1601
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1602
+ }
1603
+
1604
+ identity do-not-revert {
1605
+ base lsp-protection-state;
1606
+ description
1607
+ "A Do Not Revert (DNR) condition is active because of
1608
+ non-revertive behavior.";
1609
+ reference
1610
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1611
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1612
+ }
1613
+
1614
+ identity failure-of-protocol {
1615
+ base lsp-protection-state;
1616
+ description
1617
+ "LSP protection is not working because of a protocol failure
1618
+ condition.";
1619
+ reference
1620
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1621
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1622
+ }
1623
+
1624
+ identity protection-external-commands {
1625
+ description
1626
+ "Base identity from which protection-related external commands
1627
+ used for troubleshooting purposes are derived.";
1628
+ }
1629
+
1630
+ identity action-freeze {
1631
+ base protection-external-commands;
1632
+ description
1633
+ "A temporary configuration action initiated by an operator
1634
+ command that prevents any switchover action from being taken
1635
+ and, as such, freezes the current state.";
1636
+ reference
1637
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1638
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1639
+ }
1640
+
1641
+ identity clear-freeze {
1642
+ base protection-external-commands;
1643
+ description
1644
+ "An action that clears the active freeze state.";
1645
+ reference
1646
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1647
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1648
+ }
1649
+
1650
+ identity action-lockout-of-normal {
1651
+ base protection-external-commands;
1652
+ description
1653
+ "A temporary configuration action initiated by an operator
1654
+ command to ensure that the normal traffic is not allowed
1655
+ to use the protection transport entity.";
1656
+ reference
1657
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1658
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1659
+ }
1660
+
1661
+ identity clear-lockout-of-normal {
1662
+ base protection-external-commands;
1663
+ description
1664
+ "An action that clears the active lockout of the
1665
+ normal state.";
1666
+ reference
1667
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1668
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1669
+ }
1670
+
1671
+ identity action-lockout-of-protection {
1672
+ base protection-external-commands;
1673
+ description
1674
+ "A temporary configuration action initiated by an operator
1675
+ command to ensure that the protection transport entity is
1676
+ temporarily not available to transport a traffic signal
1677
+ (either normal or Extra-Traffic).";
1678
+ reference
1679
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1680
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1681
+ }
1682
+
1683
+ identity action-forced-switch {
1684
+ base protection-external-commands;
1685
+ description
1686
+ "A switchover action initiated by an operator command to switch
1687
+ the Extra-Traffic signal, the normal traffic signal, or the
1688
+ null signal to the protection transport entity, unless a
1689
+ switchover command of equal or higher priority is in effect.";
1690
+ reference
1691
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1692
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1693
+ }
1694
+
1695
+ identity action-manual-switch {
1696
+ base protection-external-commands;
1697
+ description
1698
+ "A switchover action initiated by an operator command to switch
1699
+ the Extra-Traffic signal, the normal traffic signal, or
1700
+ the null signal to the protection transport entity, unless
1701
+ a fault condition exists on other transport entities or a
1702
+ switchover command of equal or higher priority is in effect.";
1703
+ reference
1704
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1705
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1706
+ }
1707
+
1708
+ identity action-exercise {
1709
+ base protection-external-commands;
1710
+ description
1711
+ "An action that starts testing whether or not APS communication
1712
+ is operating correctly. It is of lower priority than any
1713
+ other state or command.";
1714
+ reference
1715
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1716
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1717
+ }
1718
+
1719
+ identity clear {
1720
+ base protection-external-commands;
1721
+ description
1722
+ "An action that clears the active near-end lockout of a
1723
+ protection, forced switchover, manual switchover, WTR state,
1724
+ or exercise command.";
1725
+ reference
1726
+ "RFC 4427: Recovery (Protection and Restoration) Terminology
1727
+ for Generalized Multi-Protocol Label Switching (GMPLS)";
1728
+ }
1729
+
1730
+ identity switching-capabilities {
1731
+ description
1732
+ "Base identity for interface switching capabilities.";
1733
+ reference
1734
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1735
+ Signaling Functional Description";
1736
+ }
1737
+
1738
+ identity switching-psc1 {
1739
+ base switching-capabilities;
1740
+ description
1741
+ "Packet-Switch Capable-1 (PSC-1).";
1742
+ reference
1743
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1744
+ Signaling Functional Description";
1745
+ }
1746
+
1747
+ identity switching-evpl {
1748
+ base switching-capabilities;
1749
+ description
1750
+ "Ethernet Virtual Private Line (EVPL).";
1751
+ reference
1752
+ "RFC 6004: Generalized MPLS (GMPLS) Support for Metro Ethernet
1753
+ Forum and G.8011 Ethernet Service Switching";
1754
+ }
1755
+
1756
+ identity switching-l2sc {
1757
+ base switching-capabilities;
1758
+ description
1759
+ "Layer-2 Switch Capable (L2SC).";
1760
+ reference
1761
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1762
+ Signaling Functional Description";
1763
+ }
1764
+
1765
+ identity switching-tdm {
1766
+ base switching-capabilities;
1767
+ description
1768
+ "Time-Division-Multiplex Capable (TDM).";
1769
+ reference
1770
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1771
+ Signaling Functional Description";
1772
+ }
1773
+
1774
+ identity switching-otn {
1775
+ base switching-capabilities;
1776
+ description
1777
+ "OTN-TDM capable.";
1778
+ reference
1779
+ "RFC 7138: Traffic Engineering Extensions to OSPF for GMPLS
1780
+ Control of Evolving G.709 Optical Transport Networks";
1781
+ }
1782
+
1783
+ identity switching-dcsc {
1784
+ base switching-capabilities;
1785
+ description
1786
+ "Data Channel Switching Capable (DCSC).";
1787
+ reference
1788
+ "RFC 6002: Generalized MPLS (GMPLS) Data Channel
1789
+ Switching Capable (DCSC) and Channel Set Label Extensions";
1790
+ }
1791
+
1792
+ identity switching-lsc {
1793
+ base switching-capabilities;
1794
+ description
1795
+ "Lambda-Switch Capable (LSC).";
1796
+ reference
1797
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1798
+ Signaling Functional Description";
1799
+ }
1800
+
1801
+ identity switching-fsc {
1802
+ base switching-capabilities;
1803
+ description
1804
+ "Fiber-Switch Capable (FSC).";
1805
+ reference
1806
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1807
+ Signaling Functional Description";
1808
+ }
1809
+
1810
+ identity lsp-encoding-types {
1811
+ description
1812
+ "Base identity for encoding types.";
1813
+ reference
1814
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1815
+ Signaling Functional Description";
1816
+ }
1817
+
1818
+ identity lsp-encoding-packet {
1819
+ base lsp-encoding-types;
1820
+ description
1821
+ "Packet LSP encoding.";
1822
+ reference
1823
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1824
+ Signaling Functional Description";
1825
+ }
1826
+
1827
+ identity lsp-encoding-ethernet {
1828
+ base lsp-encoding-types;
1829
+ description
1830
+ "Ethernet LSP encoding.";
1831
+ reference
1832
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1833
+ Signaling Functional Description";
1834
+ }
1835
+
1836
+ identity lsp-encoding-pdh {
1837
+ base lsp-encoding-types;
1838
+ description
1839
+ "ANSI/ETSI PDH LSP encoding.";
1840
+ reference
1841
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1842
+ Signaling Functional Description";
1843
+ }
1844
+
1845
+ identity lsp-encoding-sdh {
1846
+ base lsp-encoding-types;
1847
+ description
1848
+ "SDH ITU-T G.707 / SONET ANSI T1.105 LSP encoding.";
1849
+ reference
1850
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1851
+ Signaling Functional Description";
1852
+ }
1853
+
1854
+ identity lsp-encoding-digital-wrapper {
1855
+ base lsp-encoding-types;
1856
+ description
1857
+ "Digital Wrapper LSP encoding.";
1858
+ reference
1859
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1860
+ Signaling Functional Description";
1861
+ }
1862
+
1863
+ identity lsp-encoding-lambda {
1864
+ base lsp-encoding-types;
1865
+ description
1866
+ "Lambda (photonic) LSP encoding.";
1867
+ reference
1868
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1869
+ Signaling Functional Description";
1870
+ }
1871
+
1872
+ identity lsp-encoding-fiber {
1873
+ base lsp-encoding-types;
1874
+ description
1875
+ "Fiber LSP encoding.";
1876
+ reference
1877
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1878
+ Signaling Functional Description";
1879
+ }
1880
+
1881
+ identity lsp-encoding-fiber-channel {
1882
+ base lsp-encoding-types;
1883
+ description
1884
+ "FiberChannel LSP encoding.";
1885
+ reference
1886
+ "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
1887
+ Signaling Functional Description";
1888
+ }
1889
+
1890
+ identity lsp-encoding-oduk {
1891
+ base lsp-encoding-types;
1892
+ description
1893
+ "G.709 ODUk (Digital Path) LSP encoding.";
1894
+ reference
1895
+ "RFC 4328: Generalized Multi-Protocol Label Switching (GMPLS)
1896
+ Signaling Extensions for G.709 Optical Transport Networks
1897
+ Control";
1898
+ }
1899
+
1900
+ identity lsp-encoding-optical-channel {
1901
+ base lsp-encoding-types;
1902
+ description
1903
+ "G.709 Optical Channel LSP encoding.";
1904
+ reference
1905
+ "RFC 4328: Generalized Multi-Protocol Label Switching (GMPLS)
1906
+ Signaling Extensions for G.709 Optical Transport Networks
1907
+ Control";
1908
+ }
1909
+
1910
+ identity lsp-encoding-line {
1911
+ base lsp-encoding-types;
1912
+ description
1913
+ "Line (e.g., 8B/10B) LSP encoding.";
1914
+ reference
1915
+ "RFC 6004: Generalized MPLS (GMPLS) Support for Metro
1916
+ Ethernet Forum and G.8011 Ethernet Service Switching";
1917
+ }
1918
+
1919
+ identity path-signaling-type {
1920
+ description
1921
+ "Base identity from which specific LSP path setup types
1922
+ are derived.";
1923
+ }
1924
+
1925
+ identity path-setup-static {
1926
+ base path-signaling-type;
1927
+ description
1928
+ "Static LSP provisioning path setup.";
1929
+ }
1930
+
1931
+ identity path-setup-rsvp {
1932
+ base path-signaling-type;
1933
+ description
1934
+ "RSVP-TE signaling path setup.";
1935
+ reference
1936
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
1937
+ }
1938
+
1939
+ identity path-setup-sr {
1940
+ base path-signaling-type;
1941
+ description
1942
+ "Segment-routing path setup.";
1943
+ }
1944
+
1945
+ identity path-scope-type {
1946
+ description
1947
+ "Base identity from which specific path scope types are
1948
+ derived.";
1949
+ }
1950
+
1951
+ identity path-scope-segment {
1952
+ base path-scope-type;
1953
+ description
1954
+ "Path scope segment.";
1955
+ reference
1956
+ "RFC 4873: GMPLS Segment Recovery";
1957
+ }
1958
+
1959
+ identity path-scope-end-to-end {
1960
+ base path-scope-type;
1961
+ description
1962
+ "Path scope end to end.";
1963
+ reference
1964
+ "RFC 4873: GMPLS Segment Recovery";
1965
+ }
1966
+
1967
+ identity route-usage-type {
1968
+ description
1969
+ "Base identity for route usage.";
1970
+ }
1971
+
1972
+ identity route-include-object {
1973
+ base route-usage-type;
1974
+ description
1975
+ "'Include route' object.";
1976
+ }
1977
+
1978
+ identity route-exclude-object {
1979
+ base route-usage-type;
1980
+ description
1981
+ "'Exclude route' object.";
1982
+ reference
1983
+ "RFC 4874: Exclude Routes - Extension to Resource ReserVation
1984
+ Protocol-Traffic Engineering (RSVP-TE)";
1985
+ }
1986
+
1987
+ identity route-exclude-srlg {
1988
+ base route-usage-type;
1989
+ description
1990
+ "Excludes SRLGs.";
1991
+ reference
1992
+ "RFC 4874: Exclude Routes - Extension to Resource ReserVation
1993
+ Protocol-Traffic Engineering (RSVP-TE)";
1994
+ }
1995
+
1996
+ identity path-metric-type {
1997
+ description
1998
+ "Base identity for the path metric type.";
1999
+ }
2000
+
2001
+ identity path-metric-te {
2002
+ base path-metric-type;
2003
+ description
2004
+ "TE path metric.";
2005
+ reference
2006
+ "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a
2007
+ second MPLS Traffic Engineering (TE) Metric";
2008
+ }
2009
+
2010
+ identity path-metric-igp {
2011
+ base path-metric-type;
2012
+ description
2013
+ "IGP path metric.";
2014
+ reference
2015
+ "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a
2016
+ second MPLS Traffic Engineering (TE) Metric";
2017
+ }
2018
+
2019
+ identity path-metric-hop {
2020
+ base path-metric-type;
2021
+ description
2022
+ "Hop path metric.";
2023
+ }
2024
+
2025
+ identity path-metric-delay-average {
2026
+ base path-metric-type;
2027
+ description
2028
+ "Average unidirectional link delay.";
2029
+ reference
2030
+ "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions";
2031
+ }
2032
+
2033
+ identity path-metric-delay-minimum {
2034
+ base path-metric-type;
2035
+ description
2036
+ "Minimum unidirectional link delay.";
2037
+ reference
2038
+ "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions";
2039
+ }
2040
+
2041
+ identity path-metric-residual-bandwidth {
2042
+ base path-metric-type;
2043
+ description
2044
+ "Unidirectional Residual Bandwidth, which is defined to be
2045
+ Maximum Bandwidth (RFC 3630) minus the bandwidth currently
2046
+ allocated to LSPs.";
2047
+ reference
2048
+ "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
2049
+ Version 2
2050
+ RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions";
2051
+ }
2052
+
2053
+ identity path-metric-optimize-includes {
2054
+ base path-metric-type;
2055
+ description
2056
+ "A metric that optimizes the number of included resources
2057
+ specified in a set.";
2058
+ }
2059
+
2060
+ identity path-metric-optimize-excludes {
2061
+ base path-metric-type;
2062
+ description
2063
+ "A metric that optimizes to a maximum the number of excluded
2064
+ resources specified in a set.";
2065
+ }
2066
+
2067
+ identity path-tiebreaker-type {
2068
+ description
2069
+ "Base identity for the path tiebreaker type.";
2070
+ }
2071
+
2072
+ identity path-tiebreaker-minfill {
2073
+ base path-tiebreaker-type;
2074
+ description
2075
+ "Min-Fill LSP path placement.";
2076
+ }
2077
+
2078
+ identity path-tiebreaker-maxfill {
2079
+ base path-tiebreaker-type;
2080
+ description
2081
+ "Max-Fill LSP path placement.";
2082
+ }
2083
+
2084
+ identity path-tiebreaker-random {
2085
+ base path-tiebreaker-type;
2086
+ description
2087
+ "Random LSP path placement.";
2088
+ }
2089
+
2090
+ identity resource-affinities-type {
2091
+ description
2092
+ "Base identity for resource class affinities.";
2093
+ reference
2094
+ "RFC 2702: Requirements for Traffic Engineering Over MPLS";
2095
+ }
2096
+
2097
+ identity resource-aff-include-all {
2098
+ base resource-affinities-type;
2099
+ description
2100
+ "The set of attribute filters associated with a
2101
+ tunnel, all of which must be present for a link
2102
+ to be acceptable.";
2103
+ reference
2104
+ "RFC 2702: Requirements for Traffic Engineering Over MPLS
2105
+ RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
2106
+ }
2107
+
2108
+ identity resource-aff-include-any {
2109
+ base resource-affinities-type;
2110
+ description
2111
+ "The set of attribute filters associated with a
2112
+ tunnel, any of which must be present for a link
2113
+ to be acceptable.";
2114
+ reference
2115
+ "RFC 2702: Requirements for Traffic Engineering Over MPLS
2116
+ RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
2117
+ }
2118
+
2119
+ identity resource-aff-exclude-any {
2120
+ base resource-affinities-type;
2121
+ description
2122
+ "The set of attribute filters associated with a
2123
+ tunnel, any of which renders a link unacceptable.";
2124
+ reference
2125
+ "RFC 2702: Requirements for Traffic Engineering Over MPLS
2126
+ RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
2127
+ }
2128
+
2129
+ identity te-optimization-criterion {
2130
+ description
2131
+ "Base identity for the TE optimization criteria.";
2132
+ reference
2133
+ "RFC 3272: Overview and Principles of Internet Traffic
2134
+ Engineering";
2135
+ }
2136
+
2137
+ identity not-optimized {
2138
+ base te-optimization-criterion;
2139
+ description
2140
+ "Optimization is not applied.";
2141
+ }
2142
+
2143
+ identity cost {
2144
+ base te-optimization-criterion;
2145
+ description
2146
+ "Optimized on cost.";
2147
+ reference
2148
+ "RFC 5541: Encoding of Objective Functions in the Path
2149
+ Computation Element Communication Protocol (PCEP)";
2150
+ }
2151
+
2152
+ identity delay {
2153
+ base te-optimization-criterion;
2154
+ description
2155
+ "Optimized on delay.";
2156
+ reference
2157
+ "RFC 5541: Encoding of Objective Functions in the Path
2158
+ Computation Element Communication Protocol (PCEP)";
2159
+ }
2160
+
2161
+ identity path-computation-srlg-type {
2162
+ description
2163
+ "Base identity for SRLG path computation.";
2164
+ }
2165
+
2166
+ identity srlg-ignore {
2167
+ base path-computation-srlg-type;
2168
+ description
2169
+ "Ignores SRLGs in the path computation.";
2170
+ }
2171
+
2172
+ identity srlg-strict {
2173
+ base path-computation-srlg-type;
2174
+ description
2175
+ "Includes a strict SRLG check in the path computation.";
2176
+ }
2177
+
2178
+ identity srlg-preferred {
2179
+ base path-computation-srlg-type;
2180
+ description
2181
+ "Includes a preferred SRLG check in the path computation.";
2182
+ }
2183
+
2184
+ identity srlg-weighted {
2185
+ base path-computation-srlg-type;
2186
+ description
2187
+ "Includes a weighted SRLG check in the path computation.";
2188
+ }
2189
+
2190
+ /**
2191
+ * TE bandwidth groupings
2192
+ **/
2193
+
2194
+ grouping te-bandwidth {
2195
+ description
2196
+ "This grouping defines the generic TE bandwidth.
2197
+ For some known data-plane technologies, specific modeling
2198
+ structures are specified. The string-encoded 'te-bandwidth'
2199
+ type is used for unspecified technologies.
2200
+ The modeling structure can be augmented later for other
2201
+ technologies.";
2202
+ container te-bandwidth {
2203
+ description
2204
+ "Container that specifies TE bandwidth. The choices
2205
+ can be augmented for specific data-plane technologies.";
2206
+ choice technology {
2207
+ default "generic";
2208
+ description
2209
+ "Data-plane technology type.";
2210
+ case generic {
2211
+ leaf generic {
2212
+ type te-bandwidth;
2213
+ description
2214
+ "Bandwidth specified in a generic format.";
2215
+ }
2216
+ }
2217
+ }
2218
+ }
2219
+ }
2220
+
2221
+ /**
2222
+ * TE label groupings
2223
+ **/
2224
+
2225
+ grouping te-label {
2226
+ description
2227
+ "This grouping defines the generic TE label.
2228
+ The modeling structure can be augmented for each technology.
2229
+ For unspecified technologies, 'rt-types:generalized-label'
2230
+ is used.";
2231
+ container te-label {
2232
+ description
2233
+ "Container that specifies the TE label. The choices can
2234
+ be augmented for specific data-plane technologies.";
2235
+ choice technology {
2236
+ default "generic";
2237
+ description
2238
+ "Data-plane technology type.";
2239
+ case generic {
2240
+ leaf generic {
2241
+ type rt-types:generalized-label;
2242
+ description
2243
+ "TE label specified in a generic format.";
2244
+ }
2245
+ }
2246
+ }
2247
+ leaf direction {
2248
+ type te-label-direction;
2249
+ default "forward";
2250
+ description
2251
+ "Label direction.";
2252
+ }
2253
+ }
2254
+ }
2255
+
2256
+ grouping te-topology-identifier {
2257
+ description
2258
+ "Augmentation for a TE topology.";
2259
+ container te-topology-identifier {
2260
+ description
2261
+ "TE topology identifier container.";
2262
+ leaf provider-id {
2263
+ type te-global-id;
2264
+ default "0";
2265
+ description
2266
+ "An identifier to uniquely identify a provider.
2267
+ If omitted, it assumes that the topology provider ID
2268
+ value = 0 (the default).";
2269
+ }
2270
+ leaf client-id {
2271
+ type te-global-id;
2272
+ default "0";
2273
+ description
2274
+ "An identifier to uniquely identify a client.
2275
+ If omitted, it assumes that the topology client ID
2276
+ value = 0 (the default).";
2277
+ }
2278
+ leaf topology-id {
2279
+ type te-topology-id;
2280
+ default "";
2281
+ description
2282
+ "When the datastore contains several topologies,
2283
+ 'topology-id' distinguishes between them. If omitted,
2284
+ the default (empty) string for this leaf is assumed.";
2285
+ }
2286
+ }
2287
+ }
2288
+
2289
+ /**
2290
+ * TE performance metrics groupings
2291
+ **/
2292
+
2293
+ grouping performance-metrics-one-way-delay-loss {
2294
+ description
2295
+ "Performance Metrics (PM) information in real time that can
2296
+ be applicable to links or connections. PM defined in this
2297
+ grouping are applicable to generic TE PM as well as packet TE
2298
+ PM.";
2299
+ reference
2300
+ "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
2301
+ RFC 7823: Performance-Based Path Selection for Explicitly
2302
+ Routed Label Switched Paths (LSPs) Using TE Metric
2303
+ Extensions
2304
+ RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
2305
+ leaf one-way-delay {
2306
+ type uint32 {
2307
+ range "0..16777215";
2308
+ }
2309
+ description
2310
+ "One-way delay or latency in microseconds.";
2311
+ }
2312
+ leaf one-way-delay-normality {
2313
+ type te-types:performance-metrics-normality;
2314
+ description
2315
+ "One-way delay normality.";
2316
+ }
2317
+ }
2318
+
2319
+ grouping performance-metrics-two-way-delay-loss {
2320
+ description
2321
+ "PM information in real time that can be applicable to links or
2322
+ connections. PM defined in this grouping are applicable to
2323
+ generic TE PM as well as packet TE PM.";
2324
+ reference
2325
+ "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
2326
+ RFC 7823: Performance-Based Path Selection for Explicitly
2327
+ Routed Label Switched Paths (LSPs) Using TE Metric
2328
+ Extensions
2329
+ RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
2330
+ leaf two-way-delay {
2331
+ type uint32 {
2332
+ range "0..16777215";
2333
+ }
2334
+ description
2335
+ "Two-way delay or latency in microseconds.";
2336
+ }
2337
+ leaf two-way-delay-normality {
2338
+ type te-types:performance-metrics-normality;
2339
+ description
2340
+ "Two-way delay normality.";
2341
+ }
2342
+ }
2343
+
2344
+ grouping performance-metrics-one-way-bandwidth {
2345
+ description
2346
+ "PM information in real time that can be applicable to links.
2347
+ PM defined in this grouping are applicable to generic TE PM
2348
+ as well as packet TE PM.";
2349
+ reference
2350
+ "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
2351
+ RFC 7823: Performance-Based Path Selection for Explicitly
2352
+ Routed Label Switched Paths (LSPs) Using TE Metric
2353
+ Extensions
2354
+ RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
2355
+ leaf one-way-residual-bandwidth {
2356
+ type rt-types:bandwidth-ieee-float32;
2357
+ units "bytes per second";
2358
+ default "0x0p0";
2359
+ description
2360
+ "Residual bandwidth that subtracts tunnel reservations from
2361
+ Maximum Bandwidth (or link capacity) (RFC 3630) and
2362
+ provides an aggregated remainder across QoS classes.";
2363
+ reference
2364
+ "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
2365
+ Version 2";
2366
+ }
2367
+ leaf one-way-residual-bandwidth-normality {
2368
+ type te-types:performance-metrics-normality;
2369
+ default "normal";
2370
+ description
2371
+ "Residual bandwidth normality.";
2372
+ }
2373
+ leaf one-way-available-bandwidth {
2374
+ type rt-types:bandwidth-ieee-float32;
2375
+ units "bytes per second";
2376
+ default "0x0p0";
2377
+ description
2378
+ "Available bandwidth that is defined to be residual
2379
+ bandwidth minus the measured bandwidth used for the
2380
+ actual forwarding of non-RSVP-TE LSP packets. For a
2381
+ bundled link, available bandwidth is defined to be the
2382
+ sum of the component link available bandwidths.";
2383
+ }
2384
+ leaf one-way-available-bandwidth-normality {
2385
+ type te-types:performance-metrics-normality;
2386
+ default "normal";
2387
+ description
2388
+ "Available bandwidth normality.";
2389
+ }
2390
+ leaf one-way-utilized-bandwidth {
2391
+ type rt-types:bandwidth-ieee-float32;
2392
+ units "bytes per second";
2393
+ default "0x0p0";
2394
+ description
2395
+ "Bandwidth utilization that represents the actual
2396
+ utilization of the link (i.e., as measured in the router).
2397
+ For a bundled link, bandwidth utilization is defined to
2398
+ be the sum of the component link bandwidth utilizations.";
2399
+ }
2400
+ leaf one-way-utilized-bandwidth-normality {
2401
+ type te-types:performance-metrics-normality;
2402
+ default "normal";
2403
+ description
2404
+ "Bandwidth utilization normality.";
2405
+ }
2406
+ }
2407
+
2408
+ grouping one-way-performance-metrics {
2409
+ description
2410
+ "One-way PM throttle grouping.";
2411
+ leaf one-way-delay {
2412
+ type uint32 {
2413
+ range "0..16777215";
2414
+ }
2415
+ default "0";
2416
+ description
2417
+ "One-way delay or latency in microseconds.";
2418
+ }
2419
+ leaf one-way-residual-bandwidth {
2420
+ type rt-types:bandwidth-ieee-float32;
2421
+ units "bytes per second";
2422
+ default "0x0p0";
2423
+ description
2424
+ "Residual bandwidth that subtracts tunnel reservations from
2425
+ Maximum Bandwidth (or link capacity) (RFC 3630) and
2426
+ provides an aggregated remainder across QoS classes.";
2427
+ reference
2428
+ "RFC 3630: Traffic Engineering (TE) Extensions to OSPF
2429
+ Version 2";
2430
+ }
2431
+ leaf one-way-available-bandwidth {
2432
+ type rt-types:bandwidth-ieee-float32;
2433
+ units "bytes per second";
2434
+ default "0x0p0";
2435
+ description
2436
+ "Available bandwidth that is defined to be residual
2437
+ bandwidth minus the measured bandwidth used for the
2438
+ actual forwarding of non-RSVP-TE LSP packets. For a
2439
+ bundled link, available bandwidth is defined to be the
2440
+ sum of the component link available bandwidths.";
2441
+ }
2442
+ leaf one-way-utilized-bandwidth {
2443
+ type rt-types:bandwidth-ieee-float32;
2444
+ units "bytes per second";
2445
+ default "0x0p0";
2446
+ description
2447
+ "Bandwidth utilization that represents the actual
2448
+ utilization of the link (i.e., as measured in the router).
2449
+ For a bundled link, bandwidth utilization is defined to
2450
+ be the sum of the component link bandwidth utilizations.";
2451
+ }
2452
+ }
2453
+
2454
+ grouping two-way-performance-metrics {
2455
+ description
2456
+ "Two-way PM throttle grouping.";
2457
+ leaf two-way-delay {
2458
+ type uint32 {
2459
+ range "0..16777215";
2460
+ }
2461
+ default "0";
2462
+ description
2463
+ "Two-way delay or latency in microseconds.";
2464
+ }
2465
+ }
2466
+
2467
+ grouping performance-metrics-thresholds {
2468
+ description
2469
+ "Grouping for configurable thresholds for measured
2470
+ attributes.";
2471
+ uses one-way-performance-metrics;
2472
+ uses two-way-performance-metrics;
2473
+ }
2474
+
2475
+ grouping performance-metrics-attributes {
2476
+ description
2477
+ "Contains PM attributes.";
2478
+ container performance-metrics-one-way {
2479
+ description
2480
+ "One-way link performance information in real time.";
2481
+ reference
2482
+ "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
2483
+ RFC 7823: Performance-Based Path Selection for Explicitly
2484
+ Routed Label Switched Paths (LSPs) Using TE Metric
2485
+ Extensions
2486
+ RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
2487
+ uses performance-metrics-one-way-delay-loss;
2488
+ uses performance-metrics-one-way-bandwidth;
2489
+ }
2490
+ container performance-metrics-two-way {
2491
+ description
2492
+ "Two-way link performance information in real time.";
2493
+ reference
2494
+ "RFC 6374: Packet Loss and Delay Measurement for MPLS
2495
+ Networks";
2496
+ uses performance-metrics-two-way-delay-loss;
2497
+ }
2498
+ }
2499
+
2500
+ grouping performance-metrics-throttle-container {
2501
+ description
2502
+ "Controls PM throttling.";
2503
+ container throttle {
2504
+ must 'suppression-interval >= measure-interval' {
2505
+ error-message "'suppression-interval' cannot be less than "
2506
+ + "'measure-interval'.";
2507
+ description
2508
+ "Constraint on 'suppression-interval' and
2509
+ 'measure-interval'.";
2510
+ }
2511
+ description
2512
+ "Link performance information in real time.";
2513
+ reference
2514
+ "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
2515
+ RFC 7823: Performance-Based Path Selection for Explicitly
2516
+ Routed Label Switched Paths (LSPs) Using TE Metric
2517
+ Extensions
2518
+ RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
2519
+ leaf one-way-delay-offset {
2520
+ type uint32 {
2521
+ range "0..16777215";
2522
+ }
2523
+ default "0";
2524
+ description
2525
+ "Offset value to be added to the measured delay value.";
2526
+ }
2527
+ leaf measure-interval {
2528
+ type uint32;
2529
+ default "30";
2530
+ description
2531
+ "Interval, in seconds, to measure the extended metric
2532
+ values.";
2533
+ }
2534
+ leaf advertisement-interval {
2535
+ type uint32;
2536
+ default "0";
2537
+ description
2538
+ "Interval, in seconds, to advertise the extended metric
2539
+ values.";
2540
+ }
2541
+ leaf suppression-interval {
2542
+ type uint32 {
2543
+ range "1..max";
2544
+ }
2545
+ default "120";
2546
+ description
2547
+ "Interval, in seconds, to suppress advertisement of the
2548
+ extended metric values.";
2549
+ reference
2550
+ "RFC 8570: IS-IS Traffic Engineering (TE) Metric
2551
+ Extensions, Section 6";
2552
+ }
2553
+ container threshold-out {
2554
+ uses performance-metrics-thresholds;
2555
+ description
2556
+ "If the measured parameter falls outside an upper bound
2557
+ for all but the minimum-delay metric (or a lower bound
2558
+ for the minimum-delay metric only) and the advertised
2559
+ value is not already outside that bound, an 'anomalous'
2560
+ announcement (anomalous bit set) will be triggered.";
2561
+ }
2562
+ container threshold-in {
2563
+ uses performance-metrics-thresholds;
2564
+ description
2565
+ "If the measured parameter falls inside an upper bound
2566
+ for all but the minimum-delay metric (or a lower bound
2567
+ for the minimum-delay metric only) and the advertised
2568
+ value is not already inside that bound, a 'normal'
2569
+ announcement (anomalous bit cleared) will be triggered.";
2570
+ }
2571
+ container threshold-accelerated-advertisement {
2572
+ description
2573
+ "When the difference between the last advertised value and
2574
+ the current measured value exceeds this threshold, an
2575
+ 'anomalous' announcement (anomalous bit set) will be
2576
+ triggered.";
2577
+ uses performance-metrics-thresholds;
2578
+ }
2579
+ }
2580
+ }
2581
+
2582
+ /**
2583
+ * TE tunnel generic groupings
2584
+ **/
2585
+
2586
+ grouping explicit-route-hop {
2587
+ description
2588
+ "The explicit route entry grouping.";
2589
+ choice type {
2590
+ description
2591
+ "The explicit route entry type.";
2592
+ case numbered-node-hop {
2593
+ container numbered-node-hop {
2594
+ leaf node-id {
2595
+ type te-node-id;
2596
+ mandatory true;
2597
+ description
2598
+ "The identifier of a node in the TE topology.";
2599
+ }
2600
+ leaf hop-type {
2601
+ type te-hop-type;
2602
+ default "strict";
2603
+ description
2604
+ "Strict or loose hop.";
2605
+ }
2606
+ description
2607
+ "Numbered node route hop.";
2608
+ reference
2609
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
2610
+ Section 4.3, EXPLICIT_ROUTE in RSVP-TE
2611
+ RFC 3477: Signalling Unnumbered Links in Resource
2612
+ ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
2613
+ }
2614
+ }
2615
+ case numbered-link-hop {
2616
+ container numbered-link-hop {
2617
+ leaf link-tp-id {
2618
+ type te-tp-id;
2619
+ mandatory true;
2620
+ description
2621
+ "TE Link Termination Point (LTP) identifier.";
2622
+ }
2623
+ leaf hop-type {
2624
+ type te-hop-type;
2625
+ default "strict";
2626
+ description
2627
+ "Strict or loose hop.";
2628
+ }
2629
+ leaf direction {
2630
+ type te-link-direction;
2631
+ default "outgoing";
2632
+ description
2633
+ "Link route object direction.";
2634
+ }
2635
+ description
2636
+ "Numbered link explicit route hop.";
2637
+ reference
2638
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
2639
+ Section 4.3, EXPLICIT_ROUTE in RSVP-TE
2640
+ RFC 3477: Signalling Unnumbered Links in Resource
2641
+ ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
2642
+ }
2643
+ }
2644
+ case unnumbered-link-hop {
2645
+ container unnumbered-link-hop {
2646
+ leaf link-tp-id {
2647
+ type te-tp-id;
2648
+ mandatory true;
2649
+ description
2650
+ "TE LTP identifier. The combination of the TE link ID
2651
+ and the TE node ID is used to identify an unnumbered
2652
+ TE link.";
2653
+ }
2654
+ leaf node-id {
2655
+ type te-node-id;
2656
+ mandatory true;
2657
+ description
2658
+ "The identifier of a node in the TE topology.";
2659
+ }
2660
+ leaf hop-type {
2661
+ type te-hop-type;
2662
+ default "strict";
2663
+ description
2664
+ "Strict or loose hop.";
2665
+ }
2666
+ leaf direction {
2667
+ type te-link-direction;
2668
+ default "outgoing";
2669
+ description
2670
+ "Link route object direction.";
2671
+ }
2672
+ description
2673
+ "Unnumbered link explicit route hop.";
2674
+ reference
2675
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
2676
+ Section 4.3, EXPLICIT_ROUTE in RSVP-TE
2677
+ RFC 3477: Signalling Unnumbered Links in Resource
2678
+ ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
2679
+ }
2680
+ }
2681
+ case as-number {
2682
+ container as-number-hop {
2683
+ leaf as-number {
2684
+ type inet:as-number;
2685
+ mandatory true;
2686
+ description
2687
+ "The Autonomous System (AS) number.";
2688
+ }
2689
+ leaf hop-type {
2690
+ type te-hop-type;
2691
+ default "strict";
2692
+ description
2693
+ "Strict or loose hop.";
2694
+ }
2695
+ description
2696
+ "AS explicit route hop.";
2697
+ }
2698
+ }
2699
+ case label {
2700
+ container label-hop {
2701
+ description
2702
+ "Label hop type.";
2703
+ uses te-label;
2704
+ }
2705
+ description
2706
+ "The label explicit route hop type.";
2707
+ }
2708
+ }
2709
+ }
2710
+
2711
+ grouping record-route-state {
2712
+ description
2713
+ "The Record Route grouping.";
2714
+ leaf index {
2715
+ type uint32;
2716
+ description
2717
+ "Record Route hop index. The index is used to
2718
+ identify an entry in the list. The order of entries
2719
+ is defined by the user without relying on key values.";
2720
+ }
2721
+ choice type {
2722
+ description
2723
+ "The Record Route entry type.";
2724
+ case numbered-node-hop {
2725
+ container numbered-node-hop {
2726
+ description
2727
+ "Numbered node route hop container.";
2728
+ leaf node-id {
2729
+ type te-node-id;
2730
+ mandatory true;
2731
+ description
2732
+ "The identifier of a node in the TE topology.";
2733
+ }
2734
+ leaf-list flags {
2735
+ type path-attribute-flags;
2736
+ description
2737
+ "Path attributes flags.";
2738
+ reference
2739
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
2740
+ RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
2741
+ Tunnels
2742
+ RFC 4561: Definition of a Record Route Object (RRO)
2743
+ Node-Id Sub-Object";
2744
+ }
2745
+ }
2746
+ description
2747
+ "Numbered node route hop.";
2748
+ }
2749
+ case numbered-link-hop {
2750
+ container numbered-link-hop {
2751
+ description
2752
+ "Numbered link route hop container.";
2753
+ leaf link-tp-id {
2754
+ type te-tp-id;
2755
+ mandatory true;
2756
+ description
2757
+ "Numbered TE LTP identifier.";
2758
+ }
2759
+ leaf-list flags {
2760
+ type path-attribute-flags;
2761
+ description
2762
+ "Path attributes flags.";
2763
+ reference
2764
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
2765
+ RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
2766
+ Tunnels
2767
+ RFC 4561: Definition of a Record Route Object (RRO)
2768
+ Node-Id Sub-Object";
2769
+ }
2770
+ }
2771
+ description
2772
+ "Numbered link route hop.";
2773
+ }
2774
+ case unnumbered-link-hop {
2775
+ container unnumbered-link-hop {
2776
+ leaf link-tp-id {
2777
+ type te-tp-id;
2778
+ mandatory true;
2779
+ description
2780
+ "TE LTP identifier. The combination of the TE link ID
2781
+ and the TE node ID is used to identify an unnumbered
2782
+ TE link.";
2783
+ }
2784
+ leaf node-id {
2785
+ type te-node-id;
2786
+ description
2787
+ "The identifier of a node in the TE topology.";
2788
+ }
2789
+ leaf-list flags {
2790
+ type path-attribute-flags;
2791
+ description
2792
+ "Path attributes flags.";
2793
+ reference
2794
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
2795
+ RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
2796
+ Tunnels
2797
+ RFC 4561: Definition of a Record Route Object (RRO)
2798
+ Node-Id Sub-Object";
2799
+ }
2800
+ description
2801
+ "Unnumbered link Record Route hop.";
2802
+ reference
2803
+ "RFC 3477: Signalling Unnumbered Links in Resource
2804
+ ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
2805
+ }
2806
+ description
2807
+ "Unnumbered link route hop.";
2808
+ }
2809
+ case label {
2810
+ container label-hop {
2811
+ description
2812
+ "Label route hop type.";
2813
+ uses te-label;
2814
+ leaf-list flags {
2815
+ type path-attribute-flags;
2816
+ description
2817
+ "Path attributes flags.";
2818
+ reference
2819
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
2820
+ RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
2821
+ Tunnels
2822
+ RFC 4561: Definition of a Record Route Object (RRO)
2823
+ Node-Id Sub-Object";
2824
+ }
2825
+ }
2826
+ description
2827
+ "The label Record Route entry types.";
2828
+ }
2829
+ }
2830
+ }
2831
+
2832
+ grouping label-restriction-info {
2833
+ description
2834
+ "Label set item information.";
2835
+ leaf restriction {
2836
+ type enumeration {
2837
+ enum inclusive {
2838
+ description
2839
+ "The label or label range is inclusive.";
2840
+ }
2841
+ enum exclusive {
2842
+ description
2843
+ "The label or label range is exclusive.";
2844
+ }
2845
+ }
2846
+ default "inclusive";
2847
+ description
2848
+ "Indicates whether the list item is inclusive or exclusive.";
2849
+ }
2850
+ leaf index {
2851
+ type uint32;
2852
+ description
2853
+ "The index of the label restriction list entry.";
2854
+ }
2855
+ container label-start {
2856
+ must "(not(../label-end/te-label/direction) and"
2857
+ + " not(te-label/direction))"
2858
+ + " or "
2859
+ + "(../label-end/te-label/direction = te-label/direction)"
2860
+ + " or "
2861
+ + "(not(te-label/direction) and"
2862
+ + " (../label-end/te-label/direction = 'forward'))"
2863
+ + " or "
2864
+ + "(not(../label-end/te-label/direction) and"
2865
+ + " (te-label/direction = 'forward'))" {
2866
+ error-message "'label-start' and 'label-end' must have the "
2867
+ + "same direction.";
2868
+ }
2869
+ description
2870
+ "This is the starting label if a label range is specified.
2871
+ This is the label value if a single label is specified,
2872
+ in which case the 'label-end' attribute is not set.";
2873
+ uses te-label;
2874
+ }
2875
+ container label-end {
2876
+ must "(not(../label-start/te-label/direction) and"
2877
+ + " not(te-label/direction))"
2878
+ + " or "
2879
+ + "(../label-start/te-label/direction = te-label/direction)"
2880
+ + " or "
2881
+ + "(not(te-label/direction) and"
2882
+ + " (../label-start/te-label/direction = 'forward'))"
2883
+ + " or "
2884
+ + "(not(../label-start/te-label/direction) and"
2885
+ + " (te-label/direction = 'forward'))" {
2886
+ error-message "'label-start' and 'label-end' must have the "
2887
+ + "same direction.";
2888
+ }
2889
+ description
2890
+ "This is the ending label if a label range is specified.
2891
+ This attribute is not set if a single label is specified.";
2892
+ uses te-label;
2893
+ }
2894
+ container label-step {
2895
+ description
2896
+ "The step increment between labels in the label range.
2897
+ The label start/end values will have to be consistent
2898
+ with the sign of label step. For example,
2899
+ 'label-start' < 'label-end' enforces 'label-step' > 0
2900
+ 'label-start' > 'label-end' enforces 'label-step' < 0.";
2901
+ choice technology {
2902
+ default "generic";
2903
+ description
2904
+ "Data-plane technology type.";
2905
+ case generic {
2906
+ leaf generic {
2907
+ type int32;
2908
+ default "1";
2909
+ description
2910
+ "Label range step.";
2911
+ }
2912
+ }
2913
+ }
2914
+ }
2915
+ leaf range-bitmap {
2916
+ type yang:hex-string;
2917
+ description
2918
+ "When there are gaps between 'label-start' and 'label-end',
2919
+ this attribute is used to specify the positions
2920
+ of the used labels. This is represented in big endian as
2921
+ 'hex-string'.
2922
+ The most significant byte in the hex-string is the farthest
2923
+ to the left in the byte sequence. Leading zero bytes in the
2924
+ configured value may be omitted for brevity.
2925
+ Each bit position in the 'range-bitmap' 'hex-string' maps
2926
+ to a label in the range derived from 'label-start'.
2927
+
2928
+ For example, assuming that 'label-start' = 16000 and
2929
+ 'range-bitmap' = 0x01000001, then:
2930
+
2931
+ - bit position (0) is set, and the corresponding mapped
2932
+ label from the range is 16000 + (0 * 'label-step') or
2933
+ 16000 for default 'label-step' = 1.
2934
+ - bit position (24) is set, and the corresponding mapped
2935
+ label from the range is 16000 + (24 * 'label-step') or
2936
+ 16024 for default 'label-step' = 1.";
2937
+ }
2938
+ }
2939
+
2940
+ grouping label-set-info {
2941
+ description
2942
+ "Grouping for the list of label restrictions specifying what
2943
+ labels may or may not be used.";
2944
+ container label-restrictions {
2945
+ description
2946
+ "The label restrictions container.";
2947
+ list label-restriction {
2948
+ key "index";
2949
+ description
2950
+ "The absence of the label restrictions container implies
2951
+ that all labels are acceptable; otherwise, only restricted
2952
+ labels are available.";
2953
+ reference
2954
+ "RFC 7579: General Network Element Constraint Encoding
2955
+ for GMPLS-Controlled Networks";
2956
+ uses label-restriction-info;
2957
+ }
2958
+ }
2959
+ }
2960
+
2961
+ grouping optimization-metric-entry {
2962
+ description
2963
+ "Optimization metrics configuration grouping.";
2964
+ leaf metric-type {
2965
+ type identityref {
2966
+ base path-metric-type;
2967
+ }
2968
+ description
2969
+ "Identifies the 'metric-type' that the path computation
2970
+ process uses for optimization.";
2971
+ }
2972
+ leaf weight {
2973
+ type uint8;
2974
+ default "1";
2975
+ description
2976
+ "TE path metric normalization weight.";
2977
+ }
2978
+ container explicit-route-exclude-objects {
2979
+ when "../metric-type = "
2980
+ + "'te-types:path-metric-optimize-excludes'";
2981
+ description
2982
+ "Container for the 'exclude route' object list.";
2983
+ uses path-route-exclude-objects;
2984
+ }
2985
+ container explicit-route-include-objects {
2986
+ when "../metric-type = "
2987
+ + "'te-types:path-metric-optimize-includes'";
2988
+ description
2989
+ "Container for the 'include route' object list.";
2990
+ uses path-route-include-objects;
2991
+ }
2992
+ }
2993
+
2994
+ grouping common-constraints {
2995
+ description
2996
+ "Common constraints grouping that can be set on
2997
+ a constraint set or directly on the tunnel.";
2998
+ uses te-bandwidth {
2999
+ description
3000
+ "A requested bandwidth to use for path computation.";
3001
+ }
3002
+ leaf link-protection {
3003
+ type identityref {
3004
+ base link-protection-type;
3005
+ }
3006
+ default "te-types:link-protection-unprotected";
3007
+ description
3008
+ "Link protection type required for the links included
3009
+ in the computed path.";
3010
+ reference
3011
+ "RFC 4202: Routing Extensions in Support of
3012
+ Generalized Multi-Protocol Label Switching (GMPLS)";
3013
+ }
3014
+ leaf setup-priority {
3015
+ type uint8 {
3016
+ range "0..7";
3017
+ }
3018
+ default "7";
3019
+ description
3020
+ "TE LSP requested setup priority.";
3021
+ reference
3022
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
3023
+ }
3024
+ leaf hold-priority {
3025
+ type uint8 {
3026
+ range "0..7";
3027
+ }
3028
+ default "7";
3029
+ description
3030
+ "TE LSP requested hold priority.";
3031
+ reference
3032
+ "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
3033
+ }
3034
+ leaf signaling-type {
3035
+ type identityref {
3036
+ base path-signaling-type;
3037
+ }
3038
+ default "te-types:path-setup-rsvp";
3039
+ description
3040
+ "TE tunnel path signaling type.";
3041
+ }
3042
+ }
3043
+
3044
+ grouping tunnel-constraints {
3045
+ description
3046
+ "Tunnel constraints grouping that can be set on
3047
+ a constraint set or directly on the tunnel.";
3048
+ uses te-topology-identifier;
3049
+ uses common-constraints;
3050
+ }
3051
+
3052
+ grouping path-constraints-route-objects {
3053
+ description
3054
+ "List of route entries to be included or excluded when
3055
+ performing the path computation.";
3056
+ container explicit-route-objects-always {
3057
+ description
3058
+ "Container for the 'exclude route' object list.";
3059
+ list route-object-exclude-always {
3060
+ key "index";
3061
+ ordered-by user;
3062
+ description
3063
+ "List of route objects to always exclude from the path
3064
+ computation.";
3065
+ leaf index {
3066
+ type uint32;
3067
+ description
3068
+ "Explicit Route Object index. The index is used to
3069
+ identify an entry in the list. The order of entries
3070
+ is defined by the user without relying on key values.";
3071
+ }
3072
+ uses explicit-route-hop;
3073
+ }
3074
+ list route-object-include-exclude {
3075
+ key "index";
3076
+ ordered-by user;
3077
+ description
3078
+ "List of route objects to include or exclude in the path
3079
+ computation.";
3080
+ leaf explicit-route-usage {
3081
+ type identityref {
3082
+ base route-usage-type;
3083
+ }
3084
+ default "te-types:route-include-object";
3085
+ description
3086
+ "Indicates whether to include or exclude the
3087
+ route object. The default is to include it.";
3088
+ }
3089
+ leaf index {
3090
+ type uint32;
3091
+ description
3092
+ "Route object include-exclude index. The index is used
3093
+ to identify an entry in the list. The order of entries
3094
+ is defined by the user without relying on key values.";
3095
+ }
3096
+ uses explicit-route-hop {
3097
+ augment "type" {
3098
+ case srlg {
3099
+ container srlg {
3100
+ description
3101
+ "SRLG container.";
3102
+ leaf srlg {
3103
+ type uint32;
3104
+ description
3105
+ "SRLG value.";
3106
+ }
3107
+ }
3108
+ description
3109
+ "An SRLG value to be included or excluded.";
3110
+ }
3111
+ description
3112
+ "Augmentation for a generic explicit route for SRLG
3113
+ exclusion.";
3114
+ }
3115
+ }
3116
+ }
3117
+ }
3118
+ }
3119
+
3120
+ grouping path-route-include-objects {
3121
+ description
3122
+ "List of route objects to be included when performing
3123
+ the path computation.";
3124
+ list route-object-include-object {
3125
+ key "index";
3126
+ ordered-by user;
3127
+ description
3128
+ "List of Explicit Route Objects to be included in the
3129
+ path computation.";
3130
+ leaf index {
3131
+ type uint32;
3132
+ description
3133
+ "Route object entry index. The index is used to
3134
+ identify an entry in the list. The order of entries
3135
+ is defined by the user without relying on key values.";
3136
+ }
3137
+ uses explicit-route-hop;
3138
+ }
3139
+ }
3140
+
3141
+ grouping path-route-exclude-objects {
3142
+ description
3143
+ "List of route objects to be excluded when performing
3144
+ the path computation.";
3145
+ list route-object-exclude-object {
3146
+ key "index";
3147
+ ordered-by user;
3148
+ description
3149
+ "List of Explicit Route Objects to be excluded in the
3150
+ path computation.";
3151
+ leaf index {
3152
+ type uint32;
3153
+ description
3154
+ "Route object entry index. The index is used to
3155
+ identify an entry in the list. The order of entries
3156
+ is defined by the user without relying on key values.";
3157
+ }
3158
+ uses explicit-route-hop {
3159
+ augment "type" {
3160
+ case srlg {
3161
+ container srlg {
3162
+ description
3163
+ "SRLG container.";
3164
+ leaf srlg {
3165
+ type uint32;
3166
+ description
3167
+ "SRLG value.";
3168
+ }
3169
+ }
3170
+ description
3171
+ "An SRLG value to be included or excluded.";
3172
+ }
3173
+ description
3174
+ "Augmentation for a generic explicit route for SRLG
3175
+ exclusion.";
3176
+ }
3177
+ }
3178
+ }
3179
+ }
3180
+
3181
+ grouping generic-path-metric-bounds {
3182
+ description
3183
+ "TE path metric bounds grouping.";
3184
+ container path-metric-bounds {
3185
+ description
3186
+ "TE path metric bounds container.";
3187
+ list path-metric-bound {
3188
+ key "metric-type";
3189
+ description
3190
+ "List of TE path metric bounds.";
3191
+ leaf metric-type {
3192
+ type identityref {
3193
+ base path-metric-type;
3194
+ }
3195
+ description
3196
+ "Identifies an entry in the list of 'metric-type' items
3197
+ bound for the TE path.";
3198
+ }
3199
+ leaf upper-bound {
3200
+ type uint64;
3201
+ default "0";
3202
+ description
3203
+ "Upper bound on the end-to-end TE path metric. A zero
3204
+ indicates an unbounded upper limit for the specific
3205
+ 'metric-type'.";
3206
+ }
3207
+ }
3208
+ }
3209
+ }
3210
+
3211
+ grouping generic-path-optimization {
3212
+ description
3213
+ "TE generic path optimization grouping.";
3214
+ container optimizations {
3215
+ description
3216
+ "The objective function container that includes
3217
+ attributes to impose when computing a TE path.";
3218
+ choice algorithm {
3219
+ description
3220
+ "Optimizations algorithm.";
3221
+ case metric {
3222
+ if-feature "path-optimization-metric";
3223
+ /* Optimize by metric */
3224
+ list optimization-metric {
3225
+ key "metric-type";
3226
+ description
3227
+ "TE path metric type.";
3228
+ uses optimization-metric-entry;
3229
+ }
3230
+ /* Tiebreakers */
3231
+ container tiebreakers {
3232
+ description
3233
+ "Container for the list of tiebreakers.";
3234
+ list tiebreaker {
3235
+ key "tiebreaker-type";
3236
+ description
3237
+ "The list of tiebreaker criteria to apply on an
3238
+ equally favored set of paths, in order to pick
3239
+ the best.";
3240
+ leaf tiebreaker-type {
3241
+ type identityref {
3242
+ base path-metric-type;
3243
+ }
3244
+ description
3245
+ "Identifies an entry in the list of tiebreakers.";
3246
+ }
3247
+ }
3248
+ }
3249
+ }
3250
+ case objective-function {
3251
+ if-feature "path-optimization-objective-function";
3252
+ /* Objective functions */
3253
+ container objective-function {
3254
+ description
3255
+ "The objective function container that includes
3256
+ attributes to impose when computing a TE path.";
3257
+ leaf objective-function-type {
3258
+ type identityref {
3259
+ base objective-function-type;
3260
+ }
3261
+ default "te-types:of-minimize-cost-path";
3262
+ description
3263
+ "Objective function entry.";
3264
+ }
3265
+ }
3266
+ }
3267
+ }
3268
+ }
3269
+ }
3270
+
3271
+ grouping generic-path-affinities {
3272
+ description
3273
+ "Path affinities grouping.";
3274
+ container path-affinities-values {
3275
+ description
3276
+ "Path affinities represented as values.";
3277
+ list path-affinities-value {
3278
+ key "usage";
3279
+ description
3280
+ "List of named affinity constraints.";
3281
+ leaf usage {
3282
+ type identityref {
3283
+ base resource-affinities-type;
3284
+ }
3285
+ description
3286
+ "Identifies an entry in the list of value affinity
3287
+ constraints.";
3288
+ }
3289
+ leaf value {
3290
+ type admin-groups;
3291
+ default "";
3292
+ description
3293
+ "The affinity value. The default is empty.";
3294
+ }
3295
+ }
3296
+ }
3297
+ container path-affinity-names {
3298
+ description
3299
+ "Path affinities represented as names.";
3300
+ list path-affinity-name {
3301
+ key "usage";
3302
+ description
3303
+ "List of named affinity constraints.";
3304
+ leaf usage {
3305
+ type identityref {
3306
+ base resource-affinities-type;
3307
+ }
3308
+ description
3309
+ "Identifies an entry in the list of named affinity
3310
+ constraints.";
3311
+ }
3312
+ list affinity-name {
3313
+ key "name";
3314
+ leaf name {
3315
+ type string;
3316
+ description
3317
+ "Identifies a named affinity entry.";
3318
+ }
3319
+ description
3320
+ "List of named affinities.";
3321
+ }
3322
+ }
3323
+ }
3324
+ }
3325
+
3326
+ grouping generic-path-srlgs {
3327
+ description
3328
+ "Path SRLG grouping.";
3329
+ container path-srlgs-lists {
3330
+ description
3331
+ "Path SRLG properties container.";
3332
+ list path-srlgs-list {
3333
+ key "usage";
3334
+ description
3335
+ "List of SRLG values to be included or excluded.";
3336
+ leaf usage {
3337
+ type identityref {
3338
+ base route-usage-type;
3339
+ }
3340
+ description
3341
+ "Identifies an entry in a list of SRLGs to either
3342
+ include or exclude.";
3343
+ }
3344
+ leaf-list values {
3345
+ type srlg;
3346
+ description
3347
+ "List of SRLG values.";
3348
+ }
3349
+ }
3350
+ }
3351
+ container path-srlgs-names {
3352
+ description
3353
+ "Container for the list of named SRLGs.";
3354
+ list path-srlgs-name {
3355
+ key "usage";
3356
+ description
3357
+ "List of named SRLGs to be included or excluded.";
3358
+ leaf usage {
3359
+ type identityref {
3360
+ base route-usage-type;
3361
+ }
3362
+ description
3363
+ "Identifies an entry in a list of named SRLGs to either
3364
+ include or exclude.";
3365
+ }
3366
+ leaf-list names {
3367
+ type string;
3368
+ description
3369
+ "List of named SRLGs.";
3370
+ }
3371
+ }
3372
+ }
3373
+ }
3374
+
3375
+ grouping generic-path-disjointness {
3376
+ description
3377
+ "Path disjointness grouping.";
3378
+ leaf disjointness {
3379
+ type te-path-disjointness;
3380
+ description
3381
+ "The type of resource disjointness.
3382
+ When configured for a primary path, the disjointness level
3383
+ applies to all secondary LSPs. When configured for a
3384
+ secondary path, the disjointness level overrides the level
3385
+ configured for the primary path.";
3386
+ }
3387
+ }
3388
+
3389
+ grouping common-path-constraints-attributes {
3390
+ description
3391
+ "Common path constraints configuration grouping.";
3392
+ uses common-constraints;
3393
+ uses generic-path-metric-bounds;
3394
+ uses generic-path-affinities;
3395
+ uses generic-path-srlgs;
3396
+ }
3397
+
3398
+ grouping generic-path-constraints {
3399
+ description
3400
+ "Global named path constraints configuration grouping.";
3401
+ container path-constraints {
3402
+ description
3403
+ "TE named path constraints container.";
3404
+ uses common-path-constraints-attributes;
3405
+ uses generic-path-disjointness;
3406
+ }
3407
+ }
3408
+
3409
+ grouping generic-path-properties {
3410
+ description
3411
+ "TE generic path properties grouping.";
3412
+ container path-properties {
3413
+ config false;
3414
+ description
3415
+ "The TE path properties.";
3416
+ list path-metric {
3417
+ key "metric-type";
3418
+ description
3419
+ "TE path metric type.";
3420
+ leaf metric-type {
3421
+ type identityref {
3422
+ base path-metric-type;
3423
+ }
3424
+ description
3425
+ "TE path metric type.";
3426
+ }
3427
+ leaf accumulative-value {
3428
+ type uint64;
3429
+ description
3430
+ "TE path metric accumulative value.";
3431
+ }
3432
+ }
3433
+ uses generic-path-affinities;
3434
+ uses generic-path-srlgs;
3435
+ container path-route-objects {
3436
+ description
3437
+ "Container for the list of route objects either returned by
3438
+ the computation engine or actually used by an LSP.";
3439
+ list path-route-object {
3440
+ key "index";
3441
+ ordered-by user;
3442
+ description
3443
+ "List of route objects either returned by the computation
3444
+ engine or actually used by an LSP.";
3445
+ leaf index {
3446
+ type uint32;
3447
+ description
3448
+ "Route object entry index. The index is used to
3449
+ identify an entry in the list. The order of entries
3450
+ is defined by the user without relying on key
3451
+ values.";
3452
+ }
3453
+ uses explicit-route-hop;
3454
+ }
3455
+ }
3456
+ }
3457
+ }
3458
+ }