forked from CiscoDevNet/ydk-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cisco_dot3_oam_mib.go
1557 lines (1377 loc) · 100 KB
/
cisco_dot3_oam_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 the new Ethernet OAM features
// introduced by the Ethernet in the First Mile task force (IEEE
// 802.3ah). The functionality presented here is based on IEEE
// 802.3ah [802.3ah], released in October, 2004. [802.3ah] was
// prepared as an addendum to the standing version of IEEE 802.3
// [802.3-2002] at the time. Since then, [802.3ah] has been
// merged into the base IEEE 802.3 specification in [802.3-2005].
//
// In particular, this MIB focuses on the new OAM functions
// introduced in Clause 57 of [802.3ah]. The OAM functionality
// of Clause 57 is controlled by new management attributes
// introduced in Clause 30 of [802.3ah]. The OAM functions are
// not specific to any particular Ethernet physical layer, and
// can be generically applied to any Ethernet interface of
// [802.3-2002].
//
// An Ethernet OAM protocol data unit is a valid Ethernet frame
// with a destination MAC address equal to the reserved MAC
// address for Slow Protocols (See 43B of [802.3ah]), a
// lengthOrType field equal to the reserved type for Slow
// Protocols, and a Slow Protocols subtype equal to that of the
// subtype reserved for Ethernet OAM. OAMPDU is used throughout
// this document as an abbreviation for Ethernet OAM protocol
// data unit.
//
// The following reference is used throughout this MIB module:
//
// [802.3ah] refers to:
// IEEE Std 802.3ah-2004: 'Draft amendment to -
// Information technology - Telecommunications and
// information exchange between systems - Local and
// metropolitan are networks - Specific requirements - Part
// 3: Carrier sense multiple access with collision detection
// (CSMA/CD) access method and physical layer specifications
// - Media Access Control Parameters, Physical Layers and
// Management Parameters for subscriber access networks',
// October 2004.
//
// [802.3-2002] refers to:
// IEEE Std 802.3-2002:
// 'Information technology - Telecommunications and
// information exchange between systems - Local and
// metropolitan are networks - Specific requirements - Part
// 3: Carrier sense multiple access with collision detection
// (CSMA/CD) access method and physical layer specifications
// - Media Access Control Parameters, Physical Layers and
// Management Parameters for subscriber access networks',
// March 2002.
//
// [802.3-2005] refers to:
// IEEE Std 802.3-2002:
// 'Information technology - Telecommunications and
// information exchange between systems - Local and
// metropolitan are networks - Specific requirements - Part
// 3: Carrier sense multiple access with collision detection
// (CSMA/CD) access method and physical layer specifications
// - Media Access Control Parameters, Physical Layers and
// Management Parameters for subscriber access networks',
// December 2005.
//
// [802-2001] refers to:
// 'IEEE Standard for LAN/MAN (Local Area
// Network/Metropolitan Area Network): Overview and
// Architecture', IEEE 802, June 2001.
package cisco_dot3_oam_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 cisco_dot3_oam_mib"))
ydk.RegisterEntity("{urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB CISCO-DOT3-OAM-MIB}", reflect.TypeOf(CISCODOT3OAMMIB{}))
ydk.RegisterEntity("CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB", reflect.TypeOf(CISCODOT3OAMMIB{}))
}
// CISCODOT3OAMMIB
type CISCODOT3OAMMIB struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// This table contains the primary controls and status for the OAM
// capabilities of an Ethernet like interface. There will be one row in this
// table for each Ethernet like interface in the system that supports the OAM
// functions defined in [802.3ah].
Cdot3OamTable CISCODOT3OAMMIB_Cdot3OamTable
// This table contains information about the OAM peer for a particular
// Ethernet like interface. OAM entities communicate with a single OAM peer
// entity on Ethernet links on which OAM is enabled and operating properly.
// There is one entry in this table for each entry in the cdot3OamTable for
// which information on the peer OAM entity is available. .
Cdot3OamPeerTable CISCODOT3OAMMIB_Cdot3OamPeerTable
// This table contains controls for the loopback state of the local link as
// well as indicating the status of the loopback function. There is one entry
// in this table for each entry in cdot3OamTable that supports loopback
// functionality (where cdot3OamFunctionsSupported includes the
// loopbackSupport bit set). Loopback can be used to place the remote OAM
// entity in a state where every received frame (except OAMPDUs) is echoed
// back over the same interface on which they were received. In this state,
// at the remote entity, 'normal' traffic is disabled as only the looped back
// frames are transmitted on the interface. Loopback is thus an intrusive
// operation that prohibits normal data flow and should be used accordingly.
// .
Cdot3OamLoopbackTable CISCODOT3OAMMIB_Cdot3OamLoopbackTable
// This table contains statistics for the OAM function on a particular
// Ethernet like interface. There is an entry in the table for every entry in
// the cdot3OamTable. The counters in this table are defined as 32-bit
// entries to match the counter size as defined in [802.3ah]. Given the OAM
// protocol is a slow protocol, the counters increment at a slow rate. .
Cdot3OamStatsTable CISCODOT3OAMMIB_Cdot3OamStatsTable
// Ethernet OAM includes the ability to generate and receive Event
// Notification OAMPDUs to indicate various link problems. This table contains
// the mechanisms to enable Event Notifications and configure the thresholds
// to generate the standard Ethernet OAM events. There is one entry in the
// table for every entry in cdot3OamTable that supports OAM events (where
// cdot3OamFunctionsSupported includes the eventSupport bit set). The values
// in the table are maintained across changes to cdot3OamOperStatus. The
// standard threshold crossing events are: - Errored Symbol Period Event.
// Generated when the number of symbol errors exceeds a threshold within a
// given window defined by a number of symbols (for example, 1,000
// symbols out of 1,000,000 had errors). - Errored Frame Period Event.
// Generated when the number of frame errors exceeds a threshold within a
// given window defined by a number of frames (for example, 10 frames out
// of 1000 had errors). - Errored Frame Event. Generated when the number
// of frame errors exceeds a threshold within a given window defined
// by a period of time (for example, 10 frames in 1 second had errors).
// - Errored Frame Seconds Summary Event. Generated when the number of
// errored frame seconds exceeds a threshold within a given time period
// (for example, 10 errored frame seconds within the last 100 seconds).
// An errored frame second is defined as a 1 second interval which had >0
// frame errors. There are other events (dying gasp, critical events) that
// are not threshold crossing events but which can be enabled/disabled via
// this table. .
Cdot3OamEventConfigTable CISCODOT3OAMMIB_Cdot3OamEventConfigTable
// This table records a history of the events that have occurred at the
// Ethernet OAM level. These events can include locally detected events,
// which may result in locally generated OAMPDUs, and remotely detected
// events, which are detected by the OAM peer entity and signaled to the local
// entity via Ethernet OAM. Ethernet OAM events can be signaled by Event
// Notification OAMPDUs or by the flags field in any OAMPDU. This table
// contains both threshold crossing events and non-threshold crossing events.
// The parameters for the threshold window, threshold value, and actual value
// (cdot3OamEventLogWindowXX, cdot3OamEventLogThresholdXX,
// cdot3OamEventLogValue) are only applicable to threshold crossing events,
// and are returned as all F's (2^32 - 1) for non-threshold crossing events.
// Entries in the table are automatically created when such events are
// detected. The size of the table is implementation dependent. When the
// table reaches its maximum size, older entries are automatically deleted to
// make room for newer entries. .
Cdot3OamEventLogTable CISCODOT3OAMMIB_Cdot3OamEventLogTable
}
func (cISCODOT3OAMMIB *CISCODOT3OAMMIB) GetEntityData() *types.CommonEntityData {
cISCODOT3OAMMIB.EntityData.YFilter = cISCODOT3OAMMIB.YFilter
cISCODOT3OAMMIB.EntityData.YangName = "CISCO-DOT3-OAM-MIB"
cISCODOT3OAMMIB.EntityData.BundleName = "cisco_ios_xe"
cISCODOT3OAMMIB.EntityData.ParentYangName = "CISCO-DOT3-OAM-MIB"
cISCODOT3OAMMIB.EntityData.SegmentPath = "CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB"
cISCODOT3OAMMIB.EntityData.AbsolutePath = cISCODOT3OAMMIB.EntityData.SegmentPath
cISCODOT3OAMMIB.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cISCODOT3OAMMIB.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cISCODOT3OAMMIB.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cISCODOT3OAMMIB.EntityData.Children = types.NewOrderedMap()
cISCODOT3OAMMIB.EntityData.Children.Append("cdot3OamTable", types.YChild{"Cdot3OamTable", &cISCODOT3OAMMIB.Cdot3OamTable})
cISCODOT3OAMMIB.EntityData.Children.Append("cdot3OamPeerTable", types.YChild{"Cdot3OamPeerTable", &cISCODOT3OAMMIB.Cdot3OamPeerTable})
cISCODOT3OAMMIB.EntityData.Children.Append("cdot3OamLoopbackTable", types.YChild{"Cdot3OamLoopbackTable", &cISCODOT3OAMMIB.Cdot3OamLoopbackTable})
cISCODOT3OAMMIB.EntityData.Children.Append("cdot3OamStatsTable", types.YChild{"Cdot3OamStatsTable", &cISCODOT3OAMMIB.Cdot3OamStatsTable})
cISCODOT3OAMMIB.EntityData.Children.Append("cdot3OamEventConfigTable", types.YChild{"Cdot3OamEventConfigTable", &cISCODOT3OAMMIB.Cdot3OamEventConfigTable})
cISCODOT3OAMMIB.EntityData.Children.Append("cdot3OamEventLogTable", types.YChild{"Cdot3OamEventLogTable", &cISCODOT3OAMMIB.Cdot3OamEventLogTable})
cISCODOT3OAMMIB.EntityData.Leafs = types.NewOrderedMap()
cISCODOT3OAMMIB.EntityData.YListKeys = []string {}
return &(cISCODOT3OAMMIB.EntityData)
}
// CISCODOT3OAMMIB_Cdot3OamTable
// This table contains the primary controls and status for the
// OAM capabilities of an Ethernet like interface. There will be
// one row in this table for each Ethernet like interface in the
// system that supports the OAM functions defined in [802.3ah].
type CISCODOT3OAMMIB_Cdot3OamTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An entry in the table, containing information on the Ethernet OAM function
// for a single Ethernet like interface. Entries in the table are created
// automatically for each interface supporting Ethernet OAM. The status of the
// row entry can be determined from cdot3OamOperStatus. A cdot3OamEntry is
// indexed in the cdot3OamTable by the ifIndex object of the Interfaces MIB.
// . The type is slice of CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry.
Cdot3OamEntry []*CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry
}
func (cdot3OamTable *CISCODOT3OAMMIB_Cdot3OamTable) GetEntityData() *types.CommonEntityData {
cdot3OamTable.EntityData.YFilter = cdot3OamTable.YFilter
cdot3OamTable.EntityData.YangName = "cdot3OamTable"
cdot3OamTable.EntityData.BundleName = "cisco_ios_xe"
cdot3OamTable.EntityData.ParentYangName = "CISCO-DOT3-OAM-MIB"
cdot3OamTable.EntityData.SegmentPath = "cdot3OamTable"
cdot3OamTable.EntityData.AbsolutePath = "CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/" + cdot3OamTable.EntityData.SegmentPath
cdot3OamTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cdot3OamTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cdot3OamTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cdot3OamTable.EntityData.Children = types.NewOrderedMap()
cdot3OamTable.EntityData.Children.Append("cdot3OamEntry", types.YChild{"Cdot3OamEntry", nil})
for i := range cdot3OamTable.Cdot3OamEntry {
cdot3OamTable.EntityData.Children.Append(types.GetSegmentPath(cdot3OamTable.Cdot3OamEntry[i]), types.YChild{"Cdot3OamEntry", cdot3OamTable.Cdot3OamEntry[i]})
}
cdot3OamTable.EntityData.Leafs = types.NewOrderedMap()
cdot3OamTable.EntityData.YListKeys = []string {}
return &(cdot3OamTable.EntityData)
}
// CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry
// An entry in the table, containing information on the Ethernet
// OAM function for a single Ethernet like interface. Entries in
// the table are created automatically for each interface
// supporting Ethernet OAM. The status of the row entry can be
// determined from cdot3OamOperStatus.
//
// A cdot3OamEntry is indexed in the cdot3OamTable by the ifIndex
// object of the Interfaces MIB.
type CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. The type is string with range: 1..2147483647.
// Refers to if_mib.IFMIB_IfTable_IfEntry_IfIndex
IfIndex interface{}
// This object is used to provision the default administrative OAM mode for
// this interface. This object represents the desired state of OAM for this
// interface. The cdot3OamAdminState always starts in the disabled(1) state
// until an explicit management action or configuration information retained
// by the system causes a transition to the enabled(2) state. When
// enabled(2), Ethernet OAM will attempt to operate over this interface. .
// The type is Cdot3OamAdminState.
Cdot3OamAdminState interface{}
// At initialization and failure conditions, two OAM entities on the same
// full-duplex Ethernet link begin a discovery phase to determine what OAM
// capabilities may be used on that link. The progress of this initialization
// is controlled by the OAM sublayer. This value is always
// disabled(1) if OAM is disabled on this interface via the
// cdot3OamAdminState. If the link has detected a fault and is transmitting
// OAMPDUs with a link fault indication, the value is linkFault(2). Also, if
// the interface is not operational (ifOperStatus is not up(1)), linkFault(2)
// is returned. Note that the object ifOperStatus may not be up(1) as a
// result of link failure or administrative action (ifAdminState being down(2)
// or testing(3)). The passiveWait(3) state is returned
// only by OAM entities in passive mode (cdot3OamMode) and reflects the state
// in which the OAM entity is waiting to see if the peer device is OAM
// capable. The activeSendLocal(4) value is used by active mode devices
// (cdot3OamMode) and reflects the OAM entity actively trying to discover
// whether the peer has OAM capability but has not yet made that
// determination. The state sendLocalAndRemote(5) reflects
// that the local OAM entity has discovered the peer but has not yet accepted
// or rejected the configuration of the peer. The local device can, for
// whatever reason, decide that the peer device is unacceptable and decline
// OAM peering. If the local OAM entity rejects the peer OAM entity, the
// state becomes oamPeeringLocallyRejected(7). If the OAM peering is allowed
// by the local device, the state moves to sendLocalAndRemoteOk(6). Note that
// both the sendLocalAndRemote(5) and oamPeeringLocallyRejected(7) states fall
// within the state SEND_LOCAL_REMOTE of the Discovery state diagram [802.3ah,
// Figure 57-5], with the difference being whether the local OAM client has
// actively rejected the peering or has just not indicated any decision yet.
// Whether a peering decision has been made is indicated via the local flags
// field in the OAMPDU (reflected in the aOAMLocalFlagsField of 30.3.6.1.10).
// If the remote OAM entity rejects the peering, the state becomes
// oamPeeringRemotelyRejected(8). Note that both the sendLocalAndRemoteOk(6)
// and oamPeeringRemotelyRejected(8) states fall within the state
// SEND_LOCAL_REMOTE_OK of the Discovery state diagram [802.3ah, Figure 57-5],
// with the difference being whether the remote OAM client has rejected the
// peering or has just not yet decided. This is indicated via the remote
// flags field in the OAM PDU (reflected in the aOAMRemoteFlagsField of
// 30.3.6.1.11). When the local OAM entity learns that
// both it and the remote OAM entity have accepted the peering, the state
// moves to operational(9) corresponding to the SEND_ANY state of the
// Discovery state diagram [802.3ah, Figure 57-5]. Since Ethernet OAM
// functions are not designed to work completely over half-duplex interfaces,
// the value nonOperHalfDuplex(10) is returned whenever Ethernet OAM is
// enabled (cdot3OamAdminState is enabled(1)) but the interface is in
// half-duplex operation. . The type is Cdot3OamOperStatus.
Cdot3OamOperStatus interface{}
// This object configures the mode of OAM operation for this Ethernet like
// interface. OAM on Ethernet interfaces may be in 'active' mode or 'passive'
// mode. These two modes differ in that active mode provides additional
// capabilities to initiate monitoring activities with the remote OAM peer
// entity, while passive mode generally waits for the peer to initiate OAM
// actions with it. As an example, an active OAM entity can put the remote
// OAM entity in a loopback state, where a passive OAM entity cannot. The
// default value of cdot3OamMode is dependent on the type of system on which
// this Ethernet like interface resides. The default value should be
// 'active(1)' unless it is known that this system should take on a
// subservient role to the other device connected over this interface.
// Changing this value results in incrementing the configuration revision
// field of locally generated OAMPDUs (30.3.6.1.12) and potentially re-doing
// the OAM discovery process if the cdot3OamOperStatus was already
// operational(9). . The type is Cdot3OamMode.
Cdot3OamMode interface{}
// The largest OAMPDU that the OAM entity supports. OAM entities exchange
// maximum OAMPDU sizes and negotiate to use the smaller of the two maximum
// OAMPDU sizes between the peers. This value is determined by the local
// implementation. . The type is interface{} with range: 64..1518. Units are
// octets.
Cdot3OamMaxOamPduSize interface{}
// The configuration revision of the OAM entity as reflected in the latest
// OAMPDU sent by the OAM entity. The config revision is used by OAM entities
// to indicate configuration changes have occurred which might require the
// peer OAM entity to re-evaluate whether OAM peering is allowed. . The type
// is interface{} with range: 0..65535.
Cdot3OamConfigRevision interface{}
// The OAM functions supported on this Ethernet like interface. OAM consists
// of separate functional sets beyond the basic discovery process which is
// always required. These functional groups can be supported independently by
// any implementation. These values are communicated to the peer via the local
// configuration field of Information OAMPDUs. Setting
// 'unidirectionalSupport(0)' indicates that the OAM entity supports the
// transmission of OAMPDUs on links that are operating in unidirectional mode
// (traffic flowing in one direction only). Setting 'loopbackSupport(1)'
// indicates the OAM entity can initiate and respond to loopback commands.
// Setting 'eventSupport(2)' indicates the OAM entity can send and receive
// Event Notification OAMPDUs. Setting 'variableSupport(3)' indicates the OAM
// entity can send and receive Variable Request and Response OAMPDUs. . The
// type is map[string]bool.
Cdot3OamFunctionsSupported interface{}
}
func (cdot3OamEntry *CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry) GetEntityData() *types.CommonEntityData {
cdot3OamEntry.EntityData.YFilter = cdot3OamEntry.YFilter
cdot3OamEntry.EntityData.YangName = "cdot3OamEntry"
cdot3OamEntry.EntityData.BundleName = "cisco_ios_xe"
cdot3OamEntry.EntityData.ParentYangName = "cdot3OamTable"
cdot3OamEntry.EntityData.SegmentPath = "cdot3OamEntry" + types.AddKeyToken(cdot3OamEntry.IfIndex, "ifIndex")
cdot3OamEntry.EntityData.AbsolutePath = "CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/cdot3OamTable/" + cdot3OamEntry.EntityData.SegmentPath
cdot3OamEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cdot3OamEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cdot3OamEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cdot3OamEntry.EntityData.Children = types.NewOrderedMap()
cdot3OamEntry.EntityData.Leafs = types.NewOrderedMap()
cdot3OamEntry.EntityData.Leafs.Append("ifIndex", types.YLeaf{"IfIndex", cdot3OamEntry.IfIndex})
cdot3OamEntry.EntityData.Leafs.Append("cdot3OamAdminState", types.YLeaf{"Cdot3OamAdminState", cdot3OamEntry.Cdot3OamAdminState})
cdot3OamEntry.EntityData.Leafs.Append("cdot3OamOperStatus", types.YLeaf{"Cdot3OamOperStatus", cdot3OamEntry.Cdot3OamOperStatus})
cdot3OamEntry.EntityData.Leafs.Append("cdot3OamMode", types.YLeaf{"Cdot3OamMode", cdot3OamEntry.Cdot3OamMode})
cdot3OamEntry.EntityData.Leafs.Append("cdot3OamMaxOamPduSize", types.YLeaf{"Cdot3OamMaxOamPduSize", cdot3OamEntry.Cdot3OamMaxOamPduSize})
cdot3OamEntry.EntityData.Leafs.Append("cdot3OamConfigRevision", types.YLeaf{"Cdot3OamConfigRevision", cdot3OamEntry.Cdot3OamConfigRevision})
cdot3OamEntry.EntityData.Leafs.Append("cdot3OamFunctionsSupported", types.YLeaf{"Cdot3OamFunctionsSupported", cdot3OamEntry.Cdot3OamFunctionsSupported})
cdot3OamEntry.EntityData.YListKeys = []string {"IfIndex"}
return &(cdot3OamEntry.EntityData)
}
// CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamAdminState represents to operate over this interface.
type CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamAdminState string
const (
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamAdminState_disabled CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamAdminState = "disabled"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamAdminState_enabled CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamAdminState = "enabled"
)
// CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamMode represents cdot3OamOperStatus was already operational(9).
type CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamMode string
const (
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamMode_active CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamMode = "active"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamMode_passive CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamMode = "passive"
)
// CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus represents in half-duplex operation.
type CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus string
const (
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus_disabled CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus = "disabled"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus_linkFault CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus = "linkFault"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus_passiveWait CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus = "passiveWait"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus_activeSendLocal CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus = "activeSendLocal"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus_sendLocalAndRemote CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus = "sendLocalAndRemote"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus_sendLocalAndRemoteOk CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus = "sendLocalAndRemoteOk"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus_oamPeeringLocallyRejected CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus = "oamPeeringLocallyRejected"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus_oamPeeringRemotelyRejected CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus = "oamPeeringRemotelyRejected"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus_operational CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus = "operational"
CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus_nonOperHalfDuplex CISCODOT3OAMMIB_Cdot3OamTable_Cdot3OamEntry_Cdot3OamOperStatus = "nonOperHalfDuplex"
)
// CISCODOT3OAMMIB_Cdot3OamPeerTable
// This table contains information about the OAM peer for a
// particular Ethernet like interface. OAM entities communicate
// with a single OAM peer entity on Ethernet links on which OAM
// is enabled and operating properly. There is one entry in this
// table for each entry in the cdot3OamTable for which information
// on the peer OAM entity is available.
type CISCODOT3OAMMIB_Cdot3OamPeerTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An entry in the table, containing information on the peer OAM entity for a
// single Ethernet like interface. Note that there is at most one OAM peer
// for each Ethernet like interface. Entries are automatically created when
// information about the OAM peer entity becomes available, and automatically
// deleted when the OAM peer entity is no longer in communication. Peer
// information is not available when cdot3OamOperStatus is disabled(1),
// linkFault(2), passiveWait(3), activeSendLocal(4). or
// nonOperHalfDuplex(10)). . The type is slice of
// CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry.
Cdot3OamPeerEntry []*CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry
}
func (cdot3OamPeerTable *CISCODOT3OAMMIB_Cdot3OamPeerTable) GetEntityData() *types.CommonEntityData {
cdot3OamPeerTable.EntityData.YFilter = cdot3OamPeerTable.YFilter
cdot3OamPeerTable.EntityData.YangName = "cdot3OamPeerTable"
cdot3OamPeerTable.EntityData.BundleName = "cisco_ios_xe"
cdot3OamPeerTable.EntityData.ParentYangName = "CISCO-DOT3-OAM-MIB"
cdot3OamPeerTable.EntityData.SegmentPath = "cdot3OamPeerTable"
cdot3OamPeerTable.EntityData.AbsolutePath = "CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/" + cdot3OamPeerTable.EntityData.SegmentPath
cdot3OamPeerTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cdot3OamPeerTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cdot3OamPeerTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cdot3OamPeerTable.EntityData.Children = types.NewOrderedMap()
cdot3OamPeerTable.EntityData.Children.Append("cdot3OamPeerEntry", types.YChild{"Cdot3OamPeerEntry", nil})
for i := range cdot3OamPeerTable.Cdot3OamPeerEntry {
cdot3OamPeerTable.EntityData.Children.Append(types.GetSegmentPath(cdot3OamPeerTable.Cdot3OamPeerEntry[i]), types.YChild{"Cdot3OamPeerEntry", cdot3OamPeerTable.Cdot3OamPeerEntry[i]})
}
cdot3OamPeerTable.EntityData.Leafs = types.NewOrderedMap()
cdot3OamPeerTable.EntityData.YListKeys = []string {}
return &(cdot3OamPeerTable.EntityData)
}
// CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry
// An entry in the table, containing information on the peer OAM
// entity for a single Ethernet like interface.
//
// Note that there is at most one OAM peer for each Ethernet like
// interface. Entries are automatically created when information
// about the OAM peer entity becomes available, and automatically
// deleted when the OAM peer entity is no longer in
// communication. Peer information is not available when
// cdot3OamOperStatus is disabled(1), linkFault(2),
// passiveWait(3), activeSendLocal(4). or nonOperHalfDuplex(10)).
type CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. The type is string with range: 1..2147483647.
// Refers to if_mib.IFMIB_IfTable_IfEntry_IfIndex
IfIndex interface{}
// The MAC address of the peer OAM entity. The MAC address is derived from
// the most recently received OAMPDU. The type is string with pattern:
// [0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}.
Cdot3OamPeerMacAddress interface{}
// The OUI of the OAM peer as reflected in the latest Information OAMPDU
// received with a Local Information TLV. The OUI can be used to identify the
// vendor of the remote OAM entity. This value is initialized to zero before
// any Local Information TLV is received. . The type is string with length:
// 3..3.
Cdot3OamPeerVendorOui interface{}
// The Vendor Info of the OAM peer as reflected in the latest Information
// OAMPDU received with a Local Information TLV. The vendor information field
// is within the Local Information TLV, and can be used to determine
// additional information about the peer entity. The format of the vendor
// information is unspecified within the 32-bit field. This value is
// initialized to zero before any Local Information TLV is received. . The
// type is interface{} with range: 0..4294967295.
Cdot3OamPeerVendorInfo interface{}
// The mode of the OAM peer as reflected in the latest Information OAMPDU
// received with a Local Information TLV. The mode of the peer can be
// determined from the Configuration field in the Local Information TLV of the
// last Information OAMPDU received from the peer. The value is unknown(3)
// whenever no Local Information TLV has been received. The values of
// active(1) and passive(2) are returned when a Local Information TLV has been
// received indicating the peer is in active or passive mode, respectively. .
// The type is Cdot3OamPeerMode.
Cdot3OamPeerMode interface{}
// The maximum size of OAMPDU supported by the peer as reflected in the latest
// Information OAMPDU received with a Local Information TLV. Ethernet OAM on
// this interface must not use OAMPDUs that exceed this size. The maximum
// OAMPDU size can be determined from the PDU Configuration field of the Local
// Information TLV of the last Information OAMPDU received from the peer. A
// value of zero is returned if no Local Information TLV has been received.
// Otherwise, the value of the OAM peer's maximum OAMPDU size is returned in
// this value. Note that the values 1..63 are invalid sizes for Ethernet
// frames and should never appear. . The type is interface{} with range:
// 0..1518. Units are octets.
Cdot3OamPeerMaxOamPduSize interface{}
// The configuration revision of the OAM peer as reflected in the latest
// OAMPDU. This attribute is changed by the peer whenever it has a local
// configuration change for Ethernet OAM this interface. The configuration
// revision can be determined from the Revision field of the Local Information
// TLV of the most recently received Information OAMPDU with a Local
// Information TLV. A value of zero is returned if no Local Information TLV
// has been received. . The type is interface{} with range: 0..65535.
Cdot3OamPeerConfigRevision interface{}
// The OAM functions supported on this Ethernet like interface. OAM consists
// of separate functionality sets above the basic discovery process. This
// value indicates the capabilities of the peer OAM entity with respect to
// these functions. This value is initialized so all bits are clear. If
// unidirectionalSupport(0) is set, then the peer OAM entity supports sending
// OAM frames on Ethernet interfaces when the receive path is known to be
// inoperable. If loopbackSupport(1) is set, then the peer OAM entity can
// send and receive OAM loopback commands. If eventSupport(2) is set, then
// the peer OAM entity can send and receive event OAMPDUs to signal various
// error conditions. If variableSupport(3) is set, then the peer OAM entity
// can send and receive variable requests to monitor attribute value as
// described in Clause 57 of [802.3ah]. The capabilities of the OAM peer
// can be determined from the configuration field of the Local Information TLV
// of the most recently received Information OAMPDU with a Local Information
// TLV. All zeros are returned if no Local Information TLV has yet been
// received. . The type is map[string]bool.
Cdot3OamPeerFunctionsSupported interface{}
}
func (cdot3OamPeerEntry *CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry) GetEntityData() *types.CommonEntityData {
cdot3OamPeerEntry.EntityData.YFilter = cdot3OamPeerEntry.YFilter
cdot3OamPeerEntry.EntityData.YangName = "cdot3OamPeerEntry"
cdot3OamPeerEntry.EntityData.BundleName = "cisco_ios_xe"
cdot3OamPeerEntry.EntityData.ParentYangName = "cdot3OamPeerTable"
cdot3OamPeerEntry.EntityData.SegmentPath = "cdot3OamPeerEntry" + types.AddKeyToken(cdot3OamPeerEntry.IfIndex, "ifIndex")
cdot3OamPeerEntry.EntityData.AbsolutePath = "CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/cdot3OamPeerTable/" + cdot3OamPeerEntry.EntityData.SegmentPath
cdot3OamPeerEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cdot3OamPeerEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cdot3OamPeerEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cdot3OamPeerEntry.EntityData.Children = types.NewOrderedMap()
cdot3OamPeerEntry.EntityData.Leafs = types.NewOrderedMap()
cdot3OamPeerEntry.EntityData.Leafs.Append("ifIndex", types.YLeaf{"IfIndex", cdot3OamPeerEntry.IfIndex})
cdot3OamPeerEntry.EntityData.Leafs.Append("cdot3OamPeerMacAddress", types.YLeaf{"Cdot3OamPeerMacAddress", cdot3OamPeerEntry.Cdot3OamPeerMacAddress})
cdot3OamPeerEntry.EntityData.Leafs.Append("cdot3OamPeerVendorOui", types.YLeaf{"Cdot3OamPeerVendorOui", cdot3OamPeerEntry.Cdot3OamPeerVendorOui})
cdot3OamPeerEntry.EntityData.Leafs.Append("cdot3OamPeerVendorInfo", types.YLeaf{"Cdot3OamPeerVendorInfo", cdot3OamPeerEntry.Cdot3OamPeerVendorInfo})
cdot3OamPeerEntry.EntityData.Leafs.Append("cdot3OamPeerMode", types.YLeaf{"Cdot3OamPeerMode", cdot3OamPeerEntry.Cdot3OamPeerMode})
cdot3OamPeerEntry.EntityData.Leafs.Append("cdot3OamPeerMaxOamPduSize", types.YLeaf{"Cdot3OamPeerMaxOamPduSize", cdot3OamPeerEntry.Cdot3OamPeerMaxOamPduSize})
cdot3OamPeerEntry.EntityData.Leafs.Append("cdot3OamPeerConfigRevision", types.YLeaf{"Cdot3OamPeerConfigRevision", cdot3OamPeerEntry.Cdot3OamPeerConfigRevision})
cdot3OamPeerEntry.EntityData.Leafs.Append("cdot3OamPeerFunctionsSupported", types.YLeaf{"Cdot3OamPeerFunctionsSupported", cdot3OamPeerEntry.Cdot3OamPeerFunctionsSupported})
cdot3OamPeerEntry.EntityData.YListKeys = []string {"IfIndex"}
return &(cdot3OamPeerEntry.EntityData)
}
// CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry_Cdot3OamPeerMode represents active or passive mode, respectively.
type CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry_Cdot3OamPeerMode string
const (
CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry_Cdot3OamPeerMode_active CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry_Cdot3OamPeerMode = "active"
CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry_Cdot3OamPeerMode_passive CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry_Cdot3OamPeerMode = "passive"
CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry_Cdot3OamPeerMode_unknown CISCODOT3OAMMIB_Cdot3OamPeerTable_Cdot3OamPeerEntry_Cdot3OamPeerMode = "unknown"
)
// CISCODOT3OAMMIB_Cdot3OamLoopbackTable
// This table contains controls for the loopback state of the
// local link as well as indicating the status of the loopback
// function. There is one entry in this table for each entry in
// cdot3OamTable that supports loopback functionality (where
// cdot3OamFunctionsSupported includes the loopbackSupport bit
// set).
//
// Loopback can be used to place the remote OAM entity in a state
// where every received frame (except OAMPDUs) is echoed back
// over the same interface on which they were received. In this
// state, at the remote entity, 'normal' traffic is disabled as
// only the looped back frames are transmitted on the interface.
// Loopback is thus an intrusive operation that prohibits normal
// data flow and should be used accordingly.
type CISCODOT3OAMMIB_Cdot3OamLoopbackTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An entry in the table, containing information on the loopback status for a
// single Ethernet like interface. Entries in the table are automatically
// created whenever the local OAM entity supports loopback capabilities. The
// loopback status on the interface can be determined from the
// cdot3OamLoopbackStatus object. . The type is slice of
// CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry.
Cdot3OamLoopbackEntry []*CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry
}
func (cdot3OamLoopbackTable *CISCODOT3OAMMIB_Cdot3OamLoopbackTable) GetEntityData() *types.CommonEntityData {
cdot3OamLoopbackTable.EntityData.YFilter = cdot3OamLoopbackTable.YFilter
cdot3OamLoopbackTable.EntityData.YangName = "cdot3OamLoopbackTable"
cdot3OamLoopbackTable.EntityData.BundleName = "cisco_ios_xe"
cdot3OamLoopbackTable.EntityData.ParentYangName = "CISCO-DOT3-OAM-MIB"
cdot3OamLoopbackTable.EntityData.SegmentPath = "cdot3OamLoopbackTable"
cdot3OamLoopbackTable.EntityData.AbsolutePath = "CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/" + cdot3OamLoopbackTable.EntityData.SegmentPath
cdot3OamLoopbackTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cdot3OamLoopbackTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cdot3OamLoopbackTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cdot3OamLoopbackTable.EntityData.Children = types.NewOrderedMap()
cdot3OamLoopbackTable.EntityData.Children.Append("cdot3OamLoopbackEntry", types.YChild{"Cdot3OamLoopbackEntry", nil})
for i := range cdot3OamLoopbackTable.Cdot3OamLoopbackEntry {
cdot3OamLoopbackTable.EntityData.Children.Append(types.GetSegmentPath(cdot3OamLoopbackTable.Cdot3OamLoopbackEntry[i]), types.YChild{"Cdot3OamLoopbackEntry", cdot3OamLoopbackTable.Cdot3OamLoopbackEntry[i]})
}
cdot3OamLoopbackTable.EntityData.Leafs = types.NewOrderedMap()
cdot3OamLoopbackTable.EntityData.YListKeys = []string {}
return &(cdot3OamLoopbackTable.EntityData)
}
// CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry
// An entry in the table, containing information on the loopback
// status for a single Ethernet like interface. Entries in the
// table are automatically created whenever the local OAM entity
// supports loopback capabilities. The loopback status on the
// interface can be determined from the cdot3OamLoopbackStatus
// object.
type CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. The type is string with range: 1..2147483647.
// Refers to if_mib.IFMIB_IfTable_IfEntry_IfIndex
IfIndex interface{}
// The loopback status of the OAM entity. This status is determined by a
// combination of the local parser and multiplexer states, the remote parser
// and multiplexer states, as well as by the actions of the local OAM client.
// When operating in normal mode with no loopback in progress, the status
// reads noLoopback(1). The values initiatingLooopback(2) and
// terminatingLoopback(4) can be read or written. The other values can only
// be read - they can never be written. Writing initiatingLoopback causes the
// local OAM entity to start the loopback process with its peer. This value
// can only be written when the status is noLoopback(1). Writing the value
// initiatingLoopback(2) in any other state has no effect. When in
// remoteLoopback(3), writing terminatingLoopback(4) causes the local OAM
// entity to initiate the termination of the loopback state. Writing
// terminatingLoopack(4) in any other state has no effect.
// If the OAM client initiates a looopback and has sent an Loopback OAMPDU and
// is waiting for a response, where the local parser and multiplexer states
// are DISCARD (see [802.3ah, 57.2.11.1]), the status is 'initiatingLoopback'.
// In this case, the local OAM entity has yet to receive any acknowledgement
// that the remote OAM entity has received its loopback command request.
// If the local OAM client knows that the remote OAM entity is in loopback
// mode (via the remote state information as described in [802.3ah, 57.2.11.1,
// 30.3.6.1.15]), the status is remoteLoopback(3). If the local OAM client is
// in the process of terminating the remote loopback [802.3ah, 57.2.11.3,
// 30.3.6.1.14], with its local multiplexer and parser states in DISCARD, the
// status is terminatingLoopback(4). If the remote OAM client has put the
// local OAM entity in loopback mode as indicated by its local parser state,
// the status is localLoopback(5). The unknown(6) status indicates the
// parser and multiplexer combination is unexpected. This status may be
// returned if the OAM loopback is in a transition state but should not
// persist. The values of this attribute correspond to the following values
// of the local and remote parser and multiplexer states. value
// LclPrsr LclMux RmtPrsr RmtMux noLoopback FWD FWD
// FWD FWD initLoopback DISCARD DISCARD FWD FWD
// rmtLoopback DISCARD FWD LPBK DISCARD tmtngLoopback
// DISCARD DISCARD LPBK DISCARD lclLoopback LPBK DISCARD
// DISCARD FWD unknown *** any other combination ***. The
// type is Cdot3OamLoopbackStatus.
Cdot3OamLoopbackStatus interface{}
// Since OAM loopback is a disruptive operation (user traffic does not pass),
// this attribute provides a mechanism to provide controls over whether
// received OAM loopback commands are processed or ignored. When the value is
// ignore(1), received loopback commands are ignored. When the value is
// process(2), OAM loopback commands are processed. The default value is to
// ignore loopback commands (ignore(1)). . The type is
// Cdot3OamLoopbackIgnoreRx.
Cdot3OamLoopbackIgnoreRx interface{}
}
func (cdot3OamLoopbackEntry *CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry) GetEntityData() *types.CommonEntityData {
cdot3OamLoopbackEntry.EntityData.YFilter = cdot3OamLoopbackEntry.YFilter
cdot3OamLoopbackEntry.EntityData.YangName = "cdot3OamLoopbackEntry"
cdot3OamLoopbackEntry.EntityData.BundleName = "cisco_ios_xe"
cdot3OamLoopbackEntry.EntityData.ParentYangName = "cdot3OamLoopbackTable"
cdot3OamLoopbackEntry.EntityData.SegmentPath = "cdot3OamLoopbackEntry" + types.AddKeyToken(cdot3OamLoopbackEntry.IfIndex, "ifIndex")
cdot3OamLoopbackEntry.EntityData.AbsolutePath = "CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/cdot3OamLoopbackTable/" + cdot3OamLoopbackEntry.EntityData.SegmentPath
cdot3OamLoopbackEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cdot3OamLoopbackEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cdot3OamLoopbackEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cdot3OamLoopbackEntry.EntityData.Children = types.NewOrderedMap()
cdot3OamLoopbackEntry.EntityData.Leafs = types.NewOrderedMap()
cdot3OamLoopbackEntry.EntityData.Leafs.Append("ifIndex", types.YLeaf{"IfIndex", cdot3OamLoopbackEntry.IfIndex})
cdot3OamLoopbackEntry.EntityData.Leafs.Append("cdot3OamLoopbackStatus", types.YLeaf{"Cdot3OamLoopbackStatus", cdot3OamLoopbackEntry.Cdot3OamLoopbackStatus})
cdot3OamLoopbackEntry.EntityData.Leafs.Append("cdot3OamLoopbackIgnoreRx", types.YLeaf{"Cdot3OamLoopbackIgnoreRx", cdot3OamLoopbackEntry.Cdot3OamLoopbackIgnoreRx})
cdot3OamLoopbackEntry.EntityData.YListKeys = []string {"IfIndex"}
return &(cdot3OamLoopbackEntry.EntityData)
}
// CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackIgnoreRx represents ignore loopback commands (ignore(1)).
type CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackIgnoreRx string
const (
CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackIgnoreRx_ignore CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackIgnoreRx = "ignore"
CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackIgnoreRx_process CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackIgnoreRx = "process"
)
// CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus represents unknown *** any other combination ***
type CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus string
const (
CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus_noLoopback CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus = "noLoopback"
CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus_initiatingLoopback CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus = "initiatingLoopback"
CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus_remoteLoopback CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus = "remoteLoopback"
CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus_terminatingLoopback CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus = "terminatingLoopback"
CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus_localLoopback CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus = "localLoopback"
CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus_unknown CISCODOT3OAMMIB_Cdot3OamLoopbackTable_Cdot3OamLoopbackEntry_Cdot3OamLoopbackStatus = "unknown"
)
// CISCODOT3OAMMIB_Cdot3OamStatsTable
// This table contains statistics for the OAM function on a
// particular Ethernet like interface. There is an entry in the
// table for every entry in the cdot3OamTable.
//
// The counters in this table are defined as 32-bit entries to
// match the counter size as defined in [802.3ah]. Given the OAM
// protocol is a slow protocol, the counters increment at a slow
// rate.
type CISCODOT3OAMMIB_Cdot3OamStatsTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An entry in the table, containing statistics information on the Ethernet
// OAM function for a single Ethernet like interface. Entries are
// automatically created for every entry in the cdot3OamTable. Counters are
// maintained across transitions in cdot3OamOperStatus. . The type is slice
// of CISCODOT3OAMMIB_Cdot3OamStatsTable_Cdot3OamStatsEntry.
Cdot3OamStatsEntry []*CISCODOT3OAMMIB_Cdot3OamStatsTable_Cdot3OamStatsEntry
}
func (cdot3OamStatsTable *CISCODOT3OAMMIB_Cdot3OamStatsTable) GetEntityData() *types.CommonEntityData {
cdot3OamStatsTable.EntityData.YFilter = cdot3OamStatsTable.YFilter
cdot3OamStatsTable.EntityData.YangName = "cdot3OamStatsTable"
cdot3OamStatsTable.EntityData.BundleName = "cisco_ios_xe"
cdot3OamStatsTable.EntityData.ParentYangName = "CISCO-DOT3-OAM-MIB"
cdot3OamStatsTable.EntityData.SegmentPath = "cdot3OamStatsTable"
cdot3OamStatsTable.EntityData.AbsolutePath = "CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/" + cdot3OamStatsTable.EntityData.SegmentPath
cdot3OamStatsTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cdot3OamStatsTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cdot3OamStatsTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cdot3OamStatsTable.EntityData.Children = types.NewOrderedMap()
cdot3OamStatsTable.EntityData.Children.Append("cdot3OamStatsEntry", types.YChild{"Cdot3OamStatsEntry", nil})
for i := range cdot3OamStatsTable.Cdot3OamStatsEntry {
cdot3OamStatsTable.EntityData.Children.Append(types.GetSegmentPath(cdot3OamStatsTable.Cdot3OamStatsEntry[i]), types.YChild{"Cdot3OamStatsEntry", cdot3OamStatsTable.Cdot3OamStatsEntry[i]})
}
cdot3OamStatsTable.EntityData.Leafs = types.NewOrderedMap()
cdot3OamStatsTable.EntityData.YListKeys = []string {}
return &(cdot3OamStatsTable.EntityData)
}
// CISCODOT3OAMMIB_Cdot3OamStatsTable_Cdot3OamStatsEntry
// An entry in the table, containing statistics information on
// the Ethernet OAM function for a single Ethernet like
// interface. Entries are automatically created for every entry
// in the cdot3OamTable. Counters are maintained across
// transitions in cdot3OamOperStatus.
type CISCODOT3OAMMIB_Cdot3OamStatsTable_Cdot3OamStatsEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. The type is string with range: 1..2147483647.
// Refers to if_mib.IFMIB_IfTable_IfEntry_IfIndex
IfIndex interface{}
// A count of the number of Information OAMPDUs transmitted on this interface.
// Discontinuities of this counter can occur at re-initialization of the
// management system, and at other times as indicated by the value of the
// ifCounterDiscontinuityTime. . The type is interface{} with range:
// 0..4294967295. Units are frames.
Cdot3OamInformationTx interface{}
// A count of the number of Information OAMPDUs received on this interface.
// Discontinuities of this counter can occur at re-initialization of the
// management system, and at other times as indicated by the value of the
// ifCounterDiscontinuityTime. . The type is interface{} with range:
// 0..4294967295. Units are frames.
Cdot3OamInformationRx interface{}
// A count of the number of unique Event OAMPDUs transmitted on this
// interface. Event notifications may be sent in duplicate to increase the
// probability of successfully being received, given the possibility that a
// frame may be lost in transit. Duplicate Event Notification transmissions
// are counted by cdot3OamDuplicateEventNotificationTx. A unique Event
// Notification OAMPDU is indicated as an Event Notification OAMPDU with a
// Sequence Number field that is distinct from the previously transmitted
// Event Notification OAMPDU Sequence Number. Discontinuities of this
// counter can occur at re-initialization of the management system, and at
// other times as indicated by the value of the ifCounterDiscontinuityTime. .
// The type is interface{} with range: 0..4294967295. Units are frames.
Cdot3OamUniqueEventNotificationTx interface{}
// A count of the number of unique Event OAMPDUs received on this interface.
// Event notification OAMPDUs may be sent in duplicate to increase the
// probability of successfully being received, given the possibility that a
// frame may be lost in transit. Duplicate Event Notification receptions are
// counted by cdot3OamDuplicateEventNotificationRx. A unique Event
// Notification OAMPDU is indicated as an Event Notification OAMPDU with a
// Sequence Number field that is distinct from the previously received Event
// Notification OAMPDU Sequence Number. Discontinuities of this counter can
// occur at re-initialization of the management system, and at other times as
// indicated by the value of the ifCounterDiscontinuityTime. . The type is
// interface{} with range: 0..4294967295. Units are frames.
Cdot3OamUniqueEventNotificationRx interface{}
// A count of the number of duplicate Event OAMPDUs transmitted on this
// interface. Event notification OAMPDUs may be sent in duplicate to increase
// the probability of successfully being received, given the possibility that
// a frame may be lost in transit. A duplicate Event Notification OAMPDU is
// indicated as an Event Notification OAMPDU with a Sequence Number field that
// is identical to the previously transmitted Event Notification OAMPDU
// Sequence Number. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamDuplicateEventNotificationTx interface{}
// A count of the number of duplicate Event OAMPDUs received on this
// interface. Event notification OAMPDUs may be sent in duplicate to increase
// the probability of successfully being received, given the possibility that
// a frame may be lost in transit. A duplicate Event Notification OAMPDU is
// indicated as an Event Notification OAMPDU with a Sequence Number field that
// is identical to the previously received Event Notification OAMPDU Sequence
// Number. Discontinuities of this counter can occur at re-initialization
// of the management system, and at other times as indicated by the value of
// the ifCounterDiscontinuityTime. . The type is interface{} with range:
// 0..4294967295. Units are frames.
Cdot3OamDuplicateEventNotificationRx interface{}
// A count of the number of Loopback Control OAMPDUs transmitted on this
// interface. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamLoopbackControlTx interface{}
// A count of the number of Loopback Control OAMPDUs received on this
// interface. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamLoopbackControlRx interface{}
// A count of the number of Variable Request OAMPDUs transmitted on this
// interface. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamVariableRequestTx interface{}
// A count of the number of Variable Request OAMPDUs received on this
// interface. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamVariableRequestRx interface{}
// A count of the number of Variable Response OAMPDUs transmitted on this
// interface. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamVariableResponseTx interface{}
// A count of the number of Variable Response OAMPDUs received on this
// interface. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamVariableResponseRx interface{}
// A count of the number of Organization Specific OAMPDUs transmitted on this
// interface. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamOrgSpecificTx interface{}
// A count of the number of Organization Specific OAMPDUs received on this
// interface. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamOrgSpecificRx interface{}
// A count of the number of OAMPDUs transmitted on this interface with an
// unsupported op-code. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamUnsupportedCodesTx interface{}
// A count of the number of OAMPDUs received on this interface with an
// unsupported op-code. Discontinuities of this counter can occur at
// re-initialization of the management system, and at other times as indicated
// by the value of the ifCounterDiscontinuityTime. . The type is interface{}
// with range: 0..4294967295. Units are frames.
Cdot3OamUnsupportedCodesRx interface{}
// A count of the number of frames that were dropped by the OAM multiplexer.
// Since the OAM multiplexer has multiple inputs and a single output, there
// may be cases where frames are dropped due to transmit resource contention.
// This counter is incremented whenever a frame is dropped by the OAM layer.
// Note that any Ethernet frame, not just OAMPDUs, may be dropped by the OAM
// layer. This can occur when an OAMPDU takes precedence over a 'normal'
// frame resulting in the 'normal' frame being dropped. When this counter
// is incremented, no other counters in this MIB are incremented.
// Discontinuities of this counter can occur at re-initialization of the
// management system, and at other times as indicated by the value of the
// ifCounterDiscontinuityTime. . The type is interface{} with range:
// 0..4294967295. Units are frames.
Cdot3OamFramesLostDueToOam interface{}
}
func (cdot3OamStatsEntry *CISCODOT3OAMMIB_Cdot3OamStatsTable_Cdot3OamStatsEntry) GetEntityData() *types.CommonEntityData {
cdot3OamStatsEntry.EntityData.YFilter = cdot3OamStatsEntry.YFilter
cdot3OamStatsEntry.EntityData.YangName = "cdot3OamStatsEntry"
cdot3OamStatsEntry.EntityData.BundleName = "cisco_ios_xe"
cdot3OamStatsEntry.EntityData.ParentYangName = "cdot3OamStatsTable"
cdot3OamStatsEntry.EntityData.SegmentPath = "cdot3OamStatsEntry" + types.AddKeyToken(cdot3OamStatsEntry.IfIndex, "ifIndex")
cdot3OamStatsEntry.EntityData.AbsolutePath = "CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/cdot3OamStatsTable/" + cdot3OamStatsEntry.EntityData.SegmentPath
cdot3OamStatsEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cdot3OamStatsEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cdot3OamStatsEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cdot3OamStatsEntry.EntityData.Children = types.NewOrderedMap()
cdot3OamStatsEntry.EntityData.Leafs = types.NewOrderedMap()
cdot3OamStatsEntry.EntityData.Leafs.Append("ifIndex", types.YLeaf{"IfIndex", cdot3OamStatsEntry.IfIndex})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamInformationTx", types.YLeaf{"Cdot3OamInformationTx", cdot3OamStatsEntry.Cdot3OamInformationTx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamInformationRx", types.YLeaf{"Cdot3OamInformationRx", cdot3OamStatsEntry.Cdot3OamInformationRx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamUniqueEventNotificationTx", types.YLeaf{"Cdot3OamUniqueEventNotificationTx", cdot3OamStatsEntry.Cdot3OamUniqueEventNotificationTx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamUniqueEventNotificationRx", types.YLeaf{"Cdot3OamUniqueEventNotificationRx", cdot3OamStatsEntry.Cdot3OamUniqueEventNotificationRx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamDuplicateEventNotificationTx", types.YLeaf{"Cdot3OamDuplicateEventNotificationTx", cdot3OamStatsEntry.Cdot3OamDuplicateEventNotificationTx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamDuplicateEventNotificationRx", types.YLeaf{"Cdot3OamDuplicateEventNotificationRx", cdot3OamStatsEntry.Cdot3OamDuplicateEventNotificationRx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamLoopbackControlTx", types.YLeaf{"Cdot3OamLoopbackControlTx", cdot3OamStatsEntry.Cdot3OamLoopbackControlTx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamLoopbackControlRx", types.YLeaf{"Cdot3OamLoopbackControlRx", cdot3OamStatsEntry.Cdot3OamLoopbackControlRx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamVariableRequestTx", types.YLeaf{"Cdot3OamVariableRequestTx", cdot3OamStatsEntry.Cdot3OamVariableRequestTx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamVariableRequestRx", types.YLeaf{"Cdot3OamVariableRequestRx", cdot3OamStatsEntry.Cdot3OamVariableRequestRx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamVariableResponseTx", types.YLeaf{"Cdot3OamVariableResponseTx", cdot3OamStatsEntry.Cdot3OamVariableResponseTx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamVariableResponseRx", types.YLeaf{"Cdot3OamVariableResponseRx", cdot3OamStatsEntry.Cdot3OamVariableResponseRx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamOrgSpecificTx", types.YLeaf{"Cdot3OamOrgSpecificTx", cdot3OamStatsEntry.Cdot3OamOrgSpecificTx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamOrgSpecificRx", types.YLeaf{"Cdot3OamOrgSpecificRx", cdot3OamStatsEntry.Cdot3OamOrgSpecificRx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamUnsupportedCodesTx", types.YLeaf{"Cdot3OamUnsupportedCodesTx", cdot3OamStatsEntry.Cdot3OamUnsupportedCodesTx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamUnsupportedCodesRx", types.YLeaf{"Cdot3OamUnsupportedCodesRx", cdot3OamStatsEntry.Cdot3OamUnsupportedCodesRx})
cdot3OamStatsEntry.EntityData.Leafs.Append("cdot3OamFramesLostDueToOam", types.YLeaf{"Cdot3OamFramesLostDueToOam", cdot3OamStatsEntry.Cdot3OamFramesLostDueToOam})
cdot3OamStatsEntry.EntityData.YListKeys = []string {"IfIndex"}
return &(cdot3OamStatsEntry.EntityData)
}