blob: ba08f36d7810dece1e1a2e22ff12b7f9e37e3d6b [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
Elia Battiston9bfe1102022-02-03 10:38:03 +01004 *
Matteo Scandolof9d43412021-01-12 11:11:34 -08005 * 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
Elia Battiston9bfe1102022-02-03 10:38:03 +01008 *
Matteo Scandolof9d43412021-01-12 11:11:34 -08009 * http://www.apache.org/licenses/LICENSE-2.0
Elia Battiston9bfe1102022-02-03 10:38:03 +010010 *
Matteo Scandolof9d43412021-01-12 11:11:34 -080011 * 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// XgPonTcPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
29// Managed entity XG-PON TC performance monitoring history data
Andrea Campanella10426e22021-10-15 17:58:04 +020030const XgPonTcPerformanceMonitoringHistoryDataClassID = ClassID(344) // 0x0158
Matteo Scandolof9d43412021-01-12 11:11:34 -080031
32var xgpontcperformancemonitoringhistorydataBME *ManagedEntityDefinition
33
Andrea Campanella10426e22021-10-15 17:58:04 +020034// XgPonTcPerformanceMonitoringHistoryData (Class ID: #344 / 0x0158)
Matteo Scandolof9d43412021-01-12 11:11:34 -080035// This ME collects PM data associated with the XG-PON 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
Andrea Campanella10426e22021-10-15 17:58:04 +020044// This attribute uniquely identifies each instance of this ME. Through an identical ID, this ME is
45// implicitly linked to an instance of the ANI-G. (R, set-by-create) (mandatory) (2-bytes)
Matteo Scandolof9d43412021-01-12 11:11:34 -080046//
47// Interval End Time
Andrea Campanella10426e22021-10-15 17:58:04 +020048// This attribute identifies the most recently finished 15-min interval. (R) (mandatory) (1-byte)
Matteo Scandolof9d43412021-01-12 11:11:34 -080049//
50// Threshold Data 1_2 Id
51// Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 ME that
52// contains PM threshold values. (R,-W, set-by-create) (mandatory) (2-bytes)
53//
54// Psbd Hec Error Count
Andrea Campanella10426e22021-10-15 17:58:04 +020055// This attribute counts HEC errors in any of the fields of the downstream physical sync block. (R)
Matteo Scandolof9d43412021-01-12 11:11:34 -080056// (optional) (4-bytes)
57//
Andrea Campanella10426e22021-10-15 17:58:04 +020058// Xgtc Hec Error Count
59// This attribute counts HEC errors detected in the XGTC header. In [ITU-T G.9807.1], this
60// attribute is used for framing sublayer (FS) HEC error count management. (R) (optional) (4-bytes)
61//
Matteo Scandolof9d43412021-01-12 11:11:34 -080062// Unknown Profile Count
Andrea Campanella10426e22021-10-15 17:58:04 +020063// This attribute counts the number of grants received whose specified profile was not known to the
64// ONU. (R) (optional) (4-bytes)
Matteo Scandolof9d43412021-01-12 11:11:34 -080065//
66// Transmitted Xg_Pon Encapsulation Method Xgem Frames
67// Transmitted XG-PON encapsulation method (XGEM) frames: This attribute counts the number of non-
68// idle XGEM frames transmitted. If a service data unit (SDU) is fragmented, each fragment is an
69// XGEM frame and is counted as such. (R) (mandatory) (4 bytes)
70//
71// Fragment Xgem Frames
Andrea Campanella10426e22021-10-15 17:58:04 +020072// This attribute counts the number of XGEM frames that represent fragmented SDUs, as indicated by
73// the LF bit-= 0. (R) (optional) (4-bytes)
Matteo Scandolof9d43412021-01-12 11:11:34 -080074//
75// Xgem Hec Lost Words Count
Andrea Campanella10426e22021-10-15 17:58:04 +020076// This attribute counts the number of 4-byte words lost because of an XGEM frame HEC error. In
77// general, all XGTC payload following the error is lost, until the next PSBd event. (R) (optional)
78// (4 bytes)
Matteo Scandolof9d43412021-01-12 11:11:34 -080079//
80// Xgem Key Errors
Andrea Campanella10426e22021-10-15 17:58:04 +020081// This attribute counts the number of downstream XGEM frames received with an invalid key
82// specification. The key may be invalid for several reasons, among which are:
83//
84// a) GEM port provisioned for clear text and key index not equal to 00;
85//
86// b) no multicast key of the specified key index has been provided via the OMCI for a multicast
87// GEM port;
88//
89// c) no unicast key of the specified key index has been successfully negotiated (see clause 15.5
90// of [ITU-T G.987.3] or clause C.15.5 of [ITU-T G.9807.1] for key negotiation state machine);
91//
92// d) GEM port specified to be encrypted and key index-= 00;
93//
94// e) key index-= 11, a reserved value.
95//
Matteo Scandolof9d43412021-01-12 11:11:34 -080096// (R) (mandatory) (4 bytes)
97//
98// Xgem Hec Error Count
Andrea Campanella10426e22021-10-15 17:58:04 +020099// This attribute counts the number of instances of an XGEM frame HEC error. (R) (mandatory) (4
100// bytes)
Matteo Scandolof9d43412021-01-12 11:11:34 -0800101//
102// Transmitted Bytes In Non_Idle Xgem Frames
103// Transmitted bytes in non-idle XGEM frames: This attribute counts the number of transmitted bytes
104// in non-idle XGEM frames. (R) (mandatory) (8 bytes)
105//
106// Received Bytes In Non_Idle Xgem Frames
107// Received bytes in non-idle XGEM frames: This attribute counts the number of received bytes in
108// non-idle XGEM frames. (R) (optional) (8 bytes)
109//
110// Loss Of Downstream Synchronization Lods Event Count
111// Loss of downstream synchronization (LODS) event count: This attribute counts the number of state
112// transitions from O5.1 to O6. (R) (optional) (4-bytes)
113//
114// Lods Event Restored Count
Andrea Campanella10426e22021-10-15 17:58:04 +0200115// This attribute counts the number of LODS cleared events. (R) (optional) (4-bytes)
Matteo Scandolof9d43412021-01-12 11:11:34 -0800116//
117// Onu Reactivation By Lods Events
Andrea Campanella10426e22021-10-15 17:58:04 +0200118// This attribute counts the number of LODS events resulting in ONU reactivation without
119// synchronization being reacquired. (R) (optional) (4-bytes)
Matteo Scandolof9d43412021-01-12 11:11:34 -0800120//
121type XgPonTcPerformanceMonitoringHistoryData struct {
122 ManagedEntityDefinition
123 Attributes AttributeValueMap
124}
125
Elia Battiston9bfe1102022-02-03 10:38:03 +0100126// Attribute name constants
127
128const XgPonTcPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
129const XgPonTcPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
130const XgPonTcPerformanceMonitoringHistoryData_PsbdHecErrorCount = "PsbdHecErrorCount"
131const XgPonTcPerformanceMonitoringHistoryData_XgtcHecErrorCount = "XgtcHecErrorCount"
132const XgPonTcPerformanceMonitoringHistoryData_UnknownProfileCount = "UnknownProfileCount"
133const XgPonTcPerformanceMonitoringHistoryData_TransmittedXgPonEncapsulationMethodXgemFrames = "TransmittedXgPonEncapsulationMethodXgemFrames"
134const XgPonTcPerformanceMonitoringHistoryData_FragmentXgemFrames = "FragmentXgemFrames"
135const XgPonTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount = "XgemHecLostWordsCount"
136const XgPonTcPerformanceMonitoringHistoryData_XgemKeyErrors = "XgemKeyErrors"
137const XgPonTcPerformanceMonitoringHistoryData_XgemHecErrorCount = "XgemHecErrorCount"
138const XgPonTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames = "TransmittedBytesInNonIdleXgemFrames"
139const XgPonTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames = "ReceivedBytesInNonIdleXgemFrames"
140const XgPonTcPerformanceMonitoringHistoryData_LossOfDownstreamSynchronizationLodsEventCount = "LossOfDownstreamSynchronizationLodsEventCount"
141const XgPonTcPerformanceMonitoringHistoryData_LodsEventRestoredCount = "LodsEventRestoredCount"
142const XgPonTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents = "OnuReactivationByLodsEvents"
143
Matteo Scandolof9d43412021-01-12 11:11:34 -0800144func init() {
145 xgpontcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
146 Name: "XgPonTcPerformanceMonitoringHistoryData",
Elia Battiston9bfe1102022-02-03 10:38:03 +0100147 ClassID: XgPonTcPerformanceMonitoringHistoryDataClassID,
Matteo Scandolof9d43412021-01-12 11:11:34 -0800148 MessageTypes: mapset.NewSetWith(
149 Create,
150 Delete,
151 Get,
152 Set,
Girish Gowdrae2683102021-03-05 08:24:26 -0800153 GetCurrentData,
Matteo Scandolof9d43412021-01-12 11:11:34 -0800154 ),
155 AllowedAttributeMask: 0xfffe,
156 AttributeDefinitions: AttributeDefinitionMap{
Elia Battiston9bfe1102022-02-03 10:38:03 +0100157 0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
158 1: ByteField(XgPonTcPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
159 2: Uint16Field(XgPonTcPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
160 3: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_PsbdHecErrorCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
161 4: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgtcHecErrorCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
162 5: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_UnknownProfileCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
163 6: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_TransmittedXgPonEncapsulationMethodXgemFrames, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
164 7: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_FragmentXgemFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
165 8: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
166 9: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgemKeyErrors, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
167 10: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgemHecErrorCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
168 11: Uint64Field(XgPonTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
169 12: Uint64Field(XgPonTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
170 13: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_LossOfDownstreamSynchronizationLodsEventCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
171 14: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_LodsEventRestoredCount, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
172 15: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
Matteo Scandolof9d43412021-01-12 11:11:34 -0800173 },
174 Access: CreatedByOlt,
175 Support: UnknownSupport,
176 Alarms: AlarmMap{
177 1: "PSBd HEC error count",
178 2: "XGTC HEC error count",
179 3: "Unknown profile count",
180 4: "XGEM HEC loss count",
181 5: "XGEM key errors",
182 6: "XGEM HEC error count",
183 },
184 }
185}
186
187// NewXgPonTcPerformanceMonitoringHistoryData (class ID 344) creates the basic
188// Managed Entity definition that is used to validate an ME of this type that
189// is received from or transmitted to the OMCC.
190func NewXgPonTcPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
191 return NewManagedEntity(*xgpontcperformancemonitoringhistorydataBME, params...)
192}