blob: 599eb9387f9b0e1ad129388bf6bca9b898ff9eb6 [file] [log] [blame]
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07001/*
2 * Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net)
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
8 * Unless required by applicable law or agreed to in writing, software
9 * distributed under the License is distributed on an "AS IS" BASIS,
10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 * See the License for the specific language governing permissions and
12 * limitations under the License.
13 */
14/*
15 * NOTE: This file was generated, manual edits will be overwritten!
16 *
17 * Generated by 'goCodeGenerator.py':
18 * https://github.com/cboling/OMCI-parser/README.md
19 */
20package generated
21
22import "github.com/deckarep/golang-set"
23
24const PseudowirePerformanceMonitoringHistoryDataClassId ClassID = ClassID(285)
25
26var pseudowireperformancemonitoringhistorydataBME *ManagedEntityDefinition
27
28// PseudowirePerformanceMonitoringHistoryData (class ID #285)
29// This ME collects PM for a pseudowire TP. Most of the attributes monitor packets received from
30// the PSN, and may therefore be considered egress PM. For the most part, ingress PM is collected
31// at the CES PPTP ME.
32//
33// NOTE – The pseudowire PM history data ME collects data similar, but not identical, to that
34// available from the MAC bridge port PM history data ME associated with a MAC bridge. When the
35// pseudowire is bridge-based, it may not be necessary to collect both.
36//
37// Instances of this ME are created and deleted by the OLT.
38//
39// For a complete discussion of generic PM architecture, refer to clause I.4.
40//
41// Relationships
42// An instance of this ME is associated with an instance of the pseudowire TP.
43//
44// Attributes
45// Managed Entity Id
46// Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
47// identical ID, this ME is implicitly linked to an instance of the pseudowire TP. (R, setbycreate)
48// (mandatory) (2 bytes)
49//
50// Interval End Time
51// Interval end time: This attribute identifies the most recently finished 15 min interval. (R)
52// (mandatory) (1 byte)
53//
54// Threshold Data 1_2 Id
55// Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
56// that contains PM threshold values. (R, W, setbycreate) (mandatory) (2 bytes)
57//
58// Received Packets
59// Received packets: This attribute counts the total number of packets, both payload and
60// signalling, received in the PSN to the TDM direction. (R) (mandatory) (4 bytes)
61//
62// Transmitted Packets
63// Transmitted packets: This attribute counts the total number of packets, both payload and
64// signalling, transmitted in the TDM to the PSN direction. The count includes packets whose L bit
65// is set and which may therefore not contain a payload. (R) (mandatory) (4 bytes)
66//
67// Missing Packets
68// Missing packets: This attribute counts the number of lost packets, as indicated by gaps in the
69// control word numbering sequence. Both payload and signalling packets, if any, contribute to this
70// count. (R) (mandatory) (4 bytes)
71//
72// Misordered Packets, Usable
73// Misordered packets, usable: This attribute counts the number of packets received out of order,
74// but which were able to be successfully re-ordered and played out. Both payload and signalling
75// packets, if any, contribute to this count. (R) (mandatory) (4 bytes)
76//
77// Misordered Packets Dropped
78// Misordered packets dropped: This attribute counts the number of packets received out of sequence
79// that were discarded, either because the ONU did not support reordering or because it was too
80// late to reorder them. Both payload and signalling packets, if any, contribute to this count. (R)
81// (mandatory) (4 bytes)
82//
83// Playout Buffer Underruns_Overruns
84// Playout buffer underruns/overruns: This attribute counts the number of packets that were
85// discarded because they arrived too late or too early to be played out. Both payload and
86// signalling packets, if any, contribute to this count. (R) (mandatory) (4 bytes)
87//
88// Malformed Packets
89// Malformed packets: This attribute counts the number of malformed packets, e.g., because the
90// packet length was not as expected or because of an unexpected RTP payload type. Both payload and
91// signalling packets, if any, contribute to this count. (R) (mandatory) (4 bytes)
92//
93// Stray Packets
94// Stray packets: This attribute counts the number of packets whose ECID or RTP SSRC failed to
95// match the expected value, or which are otherwise known to have been misdelivered. Stray packets
96// are discarded without affecting any of the other PM counters. Both payload and signalling
97// packets, if any, contribute to this count. (R) (mandatory) (4 bytes)
98//
99// Remote Packet Loss
100// Remote packet loss: This attribute counts received packets whose R bit is set, indicating the
101// loss of packets at the far end. Both payload and signalling packets, if any, contribute to this
102// count. (R) (mandatory) (4 bytes)
103//
104// Tdm L_Bit Packets Transmitted
105// TDM L-bit packets transmitted: This attribute counts the number of packets transmitted with the
106// L bit set, indicating a near-end TDM fault. Both payload and signalling packets, if any,
107// contribute to this count. (R) (mandatory) (4 bytes)
108//
109// Es
110// ES: This attribute counts errored seconds. Any discarded, lost, malformed or unusable packet
111// received from the PSN during a given second causes this counter to increment. Both payload and
112// signalling packets, if any, contribute to this count. (R) (mandatory) (4 bytes)
113//
114// Ses
115// SES: This attribute counts severely errored seconds. The criterion for an SES may be configured
116// through the pseudowire maintenance profile ME. Both payload and signalling packets, if any,
117// contribute to this count. (R) (mandatory) (4 bytes)
118//
119// Uas
120// UAS: This attribute counts unavailable seconds. An unavailable second begins at the onset of 10
121// consecutive SES and ends at the onset of 10 consecutive seconds that are not severely errored. A
122// service is unavailable if either its payload or its signalling, if any, are unavailable. During
123// unavailable time, only UAS should be counted; other anomalies should not be counted. (R)
124// (mandatory) (4 bytes)
125//
126type PseudowirePerformanceMonitoringHistoryData struct {
127 ManagedEntityDefinition
128 Attributes AttributeValueMap
129}
130
131func init() {
132 pseudowireperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
133 Name: "PseudowirePerformanceMonitoringHistoryData",
134 ClassID: 285,
135 MessageTypes: mapset.NewSetWith(
136 Create,
137 Delete,
138 Get,
139 Set,
140 ),
141 AllowedAttributeMask: 0XFFFE,
142 AttributeDefinitions: AttributeDefinitionMap{
143 0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
144 1: ByteField("IntervalEndTime", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
145 2: Uint16Field("ThresholdData12Id", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
146 3: Uint32Field("ReceivedPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
147 4: Uint32Field("TransmittedPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
148 5: Uint32Field("MissingPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 5),
149 6: Uint32Field("MisorderedPackets,Usable", 0, mapset.NewSetWith(Read), false, false, false, false, 6),
150 7: Uint32Field("MisorderedPacketsDropped", 0, mapset.NewSetWith(Read), false, false, false, false, 7),
151 8: Uint32Field("PlayoutBufferUnderrunsOverruns", 0, mapset.NewSetWith(Read), false, false, false, false, 8),
152 9: Uint32Field("MalformedPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 9),
153 10: Uint32Field("StrayPackets", 0, mapset.NewSetWith(Read), false, false, false, false, 10),
154 11: Uint32Field("RemotePacketLoss", 0, mapset.NewSetWith(Read), false, false, false, false, 11),
155 12: Uint32Field("TdmLBitPacketsTransmitted", 0, mapset.NewSetWith(Read), false, false, false, false, 12),
156 13: Uint32Field("Es", 0, mapset.NewSetWith(Read), false, false, false, false, 13),
157 14: Uint32Field("Ses", 0, mapset.NewSetWith(Read), false, false, false, false, 14),
158 15: Uint32Field("Uas", 0, mapset.NewSetWith(Read), false, false, false, false, 15),
159 },
160 }
161}
162
163// NewPseudowirePerformanceMonitoringHistoryData (class ID 285 creates the basic
164// Managed Entity definition that is used to validate an ME of this type that
165// is received from the wire, about to be sent on the wire.
166func NewPseudowirePerformanceMonitoringHistoryData(params ...ParamData) (*ManagedEntity, OmciErrors) {
167 return NewManagedEntity(pseudowireperformancemonitoringhistorydataBME, params...)
168}