aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-isis-lsdb-types.yang
blob: 5e53fd4c393e7844a4799aceb246ff519a7c4568 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
module openconfig-isis-lsdb-types {

  yang-version "1";

  // namespace
  namespace "http://openconfig.net/yang/isis-lsdb-types";

  prefix "oc-isis-lsdb-types";

  import openconfig-extensions { prefix oc-ext; }

  // meta
  organization "OpenConfig working group";

  contact
    "OpenConfig working group
    www.openconfig.net";

  description
    "This module contains general LSDB type definitions for use in
    ISIS YANG model. ";

  oc-ext:openconfig-version "0.4.0";

  revision "2018-05-14" {
    description
      "Update LSDB model to correct Extended IS reach TLV
      bug. This change is backwards incompatible due to
      adding an additional level of hierarchy to support
      multiple instances of the TLV.";
    reference "0.4.0";
  }

  revision "2017-07-26" {
    description
      "Update LSDB and fix bugs.";
    reference "0.3.2";
  }

  revision "2017-05-15" {
    description
      "Refactor LSDB.";
    reference "0.3.0";
  }

  revision "2017-01-13" {
    description
      "Remove top-level /isis container";
    reference "0.2.1";
  }

  revision "2016-12-15" {
    description
      "Add segment routing to IS-IS module";
    reference "0.2.0";
  }

  revision "2016-10-18" {
    description
      "Initial revision of IS-IS models.";
    reference "0.1.0";
  }

  identity ISIS_TLV_TYPE {
    description
      "Base identity for an ISIS TLV type.";
  }

  identity ISIS_SUBTLV_TYPE {
    description
      "Base identity for an ISIS SUB-TLV type.";
  }

  identity IS_REACHABILITY_SUBTLVS_TYPE {
    base "ISIS_SUBTLV_TYPE";
    description
      "Base identity for an ISIS TLV 22, 23, 222, 223, 141 SUB-TLV
      type.";
  }

  identity IP_REACHABILITY_SUBTLVS_TYPE {
    base "ISIS_SUBTLV_TYPE";
    description
      "Base identity for an ISIS TLV 135, 235, 236, 237 SUB-TLV
      type.";
  }

  identity ROUTER_CAPABILITY_SUBTLVS_TYPE {
    base "ISIS_SUBTLV_TYPE";
    description
      "Base identity for an ISIS TLV 242 SUB-TLV type.";
  }

  identity AREA_ADDRESSES {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 1. Intermediate System to Intermediate System Intra-
      Domain Routeing Exchange Protocol for use in Conjunction with
      the Protocol for Providing the Connectionless-mode Network
      Service (ISO 8473), International Standard 10589: 2002, Second
      Edition, 2002.";
    reference
      "ISO 10589";
  }

  identity IIS_NEIGHBORS {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 2. Intermediate System to Intermediate System Intra-
      Domain Routeing Exchange Protocol for use in Conjunction with
      the Protocol for Providing the Connectionless-mode Network
      Service (ISO 8473), International Standard 10589: 2002, Second
      Edition, 2002.";
    reference
      "ISO 10589";
  }

  identity INSTANCE_ID {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 7. An Instance Identifier (IID) to uniquely
      identify an IS-IS instance. When the IID = 0, the list of
      supported ITIDs MUST NOT be present. An IID-TLV with IID = 0
      MUST NOT appear in an SNP or LSP. When the TLV appears (with a
      non-zero IID) in an SNP or LSP, exactly one ITID. MUST be
      present indicating the topology with which the PDU is
      associated. If no ITIDs or multiple ITIDs are present or the
      IID is zero, then the PDU MUST be ignored";
    reference
      "RFC6822: IS-IS Multi-Instance";
  }

  identity AUTHENTICATION {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 10.Intermediate System to Intermediate System Intra-
      Domain Routeing Exchange Protocol for use in Conjunction with
      the Protocol for Providing the Connectionless-mode Network
      Service (ISO 8473) International Standard 10589: 2002, Second
      Edition, 2002.";
    reference
      "ISO 10589";
  }

  identity PURGE_OI {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 13. If an IS generates a purge, it SHOULD include
      this TLV in the purge with its own system ID.  If an IS
      receives a purge that does not include this TLV, then it SHOULD
      add this TLV with both its own system ID and the system ID of
      the IS from which it received the purge.  This allows ISs
      receiving purges to log the system ID of the originator, or the
      upstream source of the purge.";
    reference
      "RFC6232: Purge Originator Identification TLV";
  }

  identity LSP_BUFFER_SIZE {
   base "ISIS_TLV_TYPE";
   description
     "ISIS TLV 14. The maximum MTU that the advertising system can
     receive, expressed in bytes.";
   reference
     "ISO 10589: LSP Buffer Size TLV";
  }

  identity EXTENDED_IS_REACHABILITY {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 22. An extended IS reachability TLV that has a
      different data structure to TLV 2 that introduces the use of
      sub-TLV object-group.";
    reference
      "RFC5305: IS-IS Extensions for Traffic Engineering";
  }

  identity IS_NEIGHBOR_ATTRIBUTE {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 23. Identical in format to TLV 22 and included in
      Original LSPs or Extended LSPs. Regardless of the type of LSP
      in which the TLVs appear, the information pertains to the
      neighbor relationship between the Originating System and the IS
      identified in the TLV";
    reference
      "RFC5311: Simplified Extension of Link State PDU (LSP) Space
      for IS-IS";
  }

  identity ISIS_ALIAS_ID {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 24. IS-Alias TLV which extension-capable ISs to
      recognize the Originating System of an Extended LSP set. It
      identifies the Normal system-id of the Originating System";
    reference
      "RFC5311: Simplified Extension of Link State PDU (LSP) Space
      for IS-IS";
  }

  identity IPV4_INTERNAL_REACHABILITY {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 128. TLV defines IP addresses within the routing
      domain reachable directly via one or more interfaces on this
      Intermediate system";
    reference
      "RFC1195: OSI ISIS for IP and Dual Environments. RFC5302:
      Domain-Wide Prefix Distribution with Two-Level IS-IS";
  }

  identity NLPID {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 129. TLV defines the set Network Layer Protocol
      Identifiers for Network Layer protocols that this Intermediate
      System is capable of relaying";
    reference
      "RFC1195: Use of OSI IS-IS for Routing in TCP/IP and
      Dual Environments";
  }

  identity IPV4_EXTERNAL_REACHABILITY {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 130. TLV defines IP addresses outside the routing
      domain reachable via interfaces on this Intermediate system.
      This is permitted to appear multiple times, and in an LSP with
      any LSP number. However, this field must not appear in
      pseudonode LSPs";
    reference "
      RFC1195: OSI ISIS for IP and Dual Environments.  RFC5302:
      Domain-Wide Prefix Distribution with Two-Level IS-IS";
  }

  identity IPV4_INTERFACE_ADDRESSES {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 132. The IP address of one or more interfaces
      corresponding to the SNPAs enabled on this Intermediate system
      (i.e., one or more IP addresses of this router). This is
      permitted to appear multiple times, and in an LSP with any LSP
      number.";
    reference
      "RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual
      Environments";
  }

  identity IPV4_TE_ROUTER_ID {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 134. Traffic Engineering router ID TLV that contains
      the 4-octet router ID of the router originating the LSP";
    reference
      "RFC5305: IS-IS Extensions for Traffic Engineering";
  }

  identity EXTENDED_IPV4_REACHABILITY {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 135. Extended IP reachability TLV that provides for a
      32-bit metric and adds one bit to indicate that a prefix has
      been redistributed _down_ in the hierarchy";
    reference
      "RFC5305: IS-IS Extensions for Traffic Engineering";
  }

  identity DYNAMIC_NAME {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 137. The Dynamic hostname TLV is optional.  This TLV
      may be present in any fragment of a non-pseudonode LSP.  The
      value field identifies the symbolic name of the router
      originating the LSP.  This symbolic name can be the FQDN for the
      router, it can be a subset of the FQDN, or it can be any string
      operators want to use for the router.";
    reference
      "RFC6233: IS-IS Registry Extension for Purges, RFC 5301: Dynamic
      Hostname Exchange Mechanism for IS-IS.";
  }

  identity IPV4_SRLG {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 138. IPv4 Shared Risk Link Group TLV";
    reference
      "RFC5307: IS-IS Extensions in Support of Generalized
      Multi-Protocol Label Switching (GMPLS)";
  }

  identity IPV6_SRLG {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 139. IPv6 Shared Risk Link Group";
    reference
      "RFC6119: IPv6 Traffic Engineering in IS-IS";
  }

  identity IPV6_TE_ROUTER_ID {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 140. The IPv6 TE Router ID TLV contains a 16-octet
      IPv6 address. A stable global IPv6 address MUST be used, so that
      the router ID provides a routable address, regardless of the
      state of a node's interfaces. If a router does not implement
      traffic engineering, it MAY include or omit the IPv6 TE Router
      ID TLV.  If a router implements traffic engineering for IPv6, it
      MUST include this TLV in its LSP.  This TLV MUST NOT be included
      more than once in an LSP.";
    reference
      "RFC6119: IPv6 Traffic Engineering in IS-IS.";
  }

  identity MT_ISN {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 222. TLV is aligned with extended IS reachability TLV
      type 22 beside an additional two bytes in front at the beginning
      of the TLV that. indicate MT membership.";
    reference
      "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate
      System to Intermediate Systems (IS-ISs)";
  }

  identity MT_IS_NEIGHBOR_ATTRIBUTE {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 223. Is is identical in format to TLV 222. In the
      event that there is a need to advertise in Extended LSPs such
      information associated with neighbors of the Originating System,
      it is necessary to define new TLVs to carry the sub-TLV
      information.";
    reference
      "RFC5311: Simplified Extension of Link State PDU (LSP) Space for
      IS-IS";
  }

  identity MULTI_TOPOLOGY {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 229. This MT TLV can advertise up to 127 MTs.  It is
      announced in IIHs and LSP fragment 0, and can occur multiple
      times.  The resulting MT set SHOULD be the union of all the MT
      TLV occurrences in the packet. Any other IS-IS PDU occurrence of
      this TLV MUST be ignored.  Lack of MT TLV in hellos and fragment
      zero LSPs MUST be interpreted as participation of the
      advertising interface or router in MT ID #0 only.  If a router
      advertises MT TLV, it has to advertise all the MTs it
      participates in, specifically including topology ID #0 also.";
    reference
      "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate
      System to Intermediate Systems (IS-ISs)";
  }

  identity IPV6_INTERFACE_ADDRESSES {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 232. IPv6 Interface Address TLV that maps directly to
      the IP Interface Address TLV in [RFC1195]. We necessarily modify
      the contents to be 0-15 16-octet IPv6 interface addresses
      instead of 0-63 4-octet IPv4 interface addresses";
    reference "RFC5308: Routing IPv6 with IS-IS.";
  }

  identity MT_IPV4_REACHABILITY {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 235. TLV is aligned with extended IP reachability TLV
      type 135 beside an additional two bytes in front to indicate MT
      membership";
    reference
      "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate
      System to Intermediate Systems (IS-ISs)";
  }

  identity IPV6_REACHABILITY {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 236. The IPv6 Reachability TLV describes network
      reachability through the specification of a routing prefix,
      metric information, a bit to indicate if the prefix is being
      advertised down from a higher level, a bit to indicate if the
      prefix is being distributed from another routing protocol, and
      OPTIONALLY the existence of Sub-TLVs to allow for later
      extension.";
    reference
      "RFC5308: Routing IPv6 with IS-IS";
  }

  identity MT_IPV6_REACHABILITY {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 237. TLV is aligned with IPv6 Reachability TLV type
      236 beside an additional two bytes in front to indicate MT
      membership.";
    reference
      "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate
      System to Intermediate Systems (IS-ISs).";
  }

  identity ROUTER_CAPABILITY {
    base "ISIS_TLV_TYPE";
    description
      "ISIS TLV 242. IS-IS TLV named CAPABILITY, formed of multiple
      sub-TLVs, which allows a router to announce its capabilities
      within an IS-IS level or the entire routing domain.";
    reference
      "RFC4971: Intermediate System to Intermediate System (IS-IS)
      Extensions for Advertising Router Information.";
  }

  //sub-TLVs for TLVs 22, 23, 141, 222, 223

  identity IS_REACHABILITY_ADMIN_GROUP {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 3. Administrative group(color).";
    reference
      "RFC5305: IS-IS Extensions for Traffic Engineering";
  }

  identity IS_REACHABILITY_LINK_ID {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 4. Link Local/Remote Identifiers.";
    reference
      "RFC5307: IS-IS Extensions in Support of Generalized
      Multi-Protocol Label Switching (GMPLS)";
  }

  identity IS_REACHABILITY_IPV4_INTERFACE_ADDRESS {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 6. IPv4 Interface Address.";
    reference
      "RFC5305: IS-IS Extensions for Traffic Engineering.";
  }

  identity IS_REACHABILITY_IPV4_NEIGHBOR_ADDRESS {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 8. IPv4 Neighbor Address.";
    reference
      "RFC5305: IS-IS Extensions for Traffic Engineering.";
  }

  identity IS_REACHABILITY_MAX_LINK_BANDWIDTH {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 9. Maximum Link Bandwidth.";
    reference
      "RFC5305: IS-IS Extensions for Traffic Engineering.";
  }

  identity IS_REACHABILITY_MAX_RESERVABLE_BANDWIDTH {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 10. Maximum Reservable Bandwidth.";
    reference
      "RFC5305: IS-IS Extensions for Traffic Engineering.";
  }

  identity IS_REACHABILITY_UNRESERVED_BANDWIDTH {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 11. Unreserved bandwidth.";
    reference
      "RFC5305: IS-IS Extensions for Traffic Engineering.";
  }

  identity IS_REACHABILITY_IPV6_INTERFACE_ADDRESS {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 12. IPv6 Interface Address.";
    reference
      "RFC6119: IPv6 Traffic Engineering in IS-IS.";
  }

  identity IS_REACHABILITY_IPV6_NEIGHBOR_ADDRESS {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 13. IPv6 Neighbor Address.";
    reference
      "RFC6119: IPv6 Traffic Engineering in IS-IS.";
  }

  identity IS_REACHABILITY_EXTENDED_ADMIN_GROUP {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 14. Extended Administrative Group.";
    reference
      "RFC7308: Extended Administrative Groups in MPLS Traffic
      Engineering (MPLS-TE).";
  }

  identity IS_REACHABILITY_TE_DEFAULT_METRIC {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 18. TE Default Metric.";
    reference
      "RFC5305: IS-IS Extensions for Traffic Engineering.";
  }

  identity IS_REACHABILITY_LINK_ATTRIBUTES {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 19. Link Attributes.";
    reference
      "RFC5209: Definition of an IS-IS Link Attribute Sub-TLV.";
  }

  identity IS_REACHABILITY_LINK_PROTECTION_TYPE {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 20. Link Protection Type.";
    reference
      "RFC5307: IS-IS Extensions in Support of Generalized
      Multi-Protocol  Label Switching (GMPLS)";
  }

  identity IS_REACHABILITY_BANDWIDTH_CONSTRAINTS {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 22. Bandwidth Constraints.";
    reference
      "RFC4124: Protocol Extensions for Support of Diffserv-aware MPLS
      Traffic Engineering.";
  }

  identity IS_REACHABILITY_UNCONSTRAINED_LSP {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 23. Unconstrained LSP.";
    reference
      "RFC5330: A Link-Type sub-TLV to Convey the Number of Traffic
      Engineering Label Switched Paths Signalled with Zero
      Reserved Bandwidth across a Link.";
  }

  identity IS_REACHABILITY_ADJ_SID {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 31. Adjacency Segment Identifier.";
    reference
      "draft-ietf-isis-segment-routing-extensions.";
  }

  identity IS_REACHABILITY_ADJ_LAN_SID {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 32. Adjacency LAN Segment Identifier.";
    reference
      "draft-ietf-isis-segment-routing-extensions.";
  }

  identity IS_REACHABILITY_LINK_DELAY {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 33. Unidirectional Link Delay.";
    reference
      "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.";
  }

  identity IS_REACHABILITY_MIN_MAX_LINK_DELAY {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 34. Min/Max Unidirectional Link Delay.";
    reference
      "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.";
  }

  identity IS_REACHABILITY_LINK_DELAY_VARIATION {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 35. Unidirectional Link Delay Variation.";
    reference
      "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.";
  }

  identity IS_REACHABILITY_LINK_LOSS {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 36. Unidirectional Link Loss Delay.";
    reference
      "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.";
  }

  identity IS_REACHABILITY_RESIDUAL_BANDWIDTH {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 37. Unidirectional Residual Bandwidth.";
    reference
      "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.";
  }

  identity IS_REACHABILITY_AVAILABLE_BANDWIDTH {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 38. Unidirectional Available Bandwidth.";
    reference
      "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.";
  }

  identity IS_REACHABILITY_UTILIZED_BANDWIDTH {
    base "IS_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 39. Unidirectional Utilized Bandwidth.";
    reference
      "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.";
  }

  //sub-TLVs for TLVs 135, 235, 236, 237
  identity IP_REACHABILITY_TAG {
    base "IP_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 1. 32-bit Administrative Tag.";
    reference
      "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6
      Reachability.";
  }

  identity IP_REACHABILITY_TAG64 {
    base "IP_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 2. 64-bit Administrative Tag.";
    reference
      "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6
      Reachability.";
  }

  identity IP_REACHABILITY_PREFIX_SID {
    base "IP_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 3. Prefix Segment Identifier.";
    reference
      "draft-ietf-isis-segment-routing-extension.";
  }

  identity IP_REACHABILITY_PREFIX_FLAGS {
    base "IP_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 4. Prefix Attribute Flags.";
    reference
      "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6
      Reachability.";
  }

  identity IP_REACHABILITY_IPV4_ROUTER_ID {
    base "IP_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 11. IPv4 Source Router ID.";
    reference
      "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6
      Reachability.";
  }

  identity IP_REACHABILITY_IPV6_ROUTER_ID {
    base "IP_REACHABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 12. IPv6 Source Router ID.";
    reference
      "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6
      Reachability.";
  }


  //sub-TLVs for TLVs 242

  identity ROUTER_CAPABILITY_SR_CAPABILITY {
    base "ROUTER_CAPABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 2. Segment Routing Capability.";
    reference
      "draft-ietf-isis-segment-routing-extensions.";
  }

  identity ROUTER_CAPABILITY_SR_ALGORITHM {
    base "ROUTER_CAPABILITY_SUBTLVS_TYPE";
    description
      "sub-TLV 19. Segment Routing Algorithm.";
    reference
      "draft-ietf-isis-segment-routing-extensions.";
  }

}