forked from CiscoDevNet/ydk-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rmon2_mib.go
4417 lines (3830 loc) · 268 KB
/
rmon2_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
// The MIB module for managing remote monitoring
// device implementations. This MIB module
// augments the original RMON MIB as specified in
// RFC 1757.
package rmon2_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 rmon2_mib"))
ydk.RegisterEntity("{urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB RMON2-MIB}", reflect.TypeOf(RMON2MIB{}))
ydk.RegisterEntity("RMON2-MIB:RMON2-MIB", reflect.TypeOf(RMON2MIB{}))
}
// RMON2MIB
type RMON2MIB struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
ProtocolDir RMON2MIB_ProtocolDir
AddressMap RMON2MIB_AddressMap
ProbeConfig RMON2MIB_ProbeConfig
// This table lists the protocols that this agent has the capability to decode
// and count. There is one entry in this table for each such protocol. These
// protocols represent different network layer, transport layer, and
// higher-layer protocols. The agent should boot up with this table
// preconfigured with those protocols that it knows about and wishes to
// monitor. Implementations are strongly encouraged to support protocols
// higher than the network layer (at least for the protocol distribution
// group), even for implementations that don't support the application layer
// groups.
ProtocolDirTable RMON2MIB_ProtocolDirTable
// Controls the setup of protocol type distribution statistics tables.
// Implementations are encouraged to add an entry per monitored interface upon
// initialization so that a default collection of protocol statistics is
// available. Rationale: This table controls collection of very basic
// statistics for any or all of the protocols detected on a given interface.
// An NMS can use this table to quickly determine bandwidth allocation
// utilized by different protocols. A media-specific statistics collection
// could also be configured (e.g. etherStats, trPStats) to easily obtain total
// frame, octet, and droppedEvents for the same interface.
ProtocolDistControlTable RMON2MIB_ProtocolDistControlTable
// An entry is made in this table for every protocol in the
// protocolDirTable which has been seen in at least one packet. Counters are
// updated in this table for every protocol type that is encountered when
// parsing a packet, but no counters are updated for packets with MAC-layer
// errors. Note that if a protocolDirEntry is deleted, all associated entries
// in this table are removed.
ProtocolDistStatsTable RMON2MIB_ProtocolDistStatsTable
// A table to control the collection of network layer address to physical
// address to interface mappings. Note that this is not like the typical RMON
// controlTable and dataTable in which each entry creates its own data table.
// Each entry in this table enables the discovery of addresses on a new
// interface and the placement of address mappings into the central
// addressMapTable. Implementations are encouraged to add an entry per
// monitored interface upon initialization so that a default collection of
// address mappings is available.
AddressMapControlTable RMON2MIB_AddressMapControlTable
// A table of network layer address to physical address to interface mappings.
// The probe will add entries to this table based on the source MAC and
// network addresses seen in packets without MAC-level errors. The probe will
// populate this table for all protocols in the protocol directory table whose
// value of protocolDirAddressMapConfig is equal to supportedOn(3), and will
// delete any entries whose protocolDirEntry is deleted or has a
// protocolDirAddressMapConfig value of supportedOff(2).
AddressMapTable RMON2MIB_AddressMapTable
// A list of higher layer (i.e. non-MAC) host table control entries. These
// entries will enable the collection of the network and application level
// host tables indexed by network addresses. Both the network and application
// level host tables are controlled by this table is so that they will both be
// created and deleted at the same time, further increasing the ease with
// which they can be implemented as a single datastore (note that if an
// implementation stores application layer host records in memory, it can
// derive network layer host records from them). Entries in the nlHostTable
// will be created on behalf of each entry in this table. Additionally, if
// this probe implements the alHostTable, entries in the alHostTable will be
// created on behalf of each entry in this table. Implementations are
// encouraged to add an entry per monitored interface upon initialization so
// that a default collection of host statistics is available.
HlHostControlTable RMON2MIB_HlHostControlTable
// A collection of statistics for a particular network layer address that has
// been discovered on an interface of this device. The probe will populate
// this table for all network layer protocols in the protocol directory table
// whose value of protocolDirHostConfig is equal to supportedOn(3), and will
// delete any entries whose protocolDirEntry is deleted or has a
// protocolDirHostConfig value of supportedOff(2). The probe will add to this
// table all addresses seen as the source or destination address in all
// packets with no MAC errors, and will increment octet and packet counts in
// the table for all packets with no MAC errors.
NlHostTable RMON2MIB_NlHostTable
// A list of higher layer (i.e. non-MAC) matrix control entries. These
// entries will enable the collection of the network and application level
// matrix tables containing conversation statistics indexed by pairs of
// network addresses. Both the network and application level matrix tables are
// controlled by this table is so that they will both be created and deleted
// at the same time, further increasing the ease with which they can be
// implemented as a single datastore (note that if an implementation stores
// application layer matrix records in memory, it can derive network layer
// matrix records from them). Entries in the nlMatrixSDTable and
// nlMatrixDSTable will be created on behalf of each entry in this table.
// Additionally, if this probe implements the alMatrix tables, entries in the
// alMatrix tables will be created on behalf of each entry in this table.
HlMatrixControlTable RMON2MIB_HlMatrixControlTable
// A list of traffic matrix entries which collect statistics for conversations
// between two network-level addresses. This table is indexed first by the
// source address and then by the destination address to make it convenient to
// collect all conversations from a particular address. The probe will
// populate this table for all network layer protocols in the protocol
// directory table whose value of protocolDirMatrixConfig is equal to
// supportedOn(3), and will delete any entries whose protocolDirEntry is
// deleted or has a protocolDirMatrixConfig value of supportedOff(2). The
// probe will add to this table all pairs of addresses seen in all packets
// with no MAC errors, and will increment octet and packet counts in the table
// for all packets with no MAC errors. Further, this table will only contain
// entries that have a corresponding entry in the nlMatrixDSTable with the
// same source address and destination address.
NlMatrixSDTable RMON2MIB_NlMatrixSDTable
// A list of traffic matrix entries which collect statistics for conversations
// between two network-level addresses. This table is indexed first by the
// destination address and then by the source address to make it convenient to
// collect all conversations to a particular address. The probe will populate
// this table for all network layer protocols in the protocol directory table
// whose value of protocolDirMatrixConfig is equal to supportedOn(3), and will
// delete any entries whose protocolDirEntry is deleted or has a
// protocolDirMatrixConfig value of supportedOff(2). The probe will add to
// this table all pairs of addresses seen in all packets with no MAC errors,
// and will increment octet and packet counts in the table for all
// packets with no MAC errors. Further, this table will only contain entries
// that have a corresponding entry in the nlMatrixSDTable with the same source
// address and destination address.
NlMatrixDSTable RMON2MIB_NlMatrixDSTable
// A set of parameters that control the creation of a report of the top N
// matrix entries according to a selected metric.
NlMatrixTopNControlTable RMON2MIB_NlMatrixTopNControlTable
// A set of statistics for those network layer matrix entries that have
// counted the highest number of octets or packets.
NlMatrixTopNTable RMON2MIB_NlMatrixTopNTable
// A collection of statistics for a particular protocol from a particular
// network address that has been discovered on an interface of this device.
// The probe will populate this table for all protocols in the protocol
// directory table whose value of protocolDirHostConfig is equal to
// supportedOn(3), and will delete any entries whose protocolDirEntry is
// deleted or has a protocolDirHostConfig value of supportedOff(2). The probe
// will add to this table all addresses seen as the source or destination
// address in all packets with no MAC errors, and will increment octet and
// packet counts in the table for all packets with no MAC errors. Further,
// entries will only be added to this table if their address exists in the
// nlHostTable and will be deleted from this table if their address is deleted
// from the nlHostTable.
AlHostTable RMON2MIB_AlHostTable
// A list of application traffic matrix entries which collect statistics
// for conversations of a particular protocol between two network-level
// addresses. This table is indexed first by the source address and then by
// the destination address to make it convenient to collect all statistics
// from a particular address. The probe will populate this table for all
// protocols in the protocol directory table whose value of
// protocolDirMatrixConfig is equal to supportedOn(3), and will delete any
// entries whose protocolDirEntry is deleted or has a protocolDirMatrixConfig
// value of supportedOff(2). The probe will add to this table all pairs of
// addresses for all protocols seen in all packets with no MAC errors, and
// will increment octet and packet counts in the table for all packets with no
// MAC errors. Further, entries will only be added to this table if their
// address pair exists in the nlMatrixSDTable and will be deleted from this
// table if the address pair is deleted from the nlMatrixSDTable.
AlMatrixSDTable RMON2MIB_AlMatrixSDTable
// A list of application traffic matrix entries which collect statistics for
// conversations of a particular protocol between two network-level addresses.
// This table is indexed first by the destination address and then by the
// source address to make it convenient to collect all statistics to a
// particular address. The probe will populate this table for all protocols
// in the protocol directory table whose value of protocolDirMatrixConfig is
// equal to supportedOn(3), and will delete any entries whose protocolDirEntry
// is deleted or has a protocolDirMatrixConfig value of supportedOff(2). The
// probe will add to this table all pairs of addresses for all protocols seen
// in all packets with no MAC errors, and will increment octet and packet
// counts in the table for all packets with no MAC errors. Further, entries
// will only be added to this table if their address pair exists in the
// nlMatrixDSTable and will be deleted from this table if the address pair is
// deleted from the nlMatrixDSTable.
AlMatrixDSTable RMON2MIB_AlMatrixDSTable
// A set of parameters that control the creation of a report of the top N
// matrix entries according to a selected metric.
AlMatrixTopNControlTable RMON2MIB_AlMatrixTopNControlTable
// A set of statistics for those application layer matrix entries that have
// counted the highest number of octets or packets.
AlMatrixTopNTable RMON2MIB_AlMatrixTopNTable
// A list of data-collection configuration entries.
UsrHistoryControlTable RMON2MIB_UsrHistoryControlTable
// A list of data-collection configuration entries.
UsrHistoryObjectTable RMON2MIB_UsrHistoryObjectTable
// A list of user defined history entries.
UsrHistoryTable RMON2MIB_UsrHistoryTable
// A table of serial interface configuration entries. This data will be
// stored in non-volatile memory and preserved across probe resets or power
// loss.
SerialConfigTable RMON2MIB_SerialConfigTable
// A table of netConfigEntries.
NetConfigTable RMON2MIB_NetConfigTable
// A list of trap destination entries.
TrapDestTable RMON2MIB_TrapDestTable
// A list of serialConnectionEntries.
SerialConnectionTable RMON2MIB_SerialConnectionTable
}
func (rMON2MIB *RMON2MIB) GetEntityData() *types.CommonEntityData {
rMON2MIB.EntityData.YFilter = rMON2MIB.YFilter
rMON2MIB.EntityData.YangName = "RMON2-MIB"
rMON2MIB.EntityData.BundleName = "cisco_ios_xe"
rMON2MIB.EntityData.ParentYangName = "RMON2-MIB"
rMON2MIB.EntityData.SegmentPath = "RMON2-MIB:RMON2-MIB"
rMON2MIB.EntityData.AbsolutePath = rMON2MIB.EntityData.SegmentPath
rMON2MIB.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
rMON2MIB.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
rMON2MIB.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
rMON2MIB.EntityData.Children = types.NewOrderedMap()
rMON2MIB.EntityData.Children.Append("protocolDir", types.YChild{"ProtocolDir", &rMON2MIB.ProtocolDir})
rMON2MIB.EntityData.Children.Append("addressMap", types.YChild{"AddressMap", &rMON2MIB.AddressMap})
rMON2MIB.EntityData.Children.Append("probeConfig", types.YChild{"ProbeConfig", &rMON2MIB.ProbeConfig})
rMON2MIB.EntityData.Children.Append("protocolDirTable", types.YChild{"ProtocolDirTable", &rMON2MIB.ProtocolDirTable})
rMON2MIB.EntityData.Children.Append("protocolDistControlTable", types.YChild{"ProtocolDistControlTable", &rMON2MIB.ProtocolDistControlTable})
rMON2MIB.EntityData.Children.Append("protocolDistStatsTable", types.YChild{"ProtocolDistStatsTable", &rMON2MIB.ProtocolDistStatsTable})
rMON2MIB.EntityData.Children.Append("addressMapControlTable", types.YChild{"AddressMapControlTable", &rMON2MIB.AddressMapControlTable})
rMON2MIB.EntityData.Children.Append("addressMapTable", types.YChild{"AddressMapTable", &rMON2MIB.AddressMapTable})
rMON2MIB.EntityData.Children.Append("hlHostControlTable", types.YChild{"HlHostControlTable", &rMON2MIB.HlHostControlTable})
rMON2MIB.EntityData.Children.Append("nlHostTable", types.YChild{"NlHostTable", &rMON2MIB.NlHostTable})
rMON2MIB.EntityData.Children.Append("hlMatrixControlTable", types.YChild{"HlMatrixControlTable", &rMON2MIB.HlMatrixControlTable})
rMON2MIB.EntityData.Children.Append("nlMatrixSDTable", types.YChild{"NlMatrixSDTable", &rMON2MIB.NlMatrixSDTable})
rMON2MIB.EntityData.Children.Append("nlMatrixDSTable", types.YChild{"NlMatrixDSTable", &rMON2MIB.NlMatrixDSTable})
rMON2MIB.EntityData.Children.Append("nlMatrixTopNControlTable", types.YChild{"NlMatrixTopNControlTable", &rMON2MIB.NlMatrixTopNControlTable})
rMON2MIB.EntityData.Children.Append("nlMatrixTopNTable", types.YChild{"NlMatrixTopNTable", &rMON2MIB.NlMatrixTopNTable})
rMON2MIB.EntityData.Children.Append("alHostTable", types.YChild{"AlHostTable", &rMON2MIB.AlHostTable})
rMON2MIB.EntityData.Children.Append("alMatrixSDTable", types.YChild{"AlMatrixSDTable", &rMON2MIB.AlMatrixSDTable})
rMON2MIB.EntityData.Children.Append("alMatrixDSTable", types.YChild{"AlMatrixDSTable", &rMON2MIB.AlMatrixDSTable})
rMON2MIB.EntityData.Children.Append("alMatrixTopNControlTable", types.YChild{"AlMatrixTopNControlTable", &rMON2MIB.AlMatrixTopNControlTable})
rMON2MIB.EntityData.Children.Append("alMatrixTopNTable", types.YChild{"AlMatrixTopNTable", &rMON2MIB.AlMatrixTopNTable})
rMON2MIB.EntityData.Children.Append("usrHistoryControlTable", types.YChild{"UsrHistoryControlTable", &rMON2MIB.UsrHistoryControlTable})
rMON2MIB.EntityData.Children.Append("usrHistoryObjectTable", types.YChild{"UsrHistoryObjectTable", &rMON2MIB.UsrHistoryObjectTable})
rMON2MIB.EntityData.Children.Append("usrHistoryTable", types.YChild{"UsrHistoryTable", &rMON2MIB.UsrHistoryTable})
rMON2MIB.EntityData.Children.Append("serialConfigTable", types.YChild{"SerialConfigTable", &rMON2MIB.SerialConfigTable})
rMON2MIB.EntityData.Children.Append("netConfigTable", types.YChild{"NetConfigTable", &rMON2MIB.NetConfigTable})
rMON2MIB.EntityData.Children.Append("trapDestTable", types.YChild{"TrapDestTable", &rMON2MIB.TrapDestTable})
rMON2MIB.EntityData.Children.Append("serialConnectionTable", types.YChild{"SerialConnectionTable", &rMON2MIB.SerialConnectionTable})
rMON2MIB.EntityData.Leafs = types.NewOrderedMap()
rMON2MIB.EntityData.YListKeys = []string {}
return &(rMON2MIB.EntityData)
}
// RMON2MIB_ProtocolDir
type RMON2MIB_ProtocolDir struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// The value of sysUpTime at the time the protocol directory was last
// modified, either through insertions or deletions, or through modifications
// of either the protocolDirAddressMapConfig, protocolDirHostConfig, or
// protocolDirMatrixConfig. The type is interface{} with range: 0..4294967295.
ProtocolDirLastChange interface{}
}
func (protocolDir *RMON2MIB_ProtocolDir) GetEntityData() *types.CommonEntityData {
protocolDir.EntityData.YFilter = protocolDir.YFilter
protocolDir.EntityData.YangName = "protocolDir"
protocolDir.EntityData.BundleName = "cisco_ios_xe"
protocolDir.EntityData.ParentYangName = "RMON2-MIB"
protocolDir.EntityData.SegmentPath = "protocolDir"
protocolDir.EntityData.AbsolutePath = "RMON2-MIB:RMON2-MIB/" + protocolDir.EntityData.SegmentPath
protocolDir.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
protocolDir.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
protocolDir.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
protocolDir.EntityData.Children = types.NewOrderedMap()
protocolDir.EntityData.Leafs = types.NewOrderedMap()
protocolDir.EntityData.Leafs.Append("protocolDirLastChange", types.YLeaf{"ProtocolDirLastChange", protocolDir.ProtocolDirLastChange})
protocolDir.EntityData.YListKeys = []string {}
return &(protocolDir.EntityData)
}
// RMON2MIB_AddressMap
type RMON2MIB_AddressMap struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// The number of times an address mapping entry has been inserted into the
// addressMapTable. If an entry is inserted, then deleted, and then inserted,
// this counter will be incremented by 2. Note that the table size can be
// determined by subtracting addressMapDeletes from addressMapInserts. The
// type is interface{} with range: 0..4294967295.
AddressMapInserts interface{}
// The number of times an address mapping entry has been deleted from the
// addressMapTable (for any reason). If an entry is deleted, then inserted,
// and then deleted, this counter will be incremented by 2. Note that the
// table size can be determined by subtracting addressMapDeletes from
// addressMapInserts. The type is interface{} with range: 0..4294967295.
AddressMapDeletes interface{}
// The maximum number of entries that are desired in the addressMapTable. The
// probe will not create more than this number of entries in the table, but
// may choose to create fewer entries in this table for any reason including
// the lack of resources. If this object is set to a value less than the
// current number of entries, enough entries are chosen in an
// implementation-dependent manner and deleted so that the number of entries
// in the table equals the value of this object. If this value is set to -1,
// the probe may create any number of entries in this table. This object may
// be used to control how resources are allocated on the probe for the various
// RMON functions. The type is interface{} with range: -1..2147483647.
AddressMapMaxDesiredEntries interface{}
}
func (addressMap *RMON2MIB_AddressMap) GetEntityData() *types.CommonEntityData {
addressMap.EntityData.YFilter = addressMap.YFilter
addressMap.EntityData.YangName = "addressMap"
addressMap.EntityData.BundleName = "cisco_ios_xe"
addressMap.EntityData.ParentYangName = "RMON2-MIB"
addressMap.EntityData.SegmentPath = "addressMap"
addressMap.EntityData.AbsolutePath = "RMON2-MIB:RMON2-MIB/" + addressMap.EntityData.SegmentPath
addressMap.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
addressMap.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
addressMap.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
addressMap.EntityData.Children = types.NewOrderedMap()
addressMap.EntityData.Leafs = types.NewOrderedMap()
addressMap.EntityData.Leafs.Append("addressMapInserts", types.YLeaf{"AddressMapInserts", addressMap.AddressMapInserts})
addressMap.EntityData.Leafs.Append("addressMapDeletes", types.YLeaf{"AddressMapDeletes", addressMap.AddressMapDeletes})
addressMap.EntityData.Leafs.Append("addressMapMaxDesiredEntries", types.YLeaf{"AddressMapMaxDesiredEntries", addressMap.AddressMapMaxDesiredEntries})
addressMap.EntityData.YListKeys = []string {}
return &(addressMap.EntityData)
}
// RMON2MIB_ProbeConfig
type RMON2MIB_ProbeConfig struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An indication of the RMON MIB groups supported on at least one interface by
// this probe. The type is string with length: 1..1.
ProbeCapabilities interface{}
// The software revision of this device. This string will have a zero length
// if the revision is unknown. The type is string with length: 0..31.
ProbeSoftwareRev interface{}
// The hardware revision of this device. This string will have a zero length
// if the revision is unknown. The type is string with length: 0..31.
ProbeHardwareRev interface{}
// Probe's current date and time. field octets contents
// range ----- ------ -------- ----- 1 1-2 year
// 0..65536 2 3 month 1..12 3 4 day
// 1..31 4 5 hour 0..23 5 6 minutes
// 0..59 6 7 seconds 0..60 (use
// 60 for leap-second) 7 8 deci-seconds 0..9 8
// 9 direction from UTC '+' / '-' 9 10 hours from UTC
// 0..11 10 11 minutes from UTC 0..59 For example, Tuesday
// May 26, 1992 at 1:30:15 PM EDT would be displayed as:
// 1992-5-26,13:30:15.0,-4:0 Note that if only local time is known, then
// timezone information (fields 8-10) is not present, and if no time
// information is known, the null string is returned. The type is string with
// length: 0..0 | 8..8 | 11..11.
ProbeDateTime interface{}
// Setting this object to warmBoot(2) causes the device to restart the
// application software with current configuration parameters saved in
// non-volatile memory. Setting this object to coldBoot(3) causes the device
// to reinitialize configuration parameters in non-volatile memory to default
// values and restart the application software. When the device is running
// normally, this variable has a value of running(1). The type is
// ProbeResetControl.
ProbeResetControl interface{}
// The file name to be downloaded from the TFTP server when a download is next
// requested via this MIB. This value is set to the zero length string when
// no file name has been specified. The type is string with length: 0..127.
ProbeDownloadFile interface{}
// The IP address of the TFTP server that contains the boot image to load when
// a download is next requested via this MIB. This value is set to `0.0.0.0'
// when no IP address has been specified. The type is string with pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
ProbeDownloadTFTPServer interface{}
// When this object is set to downloadToRAM(2) or downloadToPROM(3), the
// device will discontinue its normal operation and begin download of the
// image specified by probeDownloadFile from the server specified by
// probeDownloadTFTPServer using the TFTP protocol. If downloadToRAM(2) is
// specified, the new image is copied to RAM only (the old image remains
// unaltered in the flash EPROM). If downloadToPROM(3) is specified the new
// image is written to the flash EPROM memory after its checksum has been
// verified to be correct. When the download process is completed, the device
// will warm boot to restart the newly loaded application. When the
// device is not downloading, this object will have a value of
// notDownloading(1). The type is ProbeDownloadAction.
ProbeDownloadAction interface{}
// The status of the last download procedure, if any. This object will have a
// value of downloadStatusUnknown(2) if no download process has been
// performed. The type is ProbeDownloadStatus.
ProbeDownloadStatus interface{}
// The IP Address of the default gateway. If this value is undefined or
// unknown, it shall have the value 0.0.0.0. The type is string with pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
NetDefaultGateway interface{}
}
func (probeConfig *RMON2MIB_ProbeConfig) GetEntityData() *types.CommonEntityData {
probeConfig.EntityData.YFilter = probeConfig.YFilter
probeConfig.EntityData.YangName = "probeConfig"
probeConfig.EntityData.BundleName = "cisco_ios_xe"
probeConfig.EntityData.ParentYangName = "RMON2-MIB"
probeConfig.EntityData.SegmentPath = "probeConfig"
probeConfig.EntityData.AbsolutePath = "RMON2-MIB:RMON2-MIB/" + probeConfig.EntityData.SegmentPath
probeConfig.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
probeConfig.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
probeConfig.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
probeConfig.EntityData.Children = types.NewOrderedMap()
probeConfig.EntityData.Leafs = types.NewOrderedMap()
probeConfig.EntityData.Leafs.Append("probeCapabilities", types.YLeaf{"ProbeCapabilities", probeConfig.ProbeCapabilities})
probeConfig.EntityData.Leafs.Append("probeSoftwareRev", types.YLeaf{"ProbeSoftwareRev", probeConfig.ProbeSoftwareRev})
probeConfig.EntityData.Leafs.Append("probeHardwareRev", types.YLeaf{"ProbeHardwareRev", probeConfig.ProbeHardwareRev})
probeConfig.EntityData.Leafs.Append("probeDateTime", types.YLeaf{"ProbeDateTime", probeConfig.ProbeDateTime})
probeConfig.EntityData.Leafs.Append("probeResetControl", types.YLeaf{"ProbeResetControl", probeConfig.ProbeResetControl})
probeConfig.EntityData.Leafs.Append("probeDownloadFile", types.YLeaf{"ProbeDownloadFile", probeConfig.ProbeDownloadFile})
probeConfig.EntityData.Leafs.Append("probeDownloadTFTPServer", types.YLeaf{"ProbeDownloadTFTPServer", probeConfig.ProbeDownloadTFTPServer})
probeConfig.EntityData.Leafs.Append("probeDownloadAction", types.YLeaf{"ProbeDownloadAction", probeConfig.ProbeDownloadAction})
probeConfig.EntityData.Leafs.Append("probeDownloadStatus", types.YLeaf{"ProbeDownloadStatus", probeConfig.ProbeDownloadStatus})
probeConfig.EntityData.Leafs.Append("netDefaultGateway", types.YLeaf{"NetDefaultGateway", probeConfig.NetDefaultGateway})
probeConfig.EntityData.YListKeys = []string {}
return &(probeConfig.EntityData)
}
// RMON2MIB_ProbeConfig_ProbeDownloadAction represents a value of notDownloading(1).
type RMON2MIB_ProbeConfig_ProbeDownloadAction string
const (
RMON2MIB_ProbeConfig_ProbeDownloadAction_notDownloading RMON2MIB_ProbeConfig_ProbeDownloadAction = "notDownloading"
RMON2MIB_ProbeConfig_ProbeDownloadAction_downloadToPROM RMON2MIB_ProbeConfig_ProbeDownloadAction = "downloadToPROM"
RMON2MIB_ProbeConfig_ProbeDownloadAction_downloadToRAM RMON2MIB_ProbeConfig_ProbeDownloadAction = "downloadToRAM"
)
// RMON2MIB_ProbeConfig_ProbeDownloadStatus represents download process has been performed.
type RMON2MIB_ProbeConfig_ProbeDownloadStatus string
const (
RMON2MIB_ProbeConfig_ProbeDownloadStatus_downloadSuccess RMON2MIB_ProbeConfig_ProbeDownloadStatus = "downloadSuccess"
RMON2MIB_ProbeConfig_ProbeDownloadStatus_downloadStatusUnknown RMON2MIB_ProbeConfig_ProbeDownloadStatus = "downloadStatusUnknown"
RMON2MIB_ProbeConfig_ProbeDownloadStatus_downloadGeneralError RMON2MIB_ProbeConfig_ProbeDownloadStatus = "downloadGeneralError"
RMON2MIB_ProbeConfig_ProbeDownloadStatus_downloadNoResponseFromServer RMON2MIB_ProbeConfig_ProbeDownloadStatus = "downloadNoResponseFromServer"
RMON2MIB_ProbeConfig_ProbeDownloadStatus_downloadChecksumError RMON2MIB_ProbeConfig_ProbeDownloadStatus = "downloadChecksumError"
RMON2MIB_ProbeConfig_ProbeDownloadStatus_downloadIncompatibleImage RMON2MIB_ProbeConfig_ProbeDownloadStatus = "downloadIncompatibleImage"
RMON2MIB_ProbeConfig_ProbeDownloadStatus_downloadTftpFileNotFound RMON2MIB_ProbeConfig_ProbeDownloadStatus = "downloadTftpFileNotFound"
RMON2MIB_ProbeConfig_ProbeDownloadStatus_downloadTftpAccessViolation RMON2MIB_ProbeConfig_ProbeDownloadStatus = "downloadTftpAccessViolation"
)
// RMON2MIB_ProbeConfig_ProbeResetControl represents running(1).
type RMON2MIB_ProbeConfig_ProbeResetControl string
const (
RMON2MIB_ProbeConfig_ProbeResetControl_running RMON2MIB_ProbeConfig_ProbeResetControl = "running"
RMON2MIB_ProbeConfig_ProbeResetControl_warmBoot RMON2MIB_ProbeConfig_ProbeResetControl = "warmBoot"
RMON2MIB_ProbeConfig_ProbeResetControl_coldBoot RMON2MIB_ProbeConfig_ProbeResetControl = "coldBoot"
)
// RMON2MIB_ProtocolDirTable
// This table lists the protocols that this agent has the
// capability to decode and count. There is one entry in this
// table for each such protocol. These protocols represent
// different network layer, transport layer, and higher-layer
// protocols. The agent should boot up with this table
// preconfigured with those protocols that it knows about and
// wishes to monitor. Implementations are strongly encouraged to
// support protocols higher than the network layer (at least for
// the protocol distribution group), even for implementations
// that don't support the application layer groups.
type RMON2MIB_ProtocolDirTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// A conceptual row in the protocolDirTable. An example of the indexing of
// this entry is protocolDirLocalIndex.8.0.0.0.1.0.0.8.0.2.0.0, which is the
// encoding of a length of 8, followed by 8 subids encoding the protocolDirID
// of 1.2048, followed by a length of 2 and the 2 subids encoding zero-valued
// parameters. The type is slice of
// RMON2MIB_ProtocolDirTable_ProtocolDirEntry.
ProtocolDirEntry []*RMON2MIB_ProtocolDirTable_ProtocolDirEntry
}
func (protocolDirTable *RMON2MIB_ProtocolDirTable) GetEntityData() *types.CommonEntityData {
protocolDirTable.EntityData.YFilter = protocolDirTable.YFilter
protocolDirTable.EntityData.YangName = "protocolDirTable"
protocolDirTable.EntityData.BundleName = "cisco_ios_xe"
protocolDirTable.EntityData.ParentYangName = "RMON2-MIB"
protocolDirTable.EntityData.SegmentPath = "protocolDirTable"
protocolDirTable.EntityData.AbsolutePath = "RMON2-MIB:RMON2-MIB/" + protocolDirTable.EntityData.SegmentPath
protocolDirTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
protocolDirTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
protocolDirTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
protocolDirTable.EntityData.Children = types.NewOrderedMap()
protocolDirTable.EntityData.Children.Append("protocolDirEntry", types.YChild{"ProtocolDirEntry", nil})
for i := range protocolDirTable.ProtocolDirEntry {
protocolDirTable.EntityData.Children.Append(types.GetSegmentPath(protocolDirTable.ProtocolDirEntry[i]), types.YChild{"ProtocolDirEntry", protocolDirTable.ProtocolDirEntry[i]})
}
protocolDirTable.EntityData.Leafs = types.NewOrderedMap()
protocolDirTable.EntityData.YListKeys = []string {}
return &(protocolDirTable.EntityData)
}
// RMON2MIB_ProtocolDirTable_ProtocolDirEntry
// A conceptual row in the protocolDirTable.
//
// An example of the indexing of this entry is
// protocolDirLocalIndex.8.0.0.0.1.0.0.8.0.2.0.0, which is the
// encoding of a length of 8, followed by 8 subids encoding the
// protocolDirID of 1.2048, followed by a length of 2 and the
// 2 subids encoding zero-valued parameters.
type RMON2MIB_ProtocolDirTable_ProtocolDirEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. A unique identifier for a particular protocol.
// Standard identifiers will be defined in a manner such that they can often
// be used as specifications for new protocols - i.e. a tree-structured
// assignment mechanism that matches the protocol encapsulation `tree' and
// which has algorithmic assignment mechanisms for certain subtrees. See RFC
// XXX for more details. Despite the algorithmic mechanism, the probe will
// only place entries in here for those protocols it chooses to collect. In
// other words, it need not populate this table with all of the possible
// ethernet protocol types, nor need it create them on the fly when it sees
// them. Whether or not it does these things is a matter of product
// definition (cost/benefit, usability), and is up to the designer of the
// product. If an entry is written to this table with a protocolDirID that
// the agent doesn't understand, either directly or algorithmically, the SET
// request will be rejected with an inconsistentName or badValue (for SNMPv1)
// error. The type is string.
ProtocolDirID interface{}
// This attribute is a key. A set of parameters for the associated
// protocolDirID. See the associated RMON2 Protocol Identifiers document for a
// description of the possible parameters. There will be one octet in this
// string for each sub-identifier in the protocolDirID, and the parameters
// will appear here in the same order as the associated sub-identifiers appear
// in the protocolDirID. Every node in the protocolDirID tree has a
// different, optional set of parameters defined (that is, the definition of
// parameters for a node is optional). The proper parameter value for each
// node is included in this string. Note that the inclusion of a parameter
// value in this string for each node is not optional - what is optional is
// that a node may have no parameters defined, in which case the parameter
// field for that node will be zero. The type is string.
ProtocolDirParameters interface{}
// The locally arbitrary, but unique identifier associated with this
// protocolDir entry. The value for each supported protocol must remain
// constant at least from one re-initialization of the entity's network
// management system to the next re-initialization, except that if a protocol
// is deleted and re-created, it must be re-created with a new value that has
// not been used since the last re-initialization. The specific value is
// meaningful only within a given SNMP entity. A protocolDirLocalIndex must
// not be re-used until the next agent-restart in the event the protocol
// directory entry is deleted. The type is interface{} with range:
// 1..2147483647.
ProtocolDirLocalIndex interface{}
// A textual description of the protocol encapsulation. A probe may choose to
// describe only a subset of the entire encapsulation (e.g. only the highest
// layer). This object is intended for human consumption only. This object
// may not be modified if the associated protocolDirStatus object is equal to
// active(1). The type is string with length: 1..64.
ProtocolDirDescr interface{}
// This object describes 2 attributes of this protocol directory entry. The
// presence or absence of the `extensible' bit describes whether or not this
// protocol directory entry can be extended by the user by creating
// protocol directory entries which are children of this protocol. An example
// of an entry that will often allow extensibility is `ip.udp'. The probe may
// automatically populate some children of this node such as `ip.udp.snmp' and
// `ip.udp.dns'. A probe administrator or user may also populate additional
// children via remote SNMP requests that create entries in this table. When
// a child node is added for a protocol for which the probe has no built in
// support, extending a parent node (for which the probe does have built in
// support), that child node is not extendible. This is termed `limited
// extensibility'. When a child node is added through this extensibility
// mechanism, the values of protocolDirLocalIndex and protocolDirType shall be
// assigned by the agent. The other objects in the entry will be assigned by
// the manager who is creating the new entry. This object also describes
// whether or not this agent can recognize addresses for this protocol, should
// it be a network level protocol. That is, while a probe may be able to
// recognize packets of a particular network layer protocol and count them, it
// takes additional logic to be able to recognize the addresses in this
// protocol and to populate network layer or application layer tables with the
// addresses in this protocol. If this bit is set, the agent will recognize
// network layer addresses for this protoocl and populate the network and
// application layer host and matrix tables with these protocols. Note that
// when an entry is created, the agent will supply values for the bits that
// match the capabilities of the agent with respect to this protocol. Note
// that since row creations usually exercise the limited extensibility
// feature, these bits will usually be set to zero. The type is string with
// length: 1..1.
ProtocolDirType interface{}
// This object describes and configures the probe's support for address
// mapping for this protocol. When the probe creates entries in this table
// for all protocols that it understands, it will set the entry to
// notSupported(1) if it doesn't have the capability to perform address
// mapping for the protocol or if this protocol is not a network-layer
// protocol. When an entry is created in this table by a management operation
// as part of the limited extensibility feature, the probe must set this value
// to notSupported(1), because limited extensibility of the protocolDirTable
// does not extend to interpreting addresses of the extended protocols. If
// the value of this object is notSupported(1), the probe will not perform
// address mapping for this protocol and shall not allow this object to be
// changed to any other value. If the value of this object is supportedOn(3),
// the probe supports address mapping for this protocol and is configured to
// perform address mapping for this protocol for all
// addressMappingControlEntries and all interfaces. If the value of this
// object is supportedOff(2), the probe supports address mapping for this
// protocol but is configured to not perform address mapping for this protocol
// for any addressMappingControlEntries and all interfaces. Whenever this
// value changes from supportedOn(3) to supportedOff(2), the probe shall
// delete all related entries in the addressMappingTable. The type is
// ProtocolDirAddressMapConfig.
ProtocolDirAddressMapConfig interface{}
// This object describes and configures the probe's support for the network
// layer and application layer host tables for this protocol. When the probe
// creates entries in this table for all protocols that it understands, it
// will set the entry to notSupported(1) if it doesn't have the capability to
// track the nlHostTable for this protocol or if the alHostTable is
// implemented but doesn't have the capability to track this protocol. Note
// that if the alHostTable is implemented, the probe may only support a
// protocol if it is supported in both the nlHostTable and the alHostTable.
// If the associated protocolDirType object has the addressRecognitionCapable
// bit set, then this is a network layer protocol for which the probe
// recognizes addresses, and thus the probe will populate the nlHostTable and
// alHostTable with addresses it discovers for this protocol. If the value of
// this object is notSupported(1), the probe will not track the nlHostTable or
// alHostTable for this protocol and shall not allow this object to be changed
// to any other value. If the value of this object is supportedOn(3), the
// probe supports tracking of the nlHostTable and alHostTable for this
// protocol and is configured to track both tables for this protocol for all
// control entries and all interfaces. If the value of this object is
// supportedOff(2), the probe supports tracking of the nlHostTable and
// alHostTable for this protocol but is configured to not track these tables
// for any control entries or interfaces. Whenever this value changes from
// supportedOn(3) to supportedOff(2), the probe shall delete all related
// entries in the nlHostTable and alHostTable. Note that since each
// alHostEntry references 2 protocol directory entries, one for the network
// address and one for the type of the highest protocol recognized, that an
// entry will only be created in that table if this value is supportedOn(3)
// for both protocols. The type is ProtocolDirHostConfig.
ProtocolDirHostConfig interface{}
// This object describes and configures the probe's support for the network
// layer and application layer matrix tables for this protocol. When the
// probe creates entries in this table for all protocols that it understands,
// it will set the entry to notSupported(1) if it doesn't have the capability
// to track the nlMatrixTables for this protocol or if the alMatrixTables are
// implemented but don't have the capability to track this protocol. Note
// that if the alMatrix tables are implemented, the probe may only support a
// protocol if it is supported in the the both of the nlMatrixTables and both
// of the alMatrixTables. If the associated protocolDirType object has
// the addressRecognitionCapable bit set, then this is a network layer
// protocol for which the probe recognizes addresses, and thus the probe will
// populate both of the nlMatrixTables and both of the alMatrixTables with
// addresses it discovers for this protocol. If the value of this object is
// notSupported(1), the probe will not track either of the nlMatrixTables or
// the alMatrixTables for this protocol and shall not allow this object to be
// changed to any other value. If the value of this object is supportedOn(3),
// the probe supports tracking of both of the nlMatrixTables and (if
// implemented) both of the alMatrixTables for this protocol and is configured
// to track these tables for this protocol for all control entries and all
// interfaces. If the value of this object is supportedOff(2), the probe
// supports tracking of both of the nlMatrixTables and (if implemented) both
// of the alMatrixTables for this protocol but is configured to not track
// these tables for this protocol for any control entries or interfaces.
// Whenever this value changes from supportedOn(3) to supportedOff(2), the
// probe shall delete all related entries in the nlMatrixTables and the
// alMatrixTables. Note that since each alMatrixEntry references 2 protocol
// directory entries, one for the network address and one for the type of the
// highest protocol recognized, that an entry will only be created in that
// table if this value is supportedOn(3) for both protocols. The type is
// ProtocolDirMatrixConfig.
ProtocolDirMatrixConfig interface{}
// The entity that configured this entry and is therefore using the resources
// assigned to it. The type is string with length: 0..127.
ProtocolDirOwner interface{}
// The status of this protocol directory entry. An entry may not exist in the
// active state unless all objects in the entry have an appropriate
// value. If this object is not equal to active(1), all associated entries in
// the nlHostTable, nlMatrixSDTable, nlMatrixDSTable, alHostTable,
// alMatrixSDTable, and alMatrixDSTable shall be deleted. The type is
// RowStatus.
ProtocolDirStatus interface{}
}
func (protocolDirEntry *RMON2MIB_ProtocolDirTable_ProtocolDirEntry) GetEntityData() *types.CommonEntityData {
protocolDirEntry.EntityData.YFilter = protocolDirEntry.YFilter
protocolDirEntry.EntityData.YangName = "protocolDirEntry"
protocolDirEntry.EntityData.BundleName = "cisco_ios_xe"
protocolDirEntry.EntityData.ParentYangName = "protocolDirTable"
protocolDirEntry.EntityData.SegmentPath = "protocolDirEntry" + types.AddKeyToken(protocolDirEntry.ProtocolDirID, "protocolDirID") + types.AddKeyToken(protocolDirEntry.ProtocolDirParameters, "protocolDirParameters")
protocolDirEntry.EntityData.AbsolutePath = "RMON2-MIB:RMON2-MIB/protocolDirTable/" + protocolDirEntry.EntityData.SegmentPath
protocolDirEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
protocolDirEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
protocolDirEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
protocolDirEntry.EntityData.Children = types.NewOrderedMap()
protocolDirEntry.EntityData.Leafs = types.NewOrderedMap()
protocolDirEntry.EntityData.Leafs.Append("protocolDirID", types.YLeaf{"ProtocolDirID", protocolDirEntry.ProtocolDirID})
protocolDirEntry.EntityData.Leafs.Append("protocolDirParameters", types.YLeaf{"ProtocolDirParameters", protocolDirEntry.ProtocolDirParameters})
protocolDirEntry.EntityData.Leafs.Append("protocolDirLocalIndex", types.YLeaf{"ProtocolDirLocalIndex", protocolDirEntry.ProtocolDirLocalIndex})
protocolDirEntry.EntityData.Leafs.Append("protocolDirDescr", types.YLeaf{"ProtocolDirDescr", protocolDirEntry.ProtocolDirDescr})
protocolDirEntry.EntityData.Leafs.Append("protocolDirType", types.YLeaf{"ProtocolDirType", protocolDirEntry.ProtocolDirType})
protocolDirEntry.EntityData.Leafs.Append("protocolDirAddressMapConfig", types.YLeaf{"ProtocolDirAddressMapConfig", protocolDirEntry.ProtocolDirAddressMapConfig})
protocolDirEntry.EntityData.Leafs.Append("protocolDirHostConfig", types.YLeaf{"ProtocolDirHostConfig", protocolDirEntry.ProtocolDirHostConfig})
protocolDirEntry.EntityData.Leafs.Append("protocolDirMatrixConfig", types.YLeaf{"ProtocolDirMatrixConfig", protocolDirEntry.ProtocolDirMatrixConfig})
protocolDirEntry.EntityData.Leafs.Append("protocolDirOwner", types.YLeaf{"ProtocolDirOwner", protocolDirEntry.ProtocolDirOwner})
protocolDirEntry.EntityData.Leafs.Append("protocolDirStatus", types.YLeaf{"ProtocolDirStatus", protocolDirEntry.ProtocolDirStatus})
protocolDirEntry.EntityData.YListKeys = []string {"ProtocolDirID", "ProtocolDirParameters"}
return &(protocolDirEntry.EntityData)
}
// RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirAddressMapConfig represents the addressMappingTable.
type RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirAddressMapConfig string
const (
RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirAddressMapConfig_notSupported RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirAddressMapConfig = "notSupported"
RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirAddressMapConfig_supportedOff RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirAddressMapConfig = "supportedOff"
RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirAddressMapConfig_supportedOn RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirAddressMapConfig = "supportedOn"
)
// RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirHostConfig represents for both protocols.
type RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirHostConfig string
const (
RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirHostConfig_notSupported RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirHostConfig = "notSupported"
RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirHostConfig_supportedOff RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirHostConfig = "supportedOff"
RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirHostConfig_supportedOn RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirHostConfig = "supportedOn"
)
// RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirMatrixConfig represents for both protocols.
type RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirMatrixConfig string
const (
RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirMatrixConfig_notSupported RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirMatrixConfig = "notSupported"
RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirMatrixConfig_supportedOff RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirMatrixConfig = "supportedOff"
RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirMatrixConfig_supportedOn RMON2MIB_ProtocolDirTable_ProtocolDirEntry_ProtocolDirMatrixConfig = "supportedOn"
)
// RMON2MIB_ProtocolDistControlTable
// Controls the setup of protocol type distribution statistics
// tables.
//
// Implementations are encouraged to add an entry per monitored
// interface upon initialization so that a default collection
// of protocol statistics is available.
//
// Rationale:
// This table controls collection of very basic statistics
// for any or all of the protocols detected on a given interface.
// An NMS can use this table to quickly determine bandwidth
// allocation utilized by different protocols.
//
// A media-specific statistics collection could also
// be configured (e.g. etherStats, trPStats) to easily obtain
// total frame, octet, and droppedEvents for the same
// interface.
type RMON2MIB_ProtocolDistControlTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// A conceptual row in the protocolDistControlTable. An example of the
// indexing of this entry is protocolDistControlDroppedFrames.7. The type
// is slice of RMON2MIB_ProtocolDistControlTable_ProtocolDistControlEntry.
ProtocolDistControlEntry []*RMON2MIB_ProtocolDistControlTable_ProtocolDistControlEntry
}
func (protocolDistControlTable *RMON2MIB_ProtocolDistControlTable) GetEntityData() *types.CommonEntityData {
protocolDistControlTable.EntityData.YFilter = protocolDistControlTable.YFilter
protocolDistControlTable.EntityData.YangName = "protocolDistControlTable"
protocolDistControlTable.EntityData.BundleName = "cisco_ios_xe"
protocolDistControlTable.EntityData.ParentYangName = "RMON2-MIB"
protocolDistControlTable.EntityData.SegmentPath = "protocolDistControlTable"
protocolDistControlTable.EntityData.AbsolutePath = "RMON2-MIB:RMON2-MIB/" + protocolDistControlTable.EntityData.SegmentPath
protocolDistControlTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
protocolDistControlTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
protocolDistControlTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
protocolDistControlTable.EntityData.Children = types.NewOrderedMap()
protocolDistControlTable.EntityData.Children.Append("protocolDistControlEntry", types.YChild{"ProtocolDistControlEntry", nil})
for i := range protocolDistControlTable.ProtocolDistControlEntry {
protocolDistControlTable.EntityData.Children.Append(types.GetSegmentPath(protocolDistControlTable.ProtocolDistControlEntry[i]), types.YChild{"ProtocolDistControlEntry", protocolDistControlTable.ProtocolDistControlEntry[i]})
}
protocolDistControlTable.EntityData.Leafs = types.NewOrderedMap()
protocolDistControlTable.EntityData.YListKeys = []string {}
return &(protocolDistControlTable.EntityData)
}
// RMON2MIB_ProtocolDistControlTable_ProtocolDistControlEntry
// A conceptual row in the protocolDistControlTable.
//
// An example of the indexing of this entry is
//
//
//
//
//
// protocolDistControlDroppedFrames.7
type RMON2MIB_ProtocolDistControlTable_ProtocolDistControlEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. A unique index for this protocolDistControlEntry.
// The type is interface{} with range: 1..65535.
ProtocolDistControlIndex interface{}
// The source of data for the this protocol distribution. The statistics in
// this group reflect all packets on the local network segment attached to the
// identified interface. This object may not be modified if the associated
// protocolDistControlStatus object is equal to active(1). The type is string
// with pattern:
// (([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))(\.(0|([1-9]\d*)))*.
ProtocolDistControlDataSource interface{}
// The total number of frames which were received by the probe and therefore
// not accounted for in the *StatsDropEvents, but for which the probe chose
// not to count for this entry for whatever reason. Most often, this event
// occurs when the probe is out of some resources and decides to shed load
// from this collection. This count does not include packets that were
// not counted because they had MAC-layer errors. Note that, unlike the
// dropEvents counter, this number is the exact number of frames dropped. The
// type is interface{} with range: 0..4294967295.
ProtocolDistControlDroppedFrames interface{}
// The value of sysUpTime when this control entry was last activated. This can
// be used by the management station to ensure that the table has not been
// deleted and recreated between polls. The type is interface{} with range:
// 0..4294967295.
ProtocolDistControlCreateTime interface{}
// The entity that configured this entry and is therefore using the resources
// assigned to it. The type is string with length: 0..127.
ProtocolDistControlOwner interface{}
// The status of this row. An entry may not exist in the active state unless
// all objects in the entry have an appropriate value. If this object is not
// equal to active(1), all associated entries in the protocolDistStatsTable
// shall be deleted. The type is RowStatus.
ProtocolDistControlStatus interface{}
}
func (protocolDistControlEntry *RMON2MIB_ProtocolDistControlTable_ProtocolDistControlEntry) GetEntityData() *types.CommonEntityData {
protocolDistControlEntry.EntityData.YFilter = protocolDistControlEntry.YFilter
protocolDistControlEntry.EntityData.YangName = "protocolDistControlEntry"
protocolDistControlEntry.EntityData.BundleName = "cisco_ios_xe"
protocolDistControlEntry.EntityData.ParentYangName = "protocolDistControlTable"
protocolDistControlEntry.EntityData.SegmentPath = "protocolDistControlEntry" + types.AddKeyToken(protocolDistControlEntry.ProtocolDistControlIndex, "protocolDistControlIndex")
protocolDistControlEntry.EntityData.AbsolutePath = "RMON2-MIB:RMON2-MIB/protocolDistControlTable/" + protocolDistControlEntry.EntityData.SegmentPath
protocolDistControlEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
protocolDistControlEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
protocolDistControlEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
protocolDistControlEntry.EntityData.Children = types.NewOrderedMap()
protocolDistControlEntry.EntityData.Leafs = types.NewOrderedMap()
protocolDistControlEntry.EntityData.Leafs.Append("protocolDistControlIndex", types.YLeaf{"ProtocolDistControlIndex", protocolDistControlEntry.ProtocolDistControlIndex})
protocolDistControlEntry.EntityData.Leafs.Append("protocolDistControlDataSource", types.YLeaf{"ProtocolDistControlDataSource", protocolDistControlEntry.ProtocolDistControlDataSource})
protocolDistControlEntry.EntityData.Leafs.Append("protocolDistControlDroppedFrames", types.YLeaf{"ProtocolDistControlDroppedFrames", protocolDistControlEntry.ProtocolDistControlDroppedFrames})
protocolDistControlEntry.EntityData.Leafs.Append("protocolDistControlCreateTime", types.YLeaf{"ProtocolDistControlCreateTime", protocolDistControlEntry.ProtocolDistControlCreateTime})
protocolDistControlEntry.EntityData.Leafs.Append("protocolDistControlOwner", types.YLeaf{"ProtocolDistControlOwner", protocolDistControlEntry.ProtocolDistControlOwner})
protocolDistControlEntry.EntityData.Leafs.Append("protocolDistControlStatus", types.YLeaf{"ProtocolDistControlStatus", protocolDistControlEntry.ProtocolDistControlStatus})
protocolDistControlEntry.EntityData.YListKeys = []string {"ProtocolDistControlIndex"}
return &(protocolDistControlEntry.EntityData)
}
// RMON2MIB_ProtocolDistStatsTable
// An entry is made in this table for every protocol in the
//
//
//
//
//
// protocolDirTable which has been seen in at least one packet.
// Counters are updated in this table for every protocol type
// that is encountered when parsing a packet, but no counters are
// updated for packets with MAC-layer errors.
//
// Note that if a protocolDirEntry is deleted, all associated
// entries in this table are removed.
type RMON2MIB_ProtocolDistStatsTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// A conceptual row in the protocolDistStatsTable. The index is composed of
// the protocolDistControlIndex of the associated protocolDistControlEntry
// followed by the protocolDirLocalIndex of the associated protocol that this
// entry represents. In other words, the index identifies the protocol
// distribution an entry is a part of as well as the particular protocol that
// it represents. An example of the indexing of this entry is
// protocolDistStatsPkts.1.18. The type is slice of
// RMON2MIB_ProtocolDistStatsTable_ProtocolDistStatsEntry.
ProtocolDistStatsEntry []*RMON2MIB_ProtocolDistStatsTable_ProtocolDistStatsEntry
}
func (protocolDistStatsTable *RMON2MIB_ProtocolDistStatsTable) GetEntityData() *types.CommonEntityData {
protocolDistStatsTable.EntityData.YFilter = protocolDistStatsTable.YFilter
protocolDistStatsTable.EntityData.YangName = "protocolDistStatsTable"
protocolDistStatsTable.EntityData.BundleName = "cisco_ios_xe"
protocolDistStatsTable.EntityData.ParentYangName = "RMON2-MIB"
protocolDistStatsTable.EntityData.SegmentPath = "protocolDistStatsTable"
protocolDistStatsTable.EntityData.AbsolutePath = "RMON2-MIB:RMON2-MIB/" + protocolDistStatsTable.EntityData.SegmentPath
protocolDistStatsTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
protocolDistStatsTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
protocolDistStatsTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
protocolDistStatsTable.EntityData.Children = types.NewOrderedMap()
protocolDistStatsTable.EntityData.Children.Append("protocolDistStatsEntry", types.YChild{"ProtocolDistStatsEntry", nil})
for i := range protocolDistStatsTable.ProtocolDistStatsEntry {
protocolDistStatsTable.EntityData.Children.Append(types.GetSegmentPath(protocolDistStatsTable.ProtocolDistStatsEntry[i]), types.YChild{"ProtocolDistStatsEntry", protocolDistStatsTable.ProtocolDistStatsEntry[i]})
}
protocolDistStatsTable.EntityData.Leafs = types.NewOrderedMap()
protocolDistStatsTable.EntityData.YListKeys = []string {}
return &(protocolDistStatsTable.EntityData)
}