This repository has been archived by the owner on Nov 2, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
/
mpls_te_std_mib.go
1546 lines (1314 loc) · 94.6 KB
/
mpls_te_std_mib.go
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
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Copyright (C) The Internet Society (2004). The
// initial version of this MIB module was published
// in RFC 3812. For full legal notices see the RFC
// itself or see: http://www.ietf.org/copyrights/ianamib.html
//
// This MIB module contains managed object definitions
// for MPLS Traffic Engineering (TE) as defined in:
// 1. Extensions to RSVP for LSP Tunnels, Awduche et
// al, RFC 3209, December 2001
// 2. Constraint-Based LSP Setup using LDP, Jamoussi
// (Editor), RFC 3212, January 2002
// 3. Requirements for Traffic Engineering Over MPLS,
// Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M.,
// and J. McManus, [RFC2702], September 1999
package mpls_te_std_mib
import (
"fmt"
"github.com/CiscoDevNet/ydk-go/ydk"
"github.com/CiscoDevNet/ydk-go/ydk/types"
"github.com/CiscoDevNet/ydk-go/ydk/types/yfilter"
"github.com/CiscoDevNet/ydk-go/ydk/models/cisco_ios_xe"
"reflect"
)
func init() {
ydk.YLogDebug(fmt.Sprintf("Registering top level entities for package mpls_te_std_mib"))
ydk.RegisterEntity("{urn:ietf:params:xml:ns:yang:smiv2:MPLS-TE-STD-MIB MPLS-TE-STD-MIB}", reflect.TypeOf(MPLSTESTDMIB{}))
ydk.RegisterEntity("MPLS-TE-STD-MIB:MPLS-TE-STD-MIB", reflect.TypeOf(MPLSTESTDMIB{}))
}
// MPLSTESTDMIB
type MPLSTESTDMIB struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
MplsTeScalars MPLSTESTDMIB_MplsTeScalars
MplsTeObjects MPLSTESTDMIB_MplsTeObjects
// The mplsTunnelTable allows new MPLS tunnels to be created between an LSR
// and a remote endpoint, and existing tunnels to be reconfigured or removed.
// Note that only point-to-point tunnel segments are supported, although
// multipoint-to-point and point- to-multipoint connections are supported by
// an LSR acting as a cross-connect. Each MPLS tunnel can thus have one
// out-segment originating at this LSR and/or one in-segment terminating at
// this LSR.
MplsTunnelTable MPLSTESTDMIB_MplsTunnelTable
// The mplsTunnelHopTable is used to indicate the hops, strict or loose, for
// an instance of an MPLS tunnel defined in mplsTunnelTable, when it is
// established via signalling, for the outgoing direction of the tunnel. Thus
// at a transit LSR, this table contains the desired path of the tunnel from
// this LSR onwards. Each row in this table is indexed by
// mplsTunnelHopListIndex which corresponds to a group of hop lists or path
// options. Each row also has a secondary index mplsTunnelHopIndex, which
// indicates a group of hops (also known as a path option). Finally, the third
// index, mplsTunnelHopIndex indicates the specific hop information for a path
// option. In case we want to specify a particular interface on the
// originating LSR of an outgoing tunnel by which we want packets to exit the
// LSR, we specify this as the first hop for this tunnel in
// mplsTunnelHopTable.
MplsTunnelHopTable MPLSTESTDMIB_MplsTunnelHopTable
// The mplsTunnelResourceTable allows a manager to specify which resources are
// desired for an MPLS tunnel. This table also allows several tunnels to
// point to a single entry in this table, implying that these tunnels should
// share resources.
MplsTunnelResourceTable MPLSTESTDMIB_MplsTunnelResourceTable
// The mplsTunnelARHopTable is used to indicate the hops for an MPLS tunnel
// defined in mplsTunnelTable, as reported by the MPLS signalling protocol.
// Thus at a transit LSR, this table (if the table is supported and if the
// signaling protocol is recording actual route information) contains the
// actual route of the whole tunnel. If the signaling protocol is not
// recording the actual route, this table MAY report the information from the
// mplsTunnelHopTable or the mplsTunnelCHopTable. Each row in this table is
// indexed by mplsTunnelARHopListIndex. Each row also has a secondary index
// mplsTunnelARHopIndex, corresponding to the next hop that this row
// corresponds to. Please note that since the information necessary to build
// entries within this table is not provided by some MPLS signalling
// protocols, implementation of this table is optional. Furthermore, since the
// information in this table is actually provided by the MPLS signalling
// protocol after the path has been set-up, the entries in this table are
// provided only for observation, and hence, all variables in this table are
// accessible exclusively as read- only. Note also that the contents of this
// table may change while it is being read because of re-routing activities. A
// network administrator may verify that the actual route read is consistent
// by reference to the mplsTunnelLastPathChange object.
MplsTunnelARHopTable MPLSTESTDMIB_MplsTunnelARHopTable
// The mplsTunnelCHopTable is used to indicate the hops, strict or loose, for
// an MPLS tunnel defined in mplsTunnelTable, as computed by a constraint-
// based routing protocol, based on the mplsTunnelHopTable for the outgoing
// direction of the tunnel. Thus at a transit LSR, this table (if the table is
// supported) MAY contain the path computed by the CSPF engine on (or on
// behalf of) this LSR. Each row in this table is indexed by
// mplsTunnelCHopListIndex. Each row also has a secondary index
// mplsTunnelCHopIndex, corresponding to the next hop that this row
// corresponds to. In case we want to specify a particular interface on the
// originating LSR of an outgoing tunnel by which we want packets to exit the
// LSR, we specify this as the first hop for this tunnel in
// mplsTunnelCHopTable. Please note that since the information necessary to
// build entries within this table may not be supported by some LSRs,
// implementation of this table is optional. Furthermore, since the
// information in this table describes the path computed by the CSPF engine
// the entries in this table are read-only.
MplsTunnelCHopTable MPLSTESTDMIB_MplsTunnelCHopTable
// The mplsTunnelCRLDPResTable allows a manager to specify which
// CR-LDP-specific resources are desired for an MPLS tunnel if that tunnel is
// signaled using CR-LDP. Note that these attributes are in addition to those
// specified in mplsTunnelResourceTable. This table also allows several
// tunnels to point to a single entry in this table, implying that these
// tunnels should share resources.
MplsTunnelCRLDPResTable MPLSTESTDMIB_MplsTunnelCRLDPResTable
}
func (mPLSTESTDMIB *MPLSTESTDMIB) GetEntityData() *types.CommonEntityData {
mPLSTESTDMIB.EntityData.YFilter = mPLSTESTDMIB.YFilter
mPLSTESTDMIB.EntityData.YangName = "MPLS-TE-STD-MIB"
mPLSTESTDMIB.EntityData.BundleName = "cisco_ios_xe"
mPLSTESTDMIB.EntityData.ParentYangName = "MPLS-TE-STD-MIB"
mPLSTESTDMIB.EntityData.SegmentPath = "MPLS-TE-STD-MIB:MPLS-TE-STD-MIB"
mPLSTESTDMIB.EntityData.AbsolutePath = mPLSTESTDMIB.EntityData.SegmentPath
mPLSTESTDMIB.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
mPLSTESTDMIB.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
mPLSTESTDMIB.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
mPLSTESTDMIB.EntityData.Children = types.NewOrderedMap()
mPLSTESTDMIB.EntityData.Children.Append("mplsTeScalars", types.YChild{"MplsTeScalars", &mPLSTESTDMIB.MplsTeScalars})
mPLSTESTDMIB.EntityData.Children.Append("mplsTeObjects", types.YChild{"MplsTeObjects", &mPLSTESTDMIB.MplsTeObjects})
mPLSTESTDMIB.EntityData.Children.Append("mplsTunnelTable", types.YChild{"MplsTunnelTable", &mPLSTESTDMIB.MplsTunnelTable})
mPLSTESTDMIB.EntityData.Children.Append("mplsTunnelHopTable", types.YChild{"MplsTunnelHopTable", &mPLSTESTDMIB.MplsTunnelHopTable})
mPLSTESTDMIB.EntityData.Children.Append("mplsTunnelResourceTable", types.YChild{"MplsTunnelResourceTable", &mPLSTESTDMIB.MplsTunnelResourceTable})
mPLSTESTDMIB.EntityData.Children.Append("mplsTunnelARHopTable", types.YChild{"MplsTunnelARHopTable", &mPLSTESTDMIB.MplsTunnelARHopTable})
mPLSTESTDMIB.EntityData.Children.Append("mplsTunnelCHopTable", types.YChild{"MplsTunnelCHopTable", &mPLSTESTDMIB.MplsTunnelCHopTable})
mPLSTESTDMIB.EntityData.Children.Append("mplsTunnelCRLDPResTable", types.YChild{"MplsTunnelCRLDPResTable", &mPLSTESTDMIB.MplsTunnelCRLDPResTable})
mPLSTESTDMIB.EntityData.Leafs = types.NewOrderedMap()
mPLSTESTDMIB.EntityData.YListKeys = []string {}
return &(mPLSTESTDMIB.EntityData)
}
// MPLSTESTDMIB_MplsTeScalars
type MPLSTESTDMIB_MplsTeScalars struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// The number of tunnels configured on this device. A tunnel is considered
// configured if the mplsTunnelRowStatus is active(1). The type is interface{}
// with range: 0..4294967295.
MplsTunnelConfigured interface{}
// The number of tunnels active on this device. A tunnel is considered active
// if the mplsTunnelOperStatus is up(1). The type is interface{} with range:
// 0..4294967295.
MplsTunnelActive interface{}
// The traffic engineering distribution protocol(s) used by this LSR. Note
// that an LSR may support more than one distribution protocol simultaneously.
// The type is map[string]bool.
MplsTunnelTEDistProto interface{}
// The maximum number of hops that can be specified for a tunnel on this
// device. The type is interface{} with range: 0..4294967295.
MplsTunnelMaxHops interface{}
// This variable indicates the maximum number of notifications issued per
// second. If events occur more rapidly, the implementation may simply fail to
// emit these notifications during that period, or may queue them until an
// appropriate time. A value of 0 means no throttling is applied and events
// may be notified at the rate at which they occur. The type is interface{}
// with range: 0..4294967295.
MplsTunnelNotificationMaxRate interface{}
}
func (mplsTeScalars *MPLSTESTDMIB_MplsTeScalars) GetEntityData() *types.CommonEntityData {
mplsTeScalars.EntityData.YFilter = mplsTeScalars.YFilter
mplsTeScalars.EntityData.YangName = "mplsTeScalars"
mplsTeScalars.EntityData.BundleName = "cisco_ios_xe"
mplsTeScalars.EntityData.ParentYangName = "MPLS-TE-STD-MIB"
mplsTeScalars.EntityData.SegmentPath = "mplsTeScalars"
mplsTeScalars.EntityData.AbsolutePath = "MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/" + mplsTeScalars.EntityData.SegmentPath
mplsTeScalars.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
mplsTeScalars.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
mplsTeScalars.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
mplsTeScalars.EntityData.Children = types.NewOrderedMap()
mplsTeScalars.EntityData.Leafs = types.NewOrderedMap()
mplsTeScalars.EntityData.Leafs.Append("mplsTunnelConfigured", types.YLeaf{"MplsTunnelConfigured", mplsTeScalars.MplsTunnelConfigured})
mplsTeScalars.EntityData.Leafs.Append("mplsTunnelActive", types.YLeaf{"MplsTunnelActive", mplsTeScalars.MplsTunnelActive})
mplsTeScalars.EntityData.Leafs.Append("mplsTunnelTEDistProto", types.YLeaf{"MplsTunnelTEDistProto", mplsTeScalars.MplsTunnelTEDistProto})
mplsTeScalars.EntityData.Leafs.Append("mplsTunnelMaxHops", types.YLeaf{"MplsTunnelMaxHops", mplsTeScalars.MplsTunnelMaxHops})
mplsTeScalars.EntityData.Leafs.Append("mplsTunnelNotificationMaxRate", types.YLeaf{"MplsTunnelNotificationMaxRate", mplsTeScalars.MplsTunnelNotificationMaxRate})
mplsTeScalars.EntityData.YListKeys = []string {}
return &(mplsTeScalars.EntityData)
}
// MPLSTESTDMIB_MplsTeObjects
type MPLSTESTDMIB_MplsTeObjects struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// This object contains an unused value for mplsTunnelIndex, or a zero to
// indicate that none exist. Negative values are not allowed, as they do not
// correspond to valid values of mplsTunnelIndex. Note that this object
// offers an unused value for an mplsTunnelIndex value at the ingress side of
// a tunnel. At other LSRs the value of mplsTunnelIndex SHOULD be taken from
// the value signaled by the MPLS signaling protocol. The type is interface{}
// with range: 0..65535.
MplsTunnelIndexNext interface{}
// This object contains an appropriate value to be used for
// mplsTunnelHopListIndex when creating entries in the mplsTunnelHopTable. If
// the number of unassigned entries is exhausted, a retrieval operation will
// return a value of 0. This object may also return a value of 0 when the LSR
// is unable to accept conceptual row creation, for example, if the
// mplsTunnelHopTable is implemented as read-only. To obtain the value of
// mplsTunnelHopListIndex for a new entry in the mplsTunnelHopTable, the
// manager issues a management protocol retrieval operation to obtain the
// current value of mplsTunnelHopIndex. When the SET is performed to create a
// row in the mplsTunnelHopTable, the Command Responder (agent) must determine
// whether the value is indeed still unused; Two Network Management
// Applications may attempt to create a row (configuration entry)
// simultaneously and use the same value. If it is currently unused, the SET
// succeeds and the Command Responder (agent) changes the value of this
// object, according to an implementation-specific algorithm. If the value is
// in use, however, the SET fails. The Network Management Application must
// then re-read this variable to obtain a new usable value. The type is
// interface{} with range: 0..4294967295.
MplsTunnelHopListIndexNext interface{}
// This object contains the next appropriate value to be used for
// mplsTunnelResourceIndex when creating entries in the
// mplsTunnelResourceTable. If the number of unassigned entries is exhausted,
// a retrieval operation will return a value of 0. This object may also
// return a value of 0 when the LSR is unable to accept conceptual row
// creation, for example, if the mplsTunnelTable is implemented as read-only.
// To obtain the mplsTunnelResourceIndex value for a new entry, the manager
// must first issue a management protocol retrieval operation to obtain the
// current value of this object. When the SET is performed to create a row in
// the mplsTunnelResourceTable, the Command Responder (agent) must determine
// whether the value is indeed still unused; Two Network Management
// Applications may attempt to create a row (configuration entry)
// simultaneously and use the same value. If it is currently unused, the SET
// succeeds and the Command Responder (agent) changes the value of this
// object, according to an implementation-specific algorithm. If the value is
// in use, however, the SET fails. The Network Management Application must
// then re-read this variable to obtain a new usable value. The type is
// interface{} with range: 0..2147483647.
MplsTunnelResourceIndexNext interface{}
// If this object is true, then it enables the generation of mplsTunnelUp and
// mplsTunnelDown traps, otherwise these traps are not emitted. The type is
// bool.
MplsTunnelNotificationEnable interface{}
}
func (mplsTeObjects *MPLSTESTDMIB_MplsTeObjects) GetEntityData() *types.CommonEntityData {
mplsTeObjects.EntityData.YFilter = mplsTeObjects.YFilter
mplsTeObjects.EntityData.YangName = "mplsTeObjects"
mplsTeObjects.EntityData.BundleName = "cisco_ios_xe"
mplsTeObjects.EntityData.ParentYangName = "MPLS-TE-STD-MIB"
mplsTeObjects.EntityData.SegmentPath = "mplsTeObjects"
mplsTeObjects.EntityData.AbsolutePath = "MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/" + mplsTeObjects.EntityData.SegmentPath
mplsTeObjects.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
mplsTeObjects.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
mplsTeObjects.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
mplsTeObjects.EntityData.Children = types.NewOrderedMap()
mplsTeObjects.EntityData.Leafs = types.NewOrderedMap()
mplsTeObjects.EntityData.Leafs.Append("mplsTunnelIndexNext", types.YLeaf{"MplsTunnelIndexNext", mplsTeObjects.MplsTunnelIndexNext})
mplsTeObjects.EntityData.Leafs.Append("mplsTunnelHopListIndexNext", types.YLeaf{"MplsTunnelHopListIndexNext", mplsTeObjects.MplsTunnelHopListIndexNext})
mplsTeObjects.EntityData.Leafs.Append("mplsTunnelResourceIndexNext", types.YLeaf{"MplsTunnelResourceIndexNext", mplsTeObjects.MplsTunnelResourceIndexNext})
mplsTeObjects.EntityData.Leafs.Append("mplsTunnelNotificationEnable", types.YLeaf{"MplsTunnelNotificationEnable", mplsTeObjects.MplsTunnelNotificationEnable})
mplsTeObjects.EntityData.YListKeys = []string {}
return &(mplsTeObjects.EntityData)
}
// MPLSTESTDMIB_MplsTunnelTable
// The mplsTunnelTable allows new MPLS tunnels to be
// created between an LSR and a remote endpoint, and
// existing tunnels to be reconfigured or removed.
// Note that only point-to-point tunnel segments are
// supported, although multipoint-to-point and point-
// to-multipoint connections are supported by an LSR
// acting as a cross-connect. Each MPLS tunnel can
// thus have one out-segment originating at this LSR
// and/or one in-segment terminating at this LSR.
type MPLSTESTDMIB_MplsTunnelTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An entry in this table represents an MPLS tunnel. An entry can be created
// by a network administrator or by an SNMP agent as instructed by an MPLS
// signalling protocol. Whenever a new entry is created with mplsTunnelIsIf
// set to true(1), then a corresponding entry is created in ifTable as well
// (see RFC 2863). The ifType of this entry is mplsTunnel(150). A tunnel
// entry needs to be uniquely identified across a MPLS network. Indices
// mplsTunnelIndex and mplsTunnelInstance uniquely identify a tunnel on the
// LSR originating the tunnel. To uniquely identify a tunnel across an MPLS
// network requires index mplsTunnelIngressLSRId. The last index
// mplsTunnelEgressLSRId is useful in identifying all instances of a tunnel
// that terminate on the same egress LSR. The type is slice of
// MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry.
MplsTunnelEntry []*MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry
}
func (mplsTunnelTable *MPLSTESTDMIB_MplsTunnelTable) GetEntityData() *types.CommonEntityData {
mplsTunnelTable.EntityData.YFilter = mplsTunnelTable.YFilter
mplsTunnelTable.EntityData.YangName = "mplsTunnelTable"
mplsTunnelTable.EntityData.BundleName = "cisco_ios_xe"
mplsTunnelTable.EntityData.ParentYangName = "MPLS-TE-STD-MIB"
mplsTunnelTable.EntityData.SegmentPath = "mplsTunnelTable"
mplsTunnelTable.EntityData.AbsolutePath = "MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/" + mplsTunnelTable.EntityData.SegmentPath
mplsTunnelTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
mplsTunnelTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
mplsTunnelTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
mplsTunnelTable.EntityData.Children = types.NewOrderedMap()
mplsTunnelTable.EntityData.Children.Append("mplsTunnelEntry", types.YChild{"MplsTunnelEntry", nil})
for i := range mplsTunnelTable.MplsTunnelEntry {
mplsTunnelTable.EntityData.Children.Append(types.GetSegmentPath(mplsTunnelTable.MplsTunnelEntry[i]), types.YChild{"MplsTunnelEntry", mplsTunnelTable.MplsTunnelEntry[i]})
}
mplsTunnelTable.EntityData.Leafs = types.NewOrderedMap()
mplsTunnelTable.EntityData.YListKeys = []string {}
return &(mplsTunnelTable.EntityData)
}
// MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry
// An entry in this table represents an MPLS tunnel.
// An entry can be created by a network administrator
// or by an SNMP agent as instructed by an MPLS
// signalling protocol. Whenever a new entry is
// created with mplsTunnelIsIf set to true(1), then a
// corresponding entry is created in ifTable as well
// (see RFC 2863). The ifType of this entry is
// mplsTunnel(150).
//
// A tunnel entry needs to be uniquely identified across
// a MPLS network. Indices mplsTunnelIndex and
// mplsTunnelInstance uniquely identify a tunnel on
// the LSR originating the tunnel. To uniquely
// identify a tunnel across an MPLS network requires
// index mplsTunnelIngressLSRId. The last index
// mplsTunnelEgressLSRId is useful in identifying all
// instances of a tunnel that terminate on the same
// egress LSR.
type MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. Uniquely identifies a set of tunnel instances
// between a pair of ingress and egress LSRs. Managers should obtain new
// values for row creation in this table by reading mplsTunnelIndexNext. When
// the MPLS signalling protocol is rsvp(2) this value SHOULD be equal to the
// value signaled in the Tunnel Id of the Session object. When the MPLS
// signalling protocol is crldp(3) this value SHOULD be equal to the value
// signaled in the LSP ID. The type is interface{} with range: 0..65535.
MplsTunnelIndex interface{}
// This attribute is a key. Uniquely identifies a particular instance of a
// tunnel between a pair of ingress and egress LSRs. It is useful to identify
// multiple instances of tunnels for the purposes of backup and parallel
// tunnels. When the MPLS signaling protocol is rsvp(2) this value SHOULD be
// equal to the LSP Id of the Sender Template object. When the signaling
// protocol is crldp(3) there is no equivalent signaling object. The type is
// interface{} with range: 0..4294967295.
MplsTunnelInstance interface{}
// This attribute is a key. Identity of the ingress LSR associated with this
// tunnel instance. When the MPLS signalling protocol is rsvp(2) this value
// SHOULD be equal to the Tunnel Sender Address in the Sender Template object
// and MAY be equal to the Extended Tunnel Id field in the SESSION object.
// When the MPLS signalling protocol is crldp(3) this value SHOULD be equal to
// the Ingress LSR Router ID field in the LSPID TLV object. The type is
// interface{} with range: 0..4294967295.
MplsTunnelIngressLSRId interface{}
// This attribute is a key. Identity of the egress LSR associated with this
// tunnel instance. The type is interface{} with range: 0..4294967295.
MplsTunnelEgressLSRId interface{}
// The canonical name assigned to the tunnel. This name can be used to refer
// to the tunnel on the LSR's console port. If mplsTunnelIsIf is set to true
// then the ifName of the interface corresponding to this tunnel should have a
// value equal to mplsTunnelName. Also see the description of ifName in RFC
// 2863. The type is string.
MplsTunnelName interface{}
// A textual string containing information about the tunnel. If there is no
// description this object contains a zero length string. This object is may
// not be signaled by MPLS signaling protocols, consequentally the value of
// this object at transit and egress LSRs MAY be automatically generated or
// absent. The type is string.
MplsTunnelDescr interface{}
// Denotes whether or not this tunnel corresponds to an interface represented
// in the interfaces group table. Note that if this variable is set to true
// then the ifName of the interface corresponding to this tunnel should have a
// value equal to mplsTunnelName. Also see the description of ifName in RFC
// 2863. This object is meaningful only at the ingress and egress LSRs. The
// type is bool.
MplsTunnelIsIf interface{}
// If mplsTunnelIsIf is set to true, then this value contains the LSR-assigned
// ifIndex which corresponds to an entry in the interfaces table. Otherwise
// this variable should contain the value of zero indicating that a valid
// ifIndex was not assigned to this tunnel interface. The type is interface{}
// with range: 0..2147483647.
MplsTunnelIfIndex interface{}
// Denotes the entity that created and is responsible for managing this
// tunnel. This column is automatically filled by the agent on creation of a
// row. The type is MplsOwner.
MplsTunnelOwner interface{}
// This value signifies the role that this tunnel entry/instance represents.
// This value MUST be set to head(1) at the originating point of the tunnel.
// This value MUST be set to transit(2) at transit points along the tunnel, if
// transit points are supported. This value MUST be set to tail(3) at the
// terminating point of the tunnel if tunnel tails are supported. The value
// headTail(4) is provided for tunnels that begin and end on the same LSR. The
// type is MplsTunnelRole.
MplsTunnelRole interface{}
// This variable points to a row in the mplsXCTable. This table identifies the
// segments that compose this tunnel, their characteristics, and relationships
// to each other. A value of zeroDotZero indicates that no LSP has been
// associated with this tunnel yet. The type is string with pattern:
// (([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))(\.(0|([1-9]\d*)))*.
MplsTunnelXCPointer interface{}
// The signalling protocol, if any, used to setup this tunnel. The type is
// MplsTunnelSignallingProto.
MplsTunnelSignallingProto interface{}
// Indicates the setup priority of this tunnel. The type is interface{} with
// range: 0..7.
MplsTunnelSetupPrio interface{}
// Indicates the holding priority for this tunnel. The type is interface{}
// with range: 0..7.
MplsTunnelHoldingPrio interface{}
// This bit mask indicates optional session values for this tunnel. The
// following describes these bit fields: fastRerouteThis flag indicates that
// the any tunnel hop may choose to reroute this tunnel without tearing it
// down. This flag permits transit routers to use a local repair mechanism
// which may result in violation of the explicit routing of this tunnel. When
// a fault is detected on an adjacent downstream link or node, a transit
// router can re-route traffic for fast service restoration. mergingPermitted
// This flag permits transit routers to merge this session with other RSVP
// sessions for the purpose of reducing resource overhead on downstream
// transit routers, thereby providing better network scaling. isPersistent
// Indicates whether this tunnel should be restored automatically after a
// failure occurs. isPinned This flag indicates whether the loose- routed
// hops of this tunnel are to be pinned. recordRouteThis flag indicates
// whether or not the signalling protocol should remember the tunnel path
// after it has been signaled. The type is map[string]bool.
MplsTunnelSessionAttributes interface{}
// Indicates that the local repair mechanism is in use to maintain this tunnel
// (usually in the face of an outage of the link it was previously routed
// over). The type is bool.
MplsTunnelLocalProtectInUse interface{}
// This variable represents a pointer to the traffic parameter specification
// for this tunnel. This value may point at an entry in the
// mplsTunnelResourceEntry to indicate which mplsTunnelResourceEntry is to be
// assigned to this LSP instance. This value may optionally point at an
// externally defined traffic parameter specification table. A value of
// zeroDotZero indicates best-effort treatment. By having the same value of
// this object, two or more LSPs can indicate resource sharing. The type is
// string with pattern:
// (([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))(\.(0|([1-9]\d*)))*.
MplsTunnelResourcePointer interface{}
// Specifies the instance index of the primary instance of this tunnel. More
// details of the definition of tunnel instances and the primary tunnel
// instance can be found in the description of the TEXTUAL-CONVENTION
// MplsTunnelInstanceIndex. The type is interface{} with range: 0..4294967295.
MplsTunnelPrimaryInstance interface{}
// This value indicates which priority, in descending order, with 0 indicating
// the lowest priority, within a group of tunnel instances. A group of tunnel
// instances is defined as a set of LSPs with the same mplsTunnelIndex in this
// table, but with a different mplsTunnelInstance. Tunnel instance priorities
// are used to denote the priority at which a particular tunnel instance will
// supercede another. Instances of tunnels containing the same
// mplsTunnelInstancePriority will be used for load sharing. The type is
// interface{} with range: 0..4294967295.
MplsTunnelInstancePriority interface{}
// Index into the mplsTunnelHopTable entry that specifies the explicit route
// hops for this tunnel. This object is meaningful only at the head-end of the
// tunnel. The type is interface{} with range: 0..4294967295.
MplsTunnelHopTableIndex interface{}
// This value denotes the configured path that was chosen for this tunnel.
// This value reflects the secondary index into mplsTunnelHopTable. This path
// may not exactly match the one in mplsTunnelARHopTable due to the fact that
// some CSPF modification may have taken place. See mplsTunnelARHopTable for
// the actual path being taken by the tunnel. A value of zero denotes that no
// path is currently in use or available. The type is interface{} with range:
// 0..4294967295.
MplsTunnelPathInUse interface{}
// Index into the mplsTunnelARHopTable entry that specifies the actual hops
// traversed by the tunnel. This is automatically updated by the agent when
// the actual hops becomes available. The type is interface{} with range:
// 0..4294967295.
MplsTunnelARHopTableIndex interface{}
// Index into the mplsTunnelCHopTable entry that specifies the computed hops
// traversed by the tunnel. This is automatically updated by the agent when
// computed hops become available or when computed hops get modified. The type
// is interface{} with range: 0..4294967295.
MplsTunnelCHopTableIndex interface{}
// A link satisfies the include-any constraint if and only if the constraint
// is zero, or the link and the constraint have a resource class in common.
// The type is interface{} with range: 0..4294967295.
MplsTunnelIncludeAnyAffinity interface{}
// A link satisfies the include-all constraint if and only if the link
// contains all of the administrative groups specified in the constraint. The
// type is interface{} with range: 0..4294967295.
MplsTunnelIncludeAllAffinity interface{}
// A link satisfies the exclude-any constraint if and only if the link
// contains none of the administrative groups specified in the constraint. The
// type is interface{} with range: 0..4294967295.
MplsTunnelExcludeAnyAffinity interface{}
// This value represents the aggregate up time for all instances of this
// tunnel, if available. If this value is unavailable, it MUST return a value
// of 0. The type is interface{} with range: 0..4294967295.
MplsTunnelTotalUpTime interface{}
// This value identifies the total time that this tunnel instance's operStatus
// has been Up(1). The type is interface{} with range: 0..4294967295.
MplsTunnelInstanceUpTime interface{}
// Specifies the total time the primary instance of this tunnel has been
// active. The primary instance of this tunnel is defined in
// mplsTunnelPrimaryInstance. The type is interface{} with range:
// 0..4294967295.
MplsTunnelPrimaryUpTime interface{}
// Specifies the number of times the actual path for this tunnel instance has
// changed. The type is interface{} with range: 0..4294967295.
MplsTunnelPathChanges interface{}
// Specifies the time since the last change to the actual path for this tunnel
// instance. The type is interface{} with range: 0..4294967295.
MplsTunnelLastPathChange interface{}
// Specifies the value of SysUpTime when the first instance of this tunnel
// came into existence. That is, when the value of mplsTunnelOperStatus was
// first set to up(1). The type is interface{} with range: 0..4294967295.
MplsTunnelCreationTime interface{}
// Specifies the number of times the state (mplsTunnelOperStatus) of this
// tunnel instance has changed. The type is interface{} with range:
// 0..4294967295.
MplsTunnelStateTransitions interface{}
// Indicates the desired operational status of this tunnel. The type is
// MplsTunnelAdminStatus.
MplsTunnelAdminStatus interface{}
// Indicates the actual operational status of this tunnel, which is typically
// but not limited to, a function of the state of individual segments of this
// tunnel. The type is MplsTunnelOperStatus.
MplsTunnelOperStatus interface{}
// This variable is used to create, modify, and/or delete a row in this table.
// When a row in this table is in active(1) state, no objects in that row can
// be modified by the agent except mplsTunnelAdminStatus, mplsTunnelRowStatus
// and mplsTunnelStorageType. The type is RowStatus.
MplsTunnelRowStatus interface{}
// The storage type for this tunnel entry. Conceptual rows having the value
// 'permanent' need not allow write-access to any columnar objects in the row.
// The type is StorageType.
MplsTunnelStorageType interface{}
// Number of packets forwarded by the tunnel. This object should represents
// the 32-bit value of the least significant part of the 64-bit value if both
// mplsTunnelPerfHCPackets is returned. The type is interface{} with range:
// 0..4294967295.
MplsTunnelPerfPackets interface{}
// High capacity counter for number of packets forwarded by the tunnel. . The
// type is interface{} with range: 0..18446744073709551615.
MplsTunnelPerfHCPackets interface{}
// Number of packets dropped because of errors or for other reasons. The type
// is interface{} with range: 0..4294967295.
MplsTunnelPerfErrors interface{}
// Number of bytes forwarded by the tunnel. This object should represents the
// 32-bit value of the least significant part of the 64-bit value if both
// mplsTunnelPerfHCBytes is returned. The type is interface{} with range:
// 0..4294967295.
MplsTunnelPerfBytes interface{}
// High capacity counter for number of bytes forwarded by the tunnel. The type
// is interface{} with range: 0..18446744073709551615.
MplsTunnelPerfHCBytes interface{}
}
func (mplsTunnelEntry *MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry) GetEntityData() *types.CommonEntityData {
mplsTunnelEntry.EntityData.YFilter = mplsTunnelEntry.YFilter
mplsTunnelEntry.EntityData.YangName = "mplsTunnelEntry"
mplsTunnelEntry.EntityData.BundleName = "cisco_ios_xe"
mplsTunnelEntry.EntityData.ParentYangName = "mplsTunnelTable"
mplsTunnelEntry.EntityData.SegmentPath = "mplsTunnelEntry" + types.AddKeyToken(mplsTunnelEntry.MplsTunnelIndex, "mplsTunnelIndex") + types.AddKeyToken(mplsTunnelEntry.MplsTunnelInstance, "mplsTunnelInstance") + types.AddKeyToken(mplsTunnelEntry.MplsTunnelIngressLSRId, "mplsTunnelIngressLSRId") + types.AddKeyToken(mplsTunnelEntry.MplsTunnelEgressLSRId, "mplsTunnelEgressLSRId")
mplsTunnelEntry.EntityData.AbsolutePath = "MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/mplsTunnelTable/" + mplsTunnelEntry.EntityData.SegmentPath
mplsTunnelEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
mplsTunnelEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
mplsTunnelEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
mplsTunnelEntry.EntityData.Children = types.NewOrderedMap()
mplsTunnelEntry.EntityData.Leafs = types.NewOrderedMap()
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelIndex", types.YLeaf{"MplsTunnelIndex", mplsTunnelEntry.MplsTunnelIndex})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelInstance", types.YLeaf{"MplsTunnelInstance", mplsTunnelEntry.MplsTunnelInstance})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelIngressLSRId", types.YLeaf{"MplsTunnelIngressLSRId", mplsTunnelEntry.MplsTunnelIngressLSRId})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelEgressLSRId", types.YLeaf{"MplsTunnelEgressLSRId", mplsTunnelEntry.MplsTunnelEgressLSRId})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelName", types.YLeaf{"MplsTunnelName", mplsTunnelEntry.MplsTunnelName})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelDescr", types.YLeaf{"MplsTunnelDescr", mplsTunnelEntry.MplsTunnelDescr})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelIsIf", types.YLeaf{"MplsTunnelIsIf", mplsTunnelEntry.MplsTunnelIsIf})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelIfIndex", types.YLeaf{"MplsTunnelIfIndex", mplsTunnelEntry.MplsTunnelIfIndex})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelOwner", types.YLeaf{"MplsTunnelOwner", mplsTunnelEntry.MplsTunnelOwner})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelRole", types.YLeaf{"MplsTunnelRole", mplsTunnelEntry.MplsTunnelRole})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelXCPointer", types.YLeaf{"MplsTunnelXCPointer", mplsTunnelEntry.MplsTunnelXCPointer})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelSignallingProto", types.YLeaf{"MplsTunnelSignallingProto", mplsTunnelEntry.MplsTunnelSignallingProto})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelSetupPrio", types.YLeaf{"MplsTunnelSetupPrio", mplsTunnelEntry.MplsTunnelSetupPrio})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelHoldingPrio", types.YLeaf{"MplsTunnelHoldingPrio", mplsTunnelEntry.MplsTunnelHoldingPrio})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelSessionAttributes", types.YLeaf{"MplsTunnelSessionAttributes", mplsTunnelEntry.MplsTunnelSessionAttributes})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelLocalProtectInUse", types.YLeaf{"MplsTunnelLocalProtectInUse", mplsTunnelEntry.MplsTunnelLocalProtectInUse})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelResourcePointer", types.YLeaf{"MplsTunnelResourcePointer", mplsTunnelEntry.MplsTunnelResourcePointer})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelPrimaryInstance", types.YLeaf{"MplsTunnelPrimaryInstance", mplsTunnelEntry.MplsTunnelPrimaryInstance})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelInstancePriority", types.YLeaf{"MplsTunnelInstancePriority", mplsTunnelEntry.MplsTunnelInstancePriority})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelHopTableIndex", types.YLeaf{"MplsTunnelHopTableIndex", mplsTunnelEntry.MplsTunnelHopTableIndex})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelPathInUse", types.YLeaf{"MplsTunnelPathInUse", mplsTunnelEntry.MplsTunnelPathInUse})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelARHopTableIndex", types.YLeaf{"MplsTunnelARHopTableIndex", mplsTunnelEntry.MplsTunnelARHopTableIndex})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelCHopTableIndex", types.YLeaf{"MplsTunnelCHopTableIndex", mplsTunnelEntry.MplsTunnelCHopTableIndex})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelIncludeAnyAffinity", types.YLeaf{"MplsTunnelIncludeAnyAffinity", mplsTunnelEntry.MplsTunnelIncludeAnyAffinity})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelIncludeAllAffinity", types.YLeaf{"MplsTunnelIncludeAllAffinity", mplsTunnelEntry.MplsTunnelIncludeAllAffinity})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelExcludeAnyAffinity", types.YLeaf{"MplsTunnelExcludeAnyAffinity", mplsTunnelEntry.MplsTunnelExcludeAnyAffinity})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelTotalUpTime", types.YLeaf{"MplsTunnelTotalUpTime", mplsTunnelEntry.MplsTunnelTotalUpTime})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelInstanceUpTime", types.YLeaf{"MplsTunnelInstanceUpTime", mplsTunnelEntry.MplsTunnelInstanceUpTime})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelPrimaryUpTime", types.YLeaf{"MplsTunnelPrimaryUpTime", mplsTunnelEntry.MplsTunnelPrimaryUpTime})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelPathChanges", types.YLeaf{"MplsTunnelPathChanges", mplsTunnelEntry.MplsTunnelPathChanges})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelLastPathChange", types.YLeaf{"MplsTunnelLastPathChange", mplsTunnelEntry.MplsTunnelLastPathChange})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelCreationTime", types.YLeaf{"MplsTunnelCreationTime", mplsTunnelEntry.MplsTunnelCreationTime})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelStateTransitions", types.YLeaf{"MplsTunnelStateTransitions", mplsTunnelEntry.MplsTunnelStateTransitions})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelAdminStatus", types.YLeaf{"MplsTunnelAdminStatus", mplsTunnelEntry.MplsTunnelAdminStatus})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelOperStatus", types.YLeaf{"MplsTunnelOperStatus", mplsTunnelEntry.MplsTunnelOperStatus})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelRowStatus", types.YLeaf{"MplsTunnelRowStatus", mplsTunnelEntry.MplsTunnelRowStatus})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelStorageType", types.YLeaf{"MplsTunnelStorageType", mplsTunnelEntry.MplsTunnelStorageType})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelPerfPackets", types.YLeaf{"MplsTunnelPerfPackets", mplsTunnelEntry.MplsTunnelPerfPackets})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelPerfHCPackets", types.YLeaf{"MplsTunnelPerfHCPackets", mplsTunnelEntry.MplsTunnelPerfHCPackets})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelPerfErrors", types.YLeaf{"MplsTunnelPerfErrors", mplsTunnelEntry.MplsTunnelPerfErrors})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelPerfBytes", types.YLeaf{"MplsTunnelPerfBytes", mplsTunnelEntry.MplsTunnelPerfBytes})
mplsTunnelEntry.EntityData.Leafs.Append("mplsTunnelPerfHCBytes", types.YLeaf{"MplsTunnelPerfHCBytes", mplsTunnelEntry.MplsTunnelPerfHCBytes})
mplsTunnelEntry.EntityData.YListKeys = []string {"MplsTunnelIndex", "MplsTunnelInstance", "MplsTunnelIngressLSRId", "MplsTunnelEgressLSRId"}
return &(mplsTunnelEntry.EntityData)
}
// MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelAdminStatus represents tunnel.
type MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelAdminStatus string
const (
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelAdminStatus_up MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelAdminStatus = "up"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelAdminStatus_down MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelAdminStatus = "down"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelAdminStatus_testing MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelAdminStatus = "testing"
)
// MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus represents this tunnel.
type MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus string
const (
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus_up MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus = "up"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus_down MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus = "down"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus_testing MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus = "testing"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus_unknown MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus = "unknown"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus_dormant MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus = "dormant"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus_notPresent MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus = "notPresent"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus_lowerLayerDown MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelOperStatus = "lowerLayerDown"
)
// MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelRole represents begin and end on the same LSR.
type MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelRole string
const (
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelRole_head MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelRole = "head"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelRole_transit MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelRole = "transit"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelRole_tail MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelRole = "tail"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelRole_headTail MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelRole = "headTail"
)
// MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelSignallingProto represents tunnel.
type MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelSignallingProto string
const (
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelSignallingProto_none MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelSignallingProto = "none"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelSignallingProto_rsvp MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelSignallingProto = "rsvp"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelSignallingProto_crldp MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelSignallingProto = "crldp"
MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelSignallingProto_other MPLSTESTDMIB_MplsTunnelTable_MplsTunnelEntry_MplsTunnelSignallingProto = "other"
)
// MPLSTESTDMIB_MplsTunnelHopTable
// The mplsTunnelHopTable is used to indicate the hops,
// strict or loose, for an instance of an MPLS tunnel
// defined in mplsTunnelTable, when it is established
// via signalling, for the outgoing direction of the
// tunnel. Thus at a transit LSR, this table contains
// the desired path of the tunnel from this LSR
// onwards. Each row in this table is indexed by
// mplsTunnelHopListIndex which corresponds to a group
// of hop lists or path options. Each row also has a
// secondary index mplsTunnelHopIndex, which indicates
// a group of hops (also known as a path option).
// Finally, the third index, mplsTunnelHopIndex
// indicates the specific hop information for a path
// option. In case we want to specify a particular
// interface on the originating LSR of an outgoing
// tunnel by which we want packets to exit the LSR,
// we specify this as the first hop for this tunnel in
// mplsTunnelHopTable.
type MPLSTESTDMIB_MplsTunnelHopTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An entry in this table represents a tunnel hop. An entry is created by a
// network administrator for signaled ERLSP set up by an MPLS signalling
// protocol. The type is slice of
// MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry.
MplsTunnelHopEntry []*MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry
}
func (mplsTunnelHopTable *MPLSTESTDMIB_MplsTunnelHopTable) GetEntityData() *types.CommonEntityData {
mplsTunnelHopTable.EntityData.YFilter = mplsTunnelHopTable.YFilter
mplsTunnelHopTable.EntityData.YangName = "mplsTunnelHopTable"
mplsTunnelHopTable.EntityData.BundleName = "cisco_ios_xe"
mplsTunnelHopTable.EntityData.ParentYangName = "MPLS-TE-STD-MIB"
mplsTunnelHopTable.EntityData.SegmentPath = "mplsTunnelHopTable"
mplsTunnelHopTable.EntityData.AbsolutePath = "MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/" + mplsTunnelHopTable.EntityData.SegmentPath
mplsTunnelHopTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
mplsTunnelHopTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
mplsTunnelHopTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
mplsTunnelHopTable.EntityData.Children = types.NewOrderedMap()
mplsTunnelHopTable.EntityData.Children.Append("mplsTunnelHopEntry", types.YChild{"MplsTunnelHopEntry", nil})
for i := range mplsTunnelHopTable.MplsTunnelHopEntry {
mplsTunnelHopTable.EntityData.Children.Append(types.GetSegmentPath(mplsTunnelHopTable.MplsTunnelHopEntry[i]), types.YChild{"MplsTunnelHopEntry", mplsTunnelHopTable.MplsTunnelHopEntry[i]})
}
mplsTunnelHopTable.EntityData.Leafs = types.NewOrderedMap()
mplsTunnelHopTable.EntityData.YListKeys = []string {}
return &(mplsTunnelHopTable.EntityData)
}
// MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry
// An entry in this table represents a tunnel hop. An
// entry is created by a network administrator for
// signaled ERLSP set up by an MPLS signalling
// protocol.
type MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. Primary index into this table identifying a
// particular explicit route object. The type is interface{} with range:
// 1..4294967295.
MplsTunnelHopListIndex interface{}
// This attribute is a key. Secondary index into this table identifying a
// particular group of hops representing a particular configured path. This is
// otherwise known as a path option. The type is interface{} with range:
// 1..4294967295.
MplsTunnelHopPathOptionIndex interface{}
// This attribute is a key. Tertiary index into this table identifying a
// particular hop. The type is interface{} with range: 1..4294967295.
MplsTunnelHopIndex interface{}
// The Hop Address Type of this tunnel hop. The value of this object cannot
// be changed if the value of the corresponding mplsTunnelHopRowStatus object
// is 'active'. Note that lspid(5) is a valid option only for tunnels
// signaled via CRLDP. The type is TeHopAddressType.
MplsTunnelHopAddrType interface{}
// The Tunnel Hop Address for this tunnel hop. The type of this address is
// determined by the value of the corresponding mplsTunnelHopAddrType. The
// value of this object cannot be changed if the value of the corresponding
// mplsTunnelHopRowStatus object is 'active'. The type is string with length:
// 0..32.
MplsTunnelHopIpAddr interface{}
// If mplsTunnelHopAddrType is set to ipv4(1) or ipv6(2), then this value will
// contain an appropriate prefix length for the IP address in object
// mplsTunnelHopIpAddr. Otherwise this value is irrelevant and should be
// ignored. The type is interface{} with range: 0..2040.
MplsTunnelHopIpPrefixLen interface{}
// If mplsTunnelHopAddrType is set to asnumber(3), then this value will
// contain the AS number of this hop. Otherwise the agent should set this
// object to zero- length string and the manager should ignore this. The type
// is string with length: 4..4.
MplsTunnelHopAsNumber interface{}
// If mplsTunnelHopAddrType is set to unnum(4), then this value will contain
// the interface identifier of the unnumbered interface for this hop. This
// object should be used in conjunction with mplsTunnelHopIpAddress which
// would contain the LSR Router ID in this case. Otherwise the agent should
// set this object to zero-length string and the manager should ignore this.
// The type is string with length: 4..4.
MplsTunnelHopAddrUnnum interface{}
// If mplsTunnelHopAddrType is set to lspid(5), then this value will contain
// the LSPID of a tunnel of this hop. The present tunnel being configured is
// tunneled through this hop (using label stacking). This object is otherwise
// insignificant and should contain a value of 0 to indicate this fact. The
// type is string with length: 2..2 | 6..6.
MplsTunnelHopLspId interface{}
// Denotes whether this tunnel hop is routed in a strict or loose fashion. The
// value of this object has no meaning if the mplsTunnelHopInclude object is
// set to 'false'. The type is MplsTunnelHopType.
MplsTunnelHopType interface{}
// If this value is set to true, then this indicates that this hop must be
// included in the tunnel's path. If this value is set to 'false', then this
// hop must be avoided when calculating the path for this tunnel. The default
// value of this object is 'true', so that by default all indicated hops are
// included in the CSPF path computation. If this object is set to 'false' the
// value of mplsTunnelHopType should be ignored. The type is bool.
MplsTunnelHopInclude interface{}
// The description of this series of hops as they relate to the specified path
// option. The value of this object SHOULD be the same for each hop in the
// series that comprises a path option. The type is string.
MplsTunnelHopPathOptionName interface{}
// If this value is set to dynamic, then the user should only specify the
// source and destination of the path and expect that the CSPF will calculate
// the remainder of the path. If this value is set to explicit, the user
// should specify the entire path for the tunnel to take. This path may
// contain strict or loose hops. Each hop along a specific path SHOULD have
// this object set to the same value. The type is MplsTunnelHopEntryPathComp.
MplsTunnelHopEntryPathComp interface{}
// This variable is used to create, modify, and/or delete a row in this table.
// When a row in this table is in active(1) state, no objects in that row can
// be modified by the agent except mplsTunnelHopRowStatus and
// mplsTunnelHopStorageType. The type is RowStatus.
MplsTunnelHopRowStatus interface{}
// The storage type for this Hop entry. Conceptual rows having the value
// 'permanent' need not allow write-access to any columnar objects in the row.
// The type is StorageType.
MplsTunnelHopStorageType interface{}
}
func (mplsTunnelHopEntry *MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry) GetEntityData() *types.CommonEntityData {
mplsTunnelHopEntry.EntityData.YFilter = mplsTunnelHopEntry.YFilter
mplsTunnelHopEntry.EntityData.YangName = "mplsTunnelHopEntry"
mplsTunnelHopEntry.EntityData.BundleName = "cisco_ios_xe"
mplsTunnelHopEntry.EntityData.ParentYangName = "mplsTunnelHopTable"
mplsTunnelHopEntry.EntityData.SegmentPath = "mplsTunnelHopEntry" + types.AddKeyToken(mplsTunnelHopEntry.MplsTunnelHopListIndex, "mplsTunnelHopListIndex") + types.AddKeyToken(mplsTunnelHopEntry.MplsTunnelHopPathOptionIndex, "mplsTunnelHopPathOptionIndex") + types.AddKeyToken(mplsTunnelHopEntry.MplsTunnelHopIndex, "mplsTunnelHopIndex")
mplsTunnelHopEntry.EntityData.AbsolutePath = "MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/mplsTunnelHopTable/" + mplsTunnelHopEntry.EntityData.SegmentPath
mplsTunnelHopEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
mplsTunnelHopEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
mplsTunnelHopEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
mplsTunnelHopEntry.EntityData.Children = types.NewOrderedMap()
mplsTunnelHopEntry.EntityData.Leafs = types.NewOrderedMap()
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopListIndex", types.YLeaf{"MplsTunnelHopListIndex", mplsTunnelHopEntry.MplsTunnelHopListIndex})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopPathOptionIndex", types.YLeaf{"MplsTunnelHopPathOptionIndex", mplsTunnelHopEntry.MplsTunnelHopPathOptionIndex})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopIndex", types.YLeaf{"MplsTunnelHopIndex", mplsTunnelHopEntry.MplsTunnelHopIndex})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopAddrType", types.YLeaf{"MplsTunnelHopAddrType", mplsTunnelHopEntry.MplsTunnelHopAddrType})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopIpAddr", types.YLeaf{"MplsTunnelHopIpAddr", mplsTunnelHopEntry.MplsTunnelHopIpAddr})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopIpPrefixLen", types.YLeaf{"MplsTunnelHopIpPrefixLen", mplsTunnelHopEntry.MplsTunnelHopIpPrefixLen})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopAsNumber", types.YLeaf{"MplsTunnelHopAsNumber", mplsTunnelHopEntry.MplsTunnelHopAsNumber})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopAddrUnnum", types.YLeaf{"MplsTunnelHopAddrUnnum", mplsTunnelHopEntry.MplsTunnelHopAddrUnnum})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopLspId", types.YLeaf{"MplsTunnelHopLspId", mplsTunnelHopEntry.MplsTunnelHopLspId})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopType", types.YLeaf{"MplsTunnelHopType", mplsTunnelHopEntry.MplsTunnelHopType})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopInclude", types.YLeaf{"MplsTunnelHopInclude", mplsTunnelHopEntry.MplsTunnelHopInclude})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopPathOptionName", types.YLeaf{"MplsTunnelHopPathOptionName", mplsTunnelHopEntry.MplsTunnelHopPathOptionName})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopEntryPathComp", types.YLeaf{"MplsTunnelHopEntryPathComp", mplsTunnelHopEntry.MplsTunnelHopEntryPathComp})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopRowStatus", types.YLeaf{"MplsTunnelHopRowStatus", mplsTunnelHopEntry.MplsTunnelHopRowStatus})
mplsTunnelHopEntry.EntityData.Leafs.Append("mplsTunnelHopStorageType", types.YLeaf{"MplsTunnelHopStorageType", mplsTunnelHopEntry.MplsTunnelHopStorageType})
mplsTunnelHopEntry.EntityData.YListKeys = []string {"MplsTunnelHopListIndex", "MplsTunnelHopPathOptionIndex", "MplsTunnelHopIndex"}
return &(mplsTunnelHopEntry.EntityData)
}
// MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopEntryPathComp represents path SHOULD have this object set to the same value
type MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopEntryPathComp string
const (
MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopEntryPathComp_dynamic MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopEntryPathComp = "dynamic"
MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopEntryPathComp_explicit MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopEntryPathComp = "explicit"
)
// MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopType represents is set to 'false'.
type MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopType string
const (
MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopType_strict MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopType = "strict"
MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopType_loose MPLSTESTDMIB_MplsTunnelHopTable_MplsTunnelHopEntry_MplsTunnelHopType = "loose"
)
// MPLSTESTDMIB_MplsTunnelResourceTable
// The mplsTunnelResourceTable allows a manager to
// specify which resources are desired for an MPLS
// tunnel. This table also allows several tunnels to
// point to a single entry in this table, implying
// that these tunnels should share resources.
type MPLSTESTDMIB_MplsTunnelResourceTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An entry in this table represents a set of resources for an MPLS tunnel.
// An entry can be created by a network administrator or by an SNMP agent as
// instructed by any MPLS signalling protocol. An entry in this table
// referenced by a tunnel instance with zero mplsTunnelInstance value
// indicates a configured set of resource parameter. An entry referenced by a
// tunnel instance with a non-zero mplsTunnelInstance reflects the in-use
// resource parameters for the tunnel instance which may have been negotiated
// or modified by the MPLS signaling protocols. The type is slice of
// MPLSTESTDMIB_MplsTunnelResourceTable_MplsTunnelResourceEntry.
MplsTunnelResourceEntry []*MPLSTESTDMIB_MplsTunnelResourceTable_MplsTunnelResourceEntry
}
func (mplsTunnelResourceTable *MPLSTESTDMIB_MplsTunnelResourceTable) GetEntityData() *types.CommonEntityData {
mplsTunnelResourceTable.EntityData.YFilter = mplsTunnelResourceTable.YFilter
mplsTunnelResourceTable.EntityData.YangName = "mplsTunnelResourceTable"
mplsTunnelResourceTable.EntityData.BundleName = "cisco_ios_xe"
mplsTunnelResourceTable.EntityData.ParentYangName = "MPLS-TE-STD-MIB"
mplsTunnelResourceTable.EntityData.SegmentPath = "mplsTunnelResourceTable"
mplsTunnelResourceTable.EntityData.AbsolutePath = "MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/" + mplsTunnelResourceTable.EntityData.SegmentPath
mplsTunnelResourceTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
mplsTunnelResourceTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
mplsTunnelResourceTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
mplsTunnelResourceTable.EntityData.Children = types.NewOrderedMap()
mplsTunnelResourceTable.EntityData.Children.Append("mplsTunnelResourceEntry", types.YChild{"MplsTunnelResourceEntry", nil})
for i := range mplsTunnelResourceTable.MplsTunnelResourceEntry {
mplsTunnelResourceTable.EntityData.Children.Append(types.GetSegmentPath(mplsTunnelResourceTable.MplsTunnelResourceEntry[i]), types.YChild{"MplsTunnelResourceEntry", mplsTunnelResourceTable.MplsTunnelResourceEntry[i]})
}
mplsTunnelResourceTable.EntityData.Leafs = types.NewOrderedMap()
mplsTunnelResourceTable.EntityData.YListKeys = []string {}
return &(mplsTunnelResourceTable.EntityData)
}
// MPLSTESTDMIB_MplsTunnelResourceTable_MplsTunnelResourceEntry
// An entry in this table represents a set of resources
// for an MPLS tunnel. An entry can be created by a
// network administrator or by an SNMP agent as
// instructed by any MPLS signalling protocol.
// An entry in this table referenced by a tunnel instance