blob: 0ea33d0f099a43759860848b506da62eae9475a0 [file] [log] [blame]
Matteo Scandolof9d43412021-01-12 11:11:34 -08001/*
2 * Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net)
3 * Copyright 2020-present Open Networking Foundation
4
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8
9 * http://www.apache.org/licenses/LICENSE-2.0
10
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17/*
18 * NOTE: This file was generated, manual edits will be overwritten!
19 *
20 * Generated by 'goCodeGenerator.py':
21 * https://github.com/cboling/OMCI-parser/README.md
22 */
23
24package generated
25
26import "github.com/deckarep/golang-set"
27
28// EnhancedTcPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
29// Managed entity Enhanced TC performance monitoring history data
30const EnhancedTcPerformanceMonitoringHistoryDataClassID ClassID = ClassID(454)
31
32var enhancedtcperformancemonitoringhistorydataBME *ManagedEntityDefinition
33
34// EnhancedTcPerformanceMonitoringHistoryData (class ID #454)
35// This ME collects PM data associated with the XGS-PON and subsequent ITU-T PON systems' TC layer.
36//
37// For a complete discussion of generic PM architecture, refer to clause I.4.
38//
39// Relationships
40// An instance of this ME is associated with an ANI-G.
41//
42// Attributes
43// Managed Entity Id
44// Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
45// identical ID, this ME is implicitly linked to an instance of the ANI-G. (R, set-by-create)
46// (mandatory) (2-bytes)
47//
48// Interval End Time
49// Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
50// (mandatory) (1-byte)
51//
52// Threshold Data 64 Bit Id
53// Threshold data 64-bit ID: This attribute points to an instance of the threshold data 64-bit ME
54// that contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
55//
56// Psbd Hec Error Count
57// PSBd HEC error count: This attribute counts HEC errors in any of the fields of the downstream
58// physical sync block. (R) (optional) (4-bytes)
59//
60// Xgtc Hec Error Count
61// XGTC HEC error count: This attribute counts HEC errors detected in the XGTC header. In [ITU-T
62// G.9807.1], this attribute is used for FS HEC error count management. (R) (optional) (4-bytes)
63//
64// Unknown Profile Count
65// Unknown profile count: This attribute counts the number of grants received whose specified
66// profile was not known to the ONU. (R) (optional) (4-bytes)
67//
68// Transmitted Xgem Frames
69// Transmitted XGEM frames: This attribute counts the number of non-idle XGEM frames transmitted.
70// If an SDU is fragmented, each fragment is an XGEM frame and is counted as such. (R) (mandatory)
71// (8 bytes)
72//
73// Fragment Xgem Frames
74// Fragment XGEM frames: This attribute counts the number of XGEM frames that represent fragmented
75// SDUs, as indicated by the LF bit = 0. (R) (optional) (8-bytes)
76//
77// Xgem Hec Lost Words Count
78// XGEM HEC lost words count: This attribute counts the number of 4-byte words lost because of an
79// XGEM frame HEC error. In general, all XGTC payload following the error is lost, until the next
80// PSBd event. (R) (optional) (8 bytes)
81//
82// Xgem Key Errors
83// (R) (mandatory) (8 bytes)
84//
85// Xgem Hec Error Count
86// XGEM HEC error count: This attribute counts the number of instances of an XGEM frame HEC error.
87// (R) (mandatory) (8 bytes)
88//
89// Transmitted Bytes In Non_Idle Xgem Frames
90// Transmitted bytes in non-idle XGEM frames: This attribute counts the number of transmitted bytes
91// in non-idle XGEM frames. (R) (mandatory) (8 bytes)
92//
93// Received Bytes In Non_Idle Xgem Frames
94// Received bytes in non-idle XGEM frames: This attribute counts the number of received bytes in
95// non-idle XGEM frames. (R) (optional) (8 bytes)
96//
97// Lods Event Count
98// LODS event count: This attribute counts the number of state transitions from O5.1 to O6. (R)
99// (optional) (4-bytes)
100//
101// Lods Event Restored Count
102// LODS event restored count: This attribute counts the number of LODS cleared events. (R)
103// (optional) (4-bytes)
104//
105// Onu Reactivation By Lods Events
106// ONU reactivation by LODS events: This attribute counts the number of LODS events resulting in
107// ONU reactivation without synchronization being reacquired. (R) (optional) (4-bytes)
108//
109type EnhancedTcPerformanceMonitoringHistoryData struct {
110 ManagedEntityDefinition
111 Attributes AttributeValueMap
112}
113
114func init() {
115 enhancedtcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
116 Name: "EnhancedTcPerformanceMonitoringHistoryData",
117 ClassID: 454,
118 MessageTypes: mapset.NewSetWith(
119 Create,
120 Delete,
121 Get,
122 Set,
123 ),
124 AllowedAttributeMask: 0xfffe,
125 AttributeDefinitions: AttributeDefinitionMap{
126 0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
127 1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
128 2: Uint16Field("ThresholdData64BitId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
129 3: Uint32Field("PsbdHecErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
130 4: Uint32Field("XgtcHecErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
131 5: Uint32Field("UnknownProfileCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
132 6: Uint64Field("TransmittedXgemFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
133 7: Uint64Field("FragmentXgemFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
134 8: Uint64Field("XgemHecLostWordsCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
135 9: Uint64Field("XgemKeyErrors", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
136 10: Uint64Field("XgemHecErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
137 11: Uint64Field("TransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
138 12: Uint64Field("ReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
139 13: Uint32Field("LodsEventCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
140 14: Uint32Field("LodsEventRestoredCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
141 15: Uint32Field("OnuReactivationByLodsEvents", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
142 },
143 Access: CreatedByOlt,
144 Support: UnknownSupport,
145 Alarms: AlarmMap{
146 1: "PSBd HEC error count",
147 2: "XGTC HEC error count",
148 3: "Unknown profile count",
149 4: "XGEM HEC loss count",
150 5: "XGEM key errors",
151 6: "XGEM HEC error count",
152 },
153 }
154}
155
156// NewEnhancedTcPerformanceMonitoringHistoryData (class ID 454) creates the basic
157// Managed Entity definition that is used to validate an ME of this type that
158// is received from or transmitted to the OMCC.
159func NewEnhancedTcPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
160 return NewManagedEntity(*enhancedtcperformancemonitoringhistorydataBME, params...)
161}