blob: 4c7a0f983e923e810a572e754c9258582f3e05fc [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// 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
126func init() {
127 xgpontcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
128 Name: "XgPonTcPerformanceMonitoringHistoryData",
129 ClassID: 344,
130 MessageTypes: mapset.NewSetWith(
131 Create,
132 Delete,
133 Get,
134 Set,
Girish Gowdrae2683102021-03-05 08:24:26 -0800135 GetCurrentData,
Matteo Scandolof9d43412021-01-12 11:11:34 -0800136 ),
137 AllowedAttributeMask: 0xfffe,
138 AttributeDefinitions: AttributeDefinitionMap{
139 0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
140 1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
141 2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
142 3: Uint32Field("PsbdHecErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
143 4: Uint32Field("XgtcHecErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
144 5: Uint32Field("UnknownProfileCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
145 6: Uint32Field("TransmittedXgPonEncapsulationMethodXgemFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
146 7: Uint32Field("FragmentXgemFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
147 8: Uint32Field("XgemHecLostWordsCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
148 9: Uint32Field("XgemKeyErrors", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
149 10: Uint32Field("XgemHecErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
150 11: Uint64Field("TransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
151 12: Uint64Field("ReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
152 13: Uint32Field("LossOfDownstreamSynchronizationLodsEventCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
153 14: Uint32Field("LodsEventRestoredCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
154 15: Uint32Field("OnuReactivationByLodsEvents", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
155 },
156 Access: CreatedByOlt,
157 Support: UnknownSupport,
158 Alarms: AlarmMap{
159 1: "PSBd HEC error count",
160 2: "XGTC HEC error count",
161 3: "Unknown profile count",
162 4: "XGEM HEC loss count",
163 5: "XGEM key errors",
164 6: "XGEM HEC error count",
165 },
166 }
167}
168
169// NewXgPonTcPerformanceMonitoringHistoryData (class ID 344) creates the basic
170// Managed Entity definition that is used to validate an ME of this type that
171// is received from or transmitted to the OMCC.
172func NewXgPonTcPerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
173 return NewManagedEntity(*xgpontcperformancemonitoringhistorydataBME, params...)
174}